version: "3.8" services: conda-store-worker: image: quansight/conda-store-server:latest volumes: - ./docker/assets/environments:/opt/environments:ro - ./docker/assets/conda_store_config.py:/opt/conda_store/conda_store_config.py:ro depends_on: conda-store-server: condition: service_healthy platform: linux/amd64 command: [ "conda-store-worker", "--config", "/opt/conda_store/conda_store_config.py" ] conda-store-server: image: quansight/conda-store-server:latest depends_on: postgres: condition: service_healthy redis: condition: service_healthy volumes: - ./docker/assets/conda_store_config.py:/opt/conda_store/conda_store_config.py:ro healthcheck: test: ["CMD", "curl", "--fail", "http://localhost:5000/conda-store/api/v1/"] interval: 10s timeout: 5s retries: 5 platform: linux/amd64 command: [ "conda-store-server", "--config", "/opt/conda_store/conda_store_config.py" ] ports: - "5000:5000" minio: image: minio/minio:RELEASE.2020-11-10T21-02-24Z ports: - "9000:9000" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 10s timeout: 5s retries: 5 entrypoint: sh command: -c 'mkdir -p /data/conda-store && /usr/bin/minio server /data' environment: MINIO_ACCESS_KEY: admin MINIO_SECRET_KEY: password postgres: image: postgres:13 user: postgres ports: - 5432:5432 healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 environment: POSTGRES_PASSWORD: password POSTGRES_DB: conda-store redis: image: bitnami/redis healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 environment: REDIS_PASSWORD: password conda-store-ui: build: . command: "yarn run start --port 80 --history-api-fallback" ports: - "80:80" depends_on: conda-store-server: condition: service_healthy platform: linux/amd64 volumes: - .:/usr/src/app healthcheck: test: ["CMD", "curl", "--fail", "http://localhost"] interval: 20s timeout: 10s retries: 8