version: '3' services: web: depends_on: - db - redis 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 - ./app:/home/opaque/app - ./config.py:/home/opaque/config.py - ./logs:/home/opaque/logs - ./migrations:/home/opaque/migrations - ./opaque.py:/home/opaque/opaque.py daemon: depends_on: - db deploy: placement: constraints: - node.role == manager env_file: - db.env - web.env image: gitlab.ub.uni-bielefeld.de:4567/sfb1288inf/opaque_daemon:latest volumes: - ./logs:/home/opaque_daemon/logs - ../opaque_daemon/opaque_daemon.py:/home/opaque_daemon/opaque_daemon.py - $HOME/.docker/config.json:/home/opaque_daemon/.docker/config.json db: deploy: placement: constraints: - node.role == manager env_file: db.env image: postgres: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