version: '2.0' services: db: image: mariadb:10.5 container_name: seafile-mysql restart: always environment: - MYSQL_ROOT_PASSWORD={{ db_root_passwd }} # Requested, set the root's password of MySQL service. - MYSQL_LOG_CONSOLE=true volumes: - {{ data_dir }}/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store. networks: - default memcached: image: memcached:1.6 container_name: seafile-memcached restart: always entrypoint: memcached -m 256 networks: - default seafile: image: seafileltd/seafile-mc:9.0.10 container_name: seafile restart: always volumes: - {{ data_dir }}/data:/shared # Requested, specifies the path to Seafile data persistent store. environment: - DB_HOST=db - DB_ROOT_PASSWD={{ db_root_passwd }} # Requested, the value shuold be root's password of MySQL service. - TIME_ZONE=Europe/Amsterdam - SEAFILE_ADMIN_EMAIL={{ seafile_admin_email }} # Specifies Seafile admin user, default is 'me@example.com'. - SEAFILE_ADMIN_PASSWORD={{ seafile_admin_password }} # Specifies Seafile admin password. - SEAFILE_SERVER_LETSENCRYPT=false # Whether to use https or not. - SEAFILE_SERVER_HOSTNAME={{ seafile_domain }} # Specifies your host name if https is enabled. labels: - traefik.enable=true - traefik.http.routers.seafile.entrypoints=websecure - traefik.http.routers.seafile.rule=Host(`files.geokunis2.nl`) - traefik.http.routers.seafile.tls=true - traefik.http.routers.seafile.tls.certresolver=letsencrypt - traefik.http.services.seafile.loadbalancer.server.port=80 - traefik.http.routers.seafile.service=seafile - traefik.docker.network=traefik depends_on: - db - memcached networks: - default - traefik networks: traefik: external: true