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: