services: server: build: context: .. dockerfile: solitaire_server/Dockerfile image: ferrous-solitaire-server:latest restart: unless-stopped ports: - "${SERVER_PORT:-8080}:8080" volumes: # SQLite database persisted outside the container. - db-data:/app/data environment: DATABASE_URL: sqlite:///app/data/sol.db JWT_SECRET: ${JWT_SECRET} SERVER_PORT: 8080 healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:8080/health"] interval: 30s timeout: 5s retries: 3 start_period: 10s volumes: db-data: