Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Selfhosted board game statistics tracker.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗BoardGameTracker is a self-hosted application designed for board game enthusiasts who want to:
BoardGameGeek (BGG) integration works with a personal BGG API key: request one at boardgamegeek.com/applications and paste it under Settings → Integrations (or set BGG_API_KEY). It unlocks single-game import, collection import and expansion lookup.
⚠️ Note: This project is under active development. Breaking changes may occur between releases.
Note: the documentation follows the
betaimage. Until the next stable release after v0.2.181,latestlacks some of the features described here; useuping/boardgametracker:betato get them.
docker-compose.yml (older versions, such as some NAS container managers, reject its optional .env block; use the compose file on the Docker docs page instead)vector extension (the compose file runs pgvector/pgvector:pg16; plain postgres:16 does not work)wget https://raw.githubusercontent.com/mregni/BoardGameTracker/refs/heads/master/docker-compose.yml
wget -O .env https://raw.githubusercontent.com/mregni/BoardGameTracker/refs/heads/master/.env.example
Fill in .env:
DB_PASSWORD: a password for the databaseJWT_SECRET and DATA_PROTECTION_KEY: each its own random value of at least 32 characters, from openssl rand -base64 48. The application does not start while JWT_SECRET is empty or still starts with CHANGEME. Keep DATA_PROTECTION_KEY safe: losing or changing it means entering the stored secrets (OIDC client secret, API keys) againTZ: your timezoneStart the containers:
docker compose up -d
To also run the rules assistant, set RAG_ENABLED=true in .env and start the stack with the rag profile: docker compose --profile rag up -d.
http://localhost:5444 and sign in as admin, with the ADMIN_PASSWORD you set or admin when it is empty. Change the password after the first login.The documentation covers the full compose file, docker run, upgrading and reverse proxies.
With an existing PostgreSQL server that has the vector extension installed. Fill in JWT_SECRET and DATA_PROTECTION_KEY with the output of openssl rand -base64 48, each its own value:
docker run -d \
--name boardgametracker \
--restart unless-stopped \
-e DB_HOST=<your-postgres-host> \
-e DB_USER=dbuser \
-e DB_PASSWORD=CHANGEME \
-e DB_NAME=boardgametracker \
-e DB_PORT=5432 \
-e JWT_SECRET= \
-e DATA_PROTECTION_KEY= \
-e TZ=UTC \
-p 5444:5444 \
-v ./images:/app/images \
-v ./logs:/app/logs \
-v ./manuals:/app/manuals \
uping/boardgametracker:latest
| Variable | Default | Required | Description |
|---|---|---|---|
DB_HOST | - | ✅ | PostgreSQL hostname |
DB_PORT | 5432 | ❌ | PostgreSQL port |
DB_USER | - | ✅ | PostgreSQL username |
DB_PASSWORD | - | ✅ | PostgreSQL password |
DB_NAME | boardgametracker | ❌ | PostgreSQL database name |
JWT_SECRET | - | ✅ | Signing key for login tokens, at least 32 characters; values starting with CHANGEME are refused. Not needed when AUTH_ENABLED=false |
DATA_PROTECTION_KEY | - | ❌ | Strongly recommended, at least 32 characters. Encrypts the stored data protection keys; a warning is logged while it is missing |
AUTH_ENABLED | true | ❌ | Set to false to run without login (anyone on the network gets full access) |
ADMIN_PASSWORD | - | ❌ | Password (at least 8 characters) of the admin account when no account exists yet; admin when empty |
TZ | UTC | ❌ | Timezone (e.g., America/New_York, Asia/Tokyo) |
STATISTICS_ENABLED | false | ❌ | Send error reports, a sample of performance traces and scrubbed browser session replays to Sentry |
PUID / PGID | 1654 | ❌ | User and group that own the mounted images, logs and manuals folders |
Date format, time format, currency and language are set in the application under Settings. The full list, including email, reverse-proxy and rules-assistant settings, is in the documentation.
git clone https://github.com/mregni/BoardGameTracker.git
cd BoardGameTracker
docker compose -f docker-compose.build.yml up --build
Backend:
dotnet test
The integration tests start a PostgreSQL container, so Docker must be running.
Frontend:
cd boardgametracker.client
pnpm test:run
Contributions are welcome! CONTRIBUTING.md explains the local setup, the checks that run on every pull request and the conventions used in the code base. Security issues go through SECURITY.md.
git checkout -b feature/AmazingFeature)git commit -m 'feat: add some AmazingFeature')git push origin feature/AmazingFeature)If you encounter any issues or have questions: