Merge branch 'master' into f-docker-config
[wolnelektury.git] / docker-compose.yml
index fcc4d35..b01e970 100644 (file)
@@ -1,20 +1,67 @@
+x-app-base: &app-base
+  build:
+    context: .
+    target: dev
+    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
+
+  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:
+    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: