# # Please consult the `Deployment` section in the readme if you want to deploy # this. You *need* to keep this nginx service, even if you have your own, # otherwise the static files will not be served correctly! If you do remove # it, configure yours similarly to what's in config/nginx.conf # Also take a look at the "Static files" section in the .env file services: web: image: wger/server:latest depends_on: db: condition: service_healthy cache: condition: service_healthy env_file: - ./config/prod.env volumes: - static:/home/wger/static expose: - 8000 healthcheck: test: wget --no-verbose --tries=1 --spider http://localhost:2003 interval: 10s timeout: 5s start_period: 300s retries: 5 restart: unless-stopped nginx: image: nginx:stable depends_on: - web volumes: - ./config/nginx.conf:/etc/nginx/conf.d/default.conf - static:/wger/static:ro - media:/wger/media:ro ports: - "80:80" healthcheck: test: service nginx status interval: 10s timeout: 5s retries: 5 start_period: 30s restart: unless-stopped db: image: postgres:15-alpine environment: - POSTGRES_USER=wger - POSTGRES_PASSWORD=wger - POSTGRES_DB=wger # volumes: # - postgres-data:/var/lib/postgresql/data/ expose: - 5432 healthcheck: test: pg_isready -U wger interval: 10s timeout: 5s retries: 5 start_period: 30s restart: unless-stopped cache: image: redis expose: - 6379 volumes: - redis-data:/data healthcheck: test: redis-cli ping interval: 10s timeout: 5s retries: 5 start_period: 30s restart: unless-stopped celery_worker: image: wger/server:latest command: /start-worker env_file: - ./config/prod.env volumes: - media:/home/wger/media depends_on: web: condition: service_healthy healthcheck: test: celery -A wger inspect ping interval: 10s timeout: 5s retries: 5 start_period: 30s celery_beat: image: wger/server:latest command: /start-beat volumes: - celery-beat:/home/wger/beat/ env_file: - ./config/prod.env depends_on: celery_worker: condition: service_healthy volumes: postgres-data: celery-beat: static: media: redis-data: networks: default: name: wger_network