services: web: build: . restart: always links: - db - redis # - mcaptcha # - meilisearch depends_on: db: condition: service_healthy redis: condition: service_healthy ports: - "3000:3000" networks: - internal_network - external_network # env_file: # - .config/docker.env volumes: - ./files:/cherrypick/files - ./.config:/cherrypick/.config:ro redis: restart: always image: redis:7-alpine networks: - internal_network volumes: - ./redis:/data healthcheck: test: "redis-cli ping" interval: 5s retries: 20 db: restart: always image: postgres:15-alpine networks: - internal_network env_file: - .config/docker.env volumes: - ./db:/var/lib/postgresql/data healthcheck: test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB" interval: 5s retries: 20 # mcaptcha: # restart: always # image: mcaptcha/mcaptcha:latest # networks: # internal_network: # external_network: # aliases: # - localhost # ports: # - 7493:7493 # env_file: # - .config/docker.env # environment: # PORT: 7493 # MCAPTCHA_redis_URL: "redis://mcaptcha_redis/" # depends_on: # db: # condition: service_healthy # mcaptcha_redis: # condition: service_healthy # # mcaptcha_redis: # image: mcaptcha/cache:latest # networks: # - internal_network # healthcheck: # test: "redis-cli ping" # interval: 5s # retries: 20 # meilisearch: # restart: always # image: getmeili/meilisearch:v1.3.4 # environment: # - MEILI_NO_ANALYTICS=true # - MEILI_ENV=production # env_file: # - .config/meilisearch.env # networks: # - internal_network # volumes: # - ./meili_data:/meili_data networks: internal_network: internal: true external_network: