konova/docker-compose.yml
mpeltriaux 7075d7074c # Docker Production
* adds further settings to create a production-ready docker configuration
2022-01-10 15:27:19 +01:00

70 lines
1.7 KiB
YAML

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=michel
- 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=michel
- 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: