services: redis: image: valkey/valkey:8-alpine container_name: aoc-redis restart: always ports: - "6379:6379" volumes: - redis_data:/data mongo: image: mongo:7 container_name: aoc-mongo restart: always ports: - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME} MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD} volumes: - mongo_data:/data/db backend: build: ./backend # For production, use the pre-built image instead: # image: git.cqre.net/cqrenet/aoc-backend:v1.2.5 container_name: aoc-backend restart: always env_file: - .env environment: MONGO_URI: mongodb://${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD}@mongo:${MONGO_PORT}/ REDIS_URL: redis://redis:6379/0 depends_on: - mongo - redis ports: - "8000:8000" worker: build: ./backend container_name: aoc-worker restart: always env_file: - .env environment: MONGO_URI: mongodb://${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD}@mongo:${MONGO_PORT}/ REDIS_URL: redis://redis:6379/0 command: ["arq", "jobs.WorkerSettings"] depends_on: - redis - mongo volumes: mongo_data: redis_data: