version: '3' services: web: deploy: placement: constraints: - node.role == manager labels: - com.docker.lb.hosts=web.opaque - com.docker.lb.port=8080 - com.docker.lb.sticky_session_cookie=session env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque:development ports: - 5000:5000 volumes: - /mnt/opaque:/mnt/opaque - ./logs:/home/opaque/logs daemon: deploy: placement: constraints: - node.role == manager env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque_daemon:latest volumes: - /mnt/opaque:/mnt/opaque - ./logs:/home/opaque_daemon/logs - $HOME/.docker/config.json:/home/opaque_daemon/.docker/config.json db: deploy: placement: constraints: - node.role == manager env_file: db.env image: postgres:11 volumes: - /srv/opaque/database:/var/lib/postgresql/data redis: deploy: placement: constraints: - node.role == manager image: redis:5