--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docker-compose.yaml Wed Jul 17 22:46:52 2024 +0200
@@ -0,0 +1,95 @@
+services:
+ server:
+ image: hdalab_server
+ build:
+ context: .
+ dockerfile: docker/server/server.dockerfile
+ environment:
+ DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/hdalab2
+ DJANGO_SECRET: ${DJANGO_SECRET}
+ DEBUG: ${DEBUG}
+ ADMIN_EMAIL: ${ADMIN_EMAIL}
+ BROKER_PASSWORD: ${BROKER_PASSWORD}
+ depends_on:
+ broker:
+ condition: service_started
+ db:
+ condition: service_healthy
+ volumes:
+ - ./data_docker/static:/static
+
+ worker:
+ image: hdalab_server
+ command: celery worker -A hdalab --loglevel=INFO
+ environment:
+ DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/hdalab2
+ DJANGO_SECRET: ${DJANGO_SECRET}
+ DEBUG: False
+ ADMIN_EMAIL: ${ADMIN_EMAIL}
+ BROKER_PASSWORD: ${BROKER_PASSWORD}
+ depends_on:
+ broker:
+ condition: service_started
+ db:
+ condition: service_healthy
+
+ beat:
+ image: hdalab_server
+ command: celery beat -A hdalab --schedule /celery/beat.db --loglevel=INFO
+ environment:
+ DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST:-db}:${POSTGRES_PORT:-5432}/hdalab2
+ DJANGO_SECRET: ${DJANGO_SECRET}
+ DEBUG: ${DEBUG}
+ ADMIN_EMAIL: ${ADMIN_EMAIL}
+ BROKER_PASSWORD: ${BROKER_PASSWORD}
+ volumes:
+ - ./data_docker/celery:/celery
+ depends_on:
+ broker:
+ condition: service_started
+ db:
+ condition: service_healthy
+
+ broker:
+ image: rabbitmq:3-alpine
+ hostname: hdalab_rabbitmq
+ environment:
+ RABBITMQ_DEFAULT_USER: iri
+ RABBITMQ_DEFAULT_PASS: ${BROKER_PASSWORD}
+ RABBITMQ_DEFAULT_VHOST: hdalab
+
+ db:
+ image: postgres
+ restart: always
+ volumes:
+ - ./data_docker/db:/var/lib/postgresql/data
+ environment:
+ POSTGRES_DB: "hdalab2"
+ POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
+ POSTGRES_USER: "${POSTGRES_USER}"
+ POSTGRES_HOST_AUTH_METHOD: "md5"
+ POSTGRES_INITDB_ARGS: "--auth-local=md5"
+ healthcheck:
+ test: [ "CMD", "pg_isready", "-U", "${POSTGRES_USER}"]
+ interval: 10s
+ timeout: 5s
+ retries: 5
+
+ es:
+ image: launcher.gcr.io/google/elasticsearch2
+ restart: always
+ volumes:
+ - ./data_docker/es:/usr/share/elasticsearch/data
+
+ caddy:
+ build:
+ context: docker/web
+ dockerfile: web.dockerfile
+ volumes:
+ - ./data_docker/static:/static
+ ports:
+ - "80:80"
+ - "443:443"
+
+ cache:
+ image: docker.io/memcached:alpine