services: db: image: mariadb:10.11 container_name: seafile-mysql environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} # Required, set the root's password of MySQL service. - MYSQL_LOG_CONSOLE=${MYSQL_LOG_CONSOLE} - MARIADB_AUTO_UPGRADE=${MARIADB_AUTO_UPGRADE} volumes: - /opt/seafile-mysql/db:/var/lib/mysql # Required, specifies the path to MySQL data persistent store. networks: - seafile-net memcached: image: memcached:1.6.18 container_name: seafile-memcached entrypoint: memcached -m ${MEMCACHED_MEMORY} networks: - seafile-net seafile: image: seafileltd/seafile-mc:11.0-latest container_name: seafile volumes: - /opt/seafile-data:/shared # Required, specifies the path to Seafile data persistent store. environment: - DB_HOST=${DB_HOST} - DB_ROOT_PASSWD=${DB_ROOT_PASSWD} # Required, the value should be root's password of MySQL service. - TIME_ZONE=${TIME_ZONE} # Optional, default is UTC. Should be uncomment and set to your local time zone. - 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, default is 'asecret'. - SEAFILE_SERVER_LETSENCRYPT=${SEAFILE_SERVER_LETSENCRYPT} # Whether to use https or not. - SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME} # Specifies your host name if https is enabled. - SEAFILE_SERVER_PROTOCOL=https # Protocol used to access Seafile (http or https) - SERVICE_URL=https://${SEAFILE_SERVER_HOSTNAME} # Full URL to access Seafile - FILE_SERVER_ROOT=https://${SEAFILE_SERVER_HOSTNAME}/seafhttp # URL for file server - FORCE_HTTPS_IN_CONF=true # Force HTTPS in all Seafile configuration files labels: - "traefik.enable=true" - "traefik.http.routers.seafile.rule=Host(`${SEAFILE_SERVER_HOSTNAME}`)" - "traefik.http.routers.seafile.entrypoints=websecure" - "traefik.http.routers.seafile.tls=true" - "traefik.http.routers.seafile.tls.certresolver=letsencrypt" - "traefik.http.routers.seafile.middlewares=seafile-headers" - "traefik.http.services.seafile.loadbalancer.server.port=80" - "traefik.http.middlewares.seafile-headers.headers.customrequestheaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.seafile-headers.headers.customrequestheaders.X-Forwarded-For=" - "traefik.http.middlewares.seafile-headers.headers.customrequestheaders.X-Forwarded-Host=${SEAFILE_SERVER_HOSTNAME}" depends_on: - db - memcached networks: - seafile-net - traefik-net networks: seafile-net: traefik-net: external: true