Skip to content
Snippets Groups Projects
docker-compose.yml 2.27 KiB
version: '3'

services:
  db:
    image: postgres:12
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    environment:
      - POSTGRES_USER=aleksis
      - POSTGRES_DB=aleksis
  memcached:
    image: memcached:latest
  app:
    build: .
    image: registry.edugit.org/aleksis/official/aleksis:${ALEKSIS_IMAGE_TAG:-latest}
    volumes:
      - aleksis_data:/var/lib/aleksis/
      - aleksis_static:/usr/share/aleksis/static/
    environment:
      - ALEKSIS_http__allowed_hosts="['*']"
      - ALEKSIS_caching__memcached__address=memcached:11211
      - ALEKSIS_caching__memcached__enabled=true
      - ALEKSIS_database__host=db
      - ALEKSIS_maintenance__debug=${ALEKSIS_maintenance__debug:-false}
      - ALEKSIS_backup__location=/var/lib/aleksis/backups
    depends_on:
      - db
      - memcached
  worker:
    build: .
    image: registry.edugit.org/aleksis/official/aleksis:${ALEKSIS_IMAGE_TAG:-latest}
    volumes:
      - aleksis_data:/var/lib/aleksis/
      - aleksis_static:/usr/share/aleksis/static/
    command: celery_worker
    environment:
      - ALEKSIS_http__allowed_hosts="['*']"
      - ALEKSIS_caching__memcached__address=memcached:11211
      - ALEKSIS_caching__memcached__enabled=true
      - ALEKSIS_database__host=db
      - ALEKSIS_maintenance__debug=${ALEKSIS_maintenance__debug:-false}
      - ALEKSIS_backup__location=/var/lib/aleksis/backups
    depends_on:
      - app
  scheduler:
    build: .
    image: registry.edugit.org/aleksis/official/aleksis:${ALEKSIS_IMAGE_TAG:-latest}
    volumes:
      - aleksis_data:/var/lib/aleksis/
      - aleksis_static:/usr/share/aleksis/static/
    command: celery_beat
    environment:
      - ALEKSIS_http__allowed_hosts="['*']"
      - ALEKSIS_caching__memcached__address=memcached:11211
      - ALEKSIS_caching__memcached__enabled=true
      - ALEKSIS_database__host=db
      - ALEKSIS_maintenance__debug=${ALEKSIS_maintenance__debug:-false}
    depends_on:
      - worker
  web:
    build: ./docker/nginx
    image: registry.edugit.org/aleksis/official/aleksis/nginx:${ALEKSIS_IMAGE_TAG:-latest}
    volumes:
      - aleksis_data:/var/lib/aleksis/
      - aleksis_static:/usr/share/aleksis/static/:ro
    ports:
      - ${NGINX_HTTP_PORT:-8080}:80
    depends_on:
      - app