Files
hoerdle/docker-compose.yml
Hördle Bot 4aef034aa6 feat: add Docker Compose configuration for hoerdle service
- Introduce docker-compose.yml to define the hoerdle service
- Configure build arguments, environment variables, and volume mappings
- Set up health checks and restart policy for the service
2025-12-01 15:34:08 +01:00

48 lines
1.6 KiB
YAML

services:
hoerdle:
container_name: hoerdle
build:
context: .
dockerfile: Dockerfile
args:
NEXT_PUBLIC_APP_NAME: ${NEXT_PUBLIC_APP_NAME}
NEXT_PUBLIC_APP_DESCRIPTION: ${NEXT_PUBLIC_APP_DESCRIPTION}
NEXT_PUBLIC_DOMAIN: ${NEXT_PUBLIC_DOMAIN}
NEXT_PUBLIC_TWITTER_HANDLE: ${NEXT_PUBLIC_TWITTER_HANDLE}
NEXT_PUBLIC_PLAUSIBLE_DOMAIN: ${NEXT_PUBLIC_PLAUSIBLE_DOMAIN}
NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC: ${NEXT_PUBLIC_PLAUSIBLE_SCRIPT_SRC}
NEXT_PUBLIC_THEME_COLOR: ${NEXT_PUBLIC_THEME_COLOR}
NEXT_PUBLIC_BACKGROUND_COLOR: ${NEXT_PUBLIC_BACKGROUND_COLOR}
NEXT_PUBLIC_CREDITS_ENABLED: ${NEXT_PUBLIC_CREDITS_ENABLED}
NEXT_PUBLIC_CREDITS_TEXT: ${NEXT_PUBLIC_CREDITS_TEXT}
NEXT_PUBLIC_CREDITS_LINK_TEXT: ${NEXT_PUBLIC_CREDITS_LINK_TEXT}
NEXT_PUBLIC_CREDITS_LINK_URL: ${NEXT_PUBLIC_CREDITS_LINK_URL}
user: root
restart: always
ports:
- "3010:3000"
environment:
- DATABASE_URL=${DATABASE_URL:-file:/app/data/prod.db}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- TZ=${TZ:-Europe/Berlin}
- GOTIFY_URL=${GOTIFY_URL:-}
- GOTIFY_APP_TOKEN=${GOTIFY_APP_TOKEN:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-}
volumes:
- ./data:/app/data
- ./public/uploads:/app/public/uploads
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:3000/api/daily" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- default
# docker-entrypoint.sh handles migrations and server startup (with baseline fallback)
networks:
default:
name: hoerdle_default