seafile-containerized/compose/docker-compose-swarm.yml
2022-02-22 08:46:40 +00:00

96 lines
2.2 KiB
YAML

version: '3.8'
services:
seafile-server:
image: ggogel/seafile-server:9.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!
networks:
- seafile-net
deploy:
endpoint_mode: dnsrr
seahub:
image: ggogel/seahub:9.0.2
volumes:
- seafile-data:/shared
- seahub-avatars:/shared/seafile/seahub-data/avatars
- seahub-custom:/shared/seafile/seahub-data/custom
environment:
- SEAFILE_ADMIN_EMAIL=me@example.com
- SEAFILE_ADMIN_PASSWORD=asecret
networks:
- seafile-net
deploy:
mode: replicated
replicas: 4
endpoint_mode: dnsrr
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:
mode: replicated
replicas: 2
endpoint_mode: dnsrr
db:
image: mariadb:10.7.1
environment:
- MYSQL_ROOT_PASSWORD=db_dev
- MYSQL_LOG_CONSOLE=true
volumes:
- seafile-mariadb:/var/lib/mysql
networks:
- seafile-net
memcached:
image: memcached:1.6.14
entrypoint: memcached -m 1024
networks:
- seafile-net
seafile-caddy:
image: ggogel/seafile-caddy:1.0.6
environment:
- SWARM_DNS=true
networks:
- seafile-net
- caddy
deploy:
labels:
caddy: http://seafile.gogel.me
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
seafile-net:
driver: overlay
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"