version: '3' services: web: deploy: placement: constraints: - node.role == manager env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque:development ports: - 5000:5000 volumes: - storage:/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: - storage:/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-alpine volumes: - /srv/opaque/database:/var/lib/postgresql/data redis: deploy: placement: constraints: - node.role == manager image: redis:alpine volumes: storage: driver: local driver_opts: device: "//127.0.0.1/opaque_storage" o: "gid=1000,password=opaque,uid=1000,username=opaque" type: cifs