seafile-containerized/compose/docker-compose-swarm.yml

90 lines
2.1 KiB
YAML
Raw Normal View History

2021-01-23 18:49:37 +00:00
version: '3.8'
services:
seafile-server:
image: ggogel/seafile-server:8.0.2
volumes:
- seafile-data:/shared
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev
- TIME_ZONE=Europe/Berlin
- SEAFILE_ADMIN_EMAIL=me@example.com
- SEAFILE_ADMIN_PASSWORD=asecret
- HTTPS=false # Set this to true if you plan to use a reverse proxy with HTTPS. Can be changed later in the admin settings on the web-ui.
- SEAFILE_SERVER_HOSTNAME=seafile.mydomain.com # Mandatory on first deployment!
depends_on:
- db
- memcached
networks:
- seafile-net
seahub:
image: ggogel/seahub:8.0.2
volumes:
- seafile-data:/shared
- seahub-avatars:/shared/seafile/seahub-data/avatars
- seahub-custom:/shared/seafile/seahub-data/custom
depends_on:
- seafile
networks:
- seafile-net
deploy:
replicas: 1
seahub-media:
image: ggogel/seahub-media
volumes:
- seahub-avatars:/usr/share/caddy/media/avatars
- seahub-custom:/usr/share/caddy/media/custom
networks:
- seafile-net
deploy:
replicas: 1
db:
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=db_dev
- MYSQL_LOG_CONSOLE=true
volumes:
- seafile-mariadb:/var/lib/mysql
networks:
- seafile-net
memcached:
image: memcached:latest
entrypoint: memcached -m 1024
networks:
- seafile-net
seafile-caddy:
image: ggogel/seafile-caddy:swarm
networks:
- seafile-net
- caddy
deploy:
endpoint_mode: dnsrr # this enables caddy to see all IPs of service's replicas
labels:
caddy: http://seafile.gogel.me
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
seafile-net:
internal: true
caddy:
external: true
volumes:
seafile-data:
driver: glusterfs
name: "seafile-data"
seafile-mariadb:
driver: glusterfs
name: "seafile-mariadb"
seahub-avatars:
driver: glusterfs
name: "seafile-data/seafile/seahub-data/avatars"
seahub-custom:
driver: glusterfs
name: "seafile-data/seafile/seahub-data/custom"