services: redis: image: redis:latest ports: - 6379:6379 volumes: - ttnx-redis-data:/data db: image: postgres:16 ports: - 5432:5432 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD= healthcheck: test: ["CMD", "psql", "-U", "postgres", "-c", "select 1"] interval: 5s timeout: 30s retries: 3 volumes: - ttnx-db-data:/var/lib/postgresql/data web: image: densocreate/timetracker: environment: - TTNX_DB_TYPE=postgresql - TTNX_DB_SERVER=db - TTNX_DB_PORT=5432 - TTNX_DB_USER=postgres - TTNX_DB_PASSWORD= - TTNX_REDIS_GLOBALCACHE=redis:6379 - TTNX_REDIS_HANGFIRE=redis:6379 - TTNX_REDIS_BACKGROUNDJOB=redis:6379 volumes: - ./logs:/usr/local/timetracker/Logs - ./appsettings.json:/usr/local/timetracker/appsettings.json depends_on: redis: condition: service_started db: condition: service_healthy nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - web networks: default: ipam: config: - subnet: 192.168.0.0/16 volumes: ttnx-redis-data: ttnx-db-data: