X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/c6e88b6ffcb8aef6d291b050454f311248184bad..2f63ddbb8cb9d393f99a03ee057291d23c6655de:/docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml index fcc4d35a9..55a09d874 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,20 +1,73 @@ +x-app-base: &app-base + build: + context: . + target: deps + args: + UID: ${UID:-1000} + GID: ${GID:-1000} + env_file: + - .env + environment: + DEBUG: "True" + volumes: + - ./src:/app/src + - ./scripts:/app/scripts + - ./var/media:/app/var/media + - ./var/static:/app/var/static + - ./var/counters/:/app/var/counters + - ${LIBRARIAN:-/nonexistent}:/${LIBRARIAN:+edita}ble/librarian + - ipython:/app/.ipython + depends_on: + - db + - redis + - memcached + entrypoint: /app/scripts/entrypoint.sh + services: - dev: + web: + <<: *app-base + command: ./manage.py runserver 0.0.0.0:8000 + ports: + # Dev: use http://localhost:8000/ directly + - "127.0.0.1:8000:8000" + + celery: + <<: *app-base + command: celery -A wolnelektury worker -l info + + db: build: context: . - target: dev - user: "${UID}:${GID}" - volumes: - - ./src:/app/src - - ./var/media:/app/var/media - - ./var/static:/app/var/static - - ./var/counters/:/app/var/counters - depends_on: - - db - db: - image: postgres - container_name: db + target: postgres env_file: - .env volumes: - - ./var/postgresql-data/:/var/lib/postgresql/data/ + - ./var/postgresql-data/:/var/lib/postgresql/ + + redis: + image: redis:8-alpine + + memcached: + image: memcached:1.6-alpine + + nginx: + # Just for testing production-like environment. + # docker compose --profile nginx up + profiles: ["nginx"] + build: + context: . + target: nginx + args: + UID: ${UID:-1000} + GID: ${GID:-1000} + ports: + - "127.0.0.1:8101:80" + volumes: + - ./var/media:/app/var/media:ro + - ./scripts/nginx.conf:/etc/nginx/conf.d/default.conf:ro + depends_on: + - web + + +volumes: + ipython: