services: redlight: image: git.scrunkly.cat/michelle/redlight:latest restart: unless-stopped ports: - "3001:3001" env_file: ".env" volumes: - ./uploads:/app/uploads - ./keys:/app/keys depends_on: postgres: condition: service_healthy dragonfly: condition: service_healthy networks: - frontend - backend postgres: image: postgres:17-alpine restart: unless-stopped env_file: ".env" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U redlight"] interval: 5s timeout: 5s retries: 5 networks: - backend dragonfly: image: ghcr.io/dragonflydb/dragonfly:latest restart: unless-stopped ulimits: memlock: -1 volumes: - dragonflydata:/data healthcheck: test: ["CMD", "redis-cli", "-p", "6379", "ping"] interval: 5s timeout: 5s retries: 5 networks: - backend # Use valkey, if your system is too old for DragonflyDB # valkey: # image: valkey/valkey:9 # restart: unless-stopped # ulimits: # memlock: -1 # volumes: # - valkeydata:/data # healthcheck: # test: ["CMD", "redis-cli", "-p", "6379", "ping"] # interval: 5s # timeout: 5s # retries: 5 # networks: # - backend volumes: pgdata: dragonflydata: #valkeydata: networks: frontend: driver: bridge backend: driver: bridge internal: true