Skip to content

Docker

Here is a ready-to-use configuration. It sets up both the BoardGameTracker application and a PostgreSQL database.

docker-compose.yml
services:
boardgametracker:
image: uping/boardgametracker:latest
restart: unless-stopped
depends_on:
db:
condition: service_healthy
volumes:
- ./images:/app/images
- ./logs:/app/logs
ports:
- "5444:5444"
environment:
- DB_HOST=db
- DB_USER=dbuser
- DB_PASSWORD=CHANGEME # Change me!!!!
- DB_NAME=boardgametracker
- DB_PORT=5432
- JWT_SECRET=CHANGEME # Change me!!!!
- TZ=UTC
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5444/api/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
db:
image: postgres:16
restart: unless-stopped
volumes:
- ./postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=boardgametracker
- POSTGRES_USER=dbuser
- POSTGRES_PASSWORD=CHANGEME # Change me!!!!
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dbuser -d boardgametracker"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s