Files
Tracearr/docker/docker-compose.yml
Rephl3x 3015f48118
Some checks failed
CI / Lint & Typecheck (push) Has been cancelled
CI / Test (routes) (push) Has been cancelled
CI / Test (security) (push) Has been cancelled
CI / Test (services) (push) Has been cancelled
CI / Test (unit) (push) Has been cancelled
CI / Test (integration) (push) Has been cancelled
CI / Test Coverage (push) Has been cancelled
CI / Build (push) Has been cancelled
Initial Upload
2025-12-17 12:32:50 +13:00

72 lines
1.8 KiB
YAML

services:
tracearr:
build:
context: ..
dockerfile: docker/Dockerfile
image: ghcr.io/connorgallopo/tracearr:latest
ports:
- "${PORT:-3000}:3000"
environment:
- NODE_ENV=production
- PORT=3000
- HOST=0.0.0.0
- TZ=${TZ:-America/New_York}
- DATABASE_URL=postgres://tracearr:${DB_PASSWORD:-tracearr}@timescale:5432/tracearr
- REDIS_URL=redis://redis:6379
- JWT_SECRET=${JWT_SECRET:?JWT_SECRET is required}
- COOKIE_SECRET=${COOKIE_SECRET:?COOKIE_SECRET is required}
- CORS_ORIGIN=${CORS_ORIGIN:-*}
- LOG_LEVEL=${LOG_LEVEL:-info}
# Uncomment for TestFlight/beta testing: allows reusable tokens, no expiry, unlimited devices
# - MOBILE_BETA_MODE=true
depends_on:
timescale:
condition: service_healthy
redis:
condition: service_healthy
restart: unless-stopped
networks:
- tracearr-network
timescale:
build:
context: .
dockerfile: Dockerfile.timescale
image: tracearr-timescale:latest
environment:
- POSTGRES_USER=tracearr
- POSTGRES_PASSWORD=${DB_PASSWORD:-tracearr}
- POSTGRES_DB=tracearr
volumes:
- timescale_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U tracearr"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- tracearr-network
redis:
image: redis:7-alpine
command: redis-server --appendonly yes
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- tracearr-network
networks:
tracearr-network:
driver: bridge
volumes:
timescale_data:
redis_data: