version: '3' services: traefik: command: - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.nopaque.address=:5000" image: traefik:2.0 ports: - 5000:5000 - 9090:8080 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro web: ports: - "5000" labels: - "traefik.enable=true" - "traefik.http.routers.nopaque.entrypoints=nopaque" - "traefik.http.routers.nopaque.rule=Host(`nopaque.localhost`)" # Use sticky sessions for load balancing # Socket.IO is not compatible with cookie sticky sessions which are the # only available option in traefik - "traefik.http.services.web-opaque.loadbalancer.sticky=true" - "traefik.http.services.web-opaque.loadbalancer.sticky.cookie.httpOnly=true" depends_on: - db - redis env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque:development volumes: - /mnt/nopaque:/mnt/nopaque - ./app:/home/nopaque/app - ./logs:/home/nopaque/logs - ./migrations:/home/nopaque/migrations - ./tests:/home/nopaque/tests - ./config.py:/home/nopaque/config.py - ./docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh - ./nopaque.py:/home/nopaque/nopaque.py - ./requirements.txt:/home/nopaque/requirements.txt daemon: depends_on: - db env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque_daemon:latest volumes: - /mnt/nopaque:/mnt/nopaque - ./logs:/home/nopaqued/logs - ../opaque_daemon/docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh - ../opaque_daemon/nopaqued.py:/home/nopaqued/nopaqued.py - ../opaque_daemon/merge_corpus_files.py:/home/nopaqued/merge_corpus_files.py - ../opaque_daemon/requirements.txt:/home/nopaqued/requirements.txt - $HOME/.docker:/home/nopaqued/.docker db: env_file: db.env image: postgres:11 volumes: - /srv/nopaque/database:/var/lib/postgresql/data redis: image: redis:5