version: '3.3' services: redis: image: redis container_name: "konova-redis-cache" volumes: - /redis/data:/bitnami/redis/data environment: - REDIS_PASSWORD=CHANGE_ME konova: external_links: - postgis:db build: . container_name: "konova-docker" command: gunicorn konova.wsgi:application --bind 0.0.0.0:8000 volumes: - .:/konova - static_file_volume:/konova/static # Point to the volume for static files. Shared with nginx service expose: - 8000 depends_on: - redis environment: - POSTGRES_NAME=konova - POSTGRES_PORT=5432 - POSTGRES_PASSWORD=CHANGE_ME - POSTGRES_USER=konova - POSTGRES_HOST=db - REDIS_HOST=redis # To provide a celery worker instance, we need to add the celery worker as an own service celery_worker: external_links: - postgis:db build: . container_name: "konova-worker-docker" command: celery -A konova worker -l INFO volumes: - .:/konova depends_on: - konova environment: - POSTGRES_NAME=konova - POSTGRES_PORT=5432 - POSTGRES_PASSWORD=CHANGE_ME - POSTGRES_USER=konova - POSTGRES_HOST=db - REDIS_HOST=redis nginx: build: ./nginx container_name: "konova-nginx-server" ports: - "1337:80" depends_on: - konova volumes: - static_file_volume:/konova/static # Point to the volume for static files. Shared with konova service # Instead of an own, new network, we need to connect to the existing one, which is provided by the postgis container # NOTE: THIS NETWORK MUST EXIST networks: default: external: name: postgis_nat_it_backend volumes: static_file_volume: