From 7d4a8549bb5f1d357864b18c4a85e735f8d92364 Mon Sep 17 00:00:00 2001 From: Yax Date: Sat, 30 Aug 2025 17:45:41 +0200 Subject: [PATCH] Upgrade to Seafile 12 (without Caddy) --- 07-seafile/docker-compose.seafile.yml | 61 ++++++++++++++++++++------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/07-seafile/docker-compose.seafile.yml b/07-seafile/docker-compose.seafile.yml index 1ec0e3c..2a0760b 100644 --- a/07-seafile/docker-compose.seafile.yml +++ b/07-seafile/docker-compose.seafile.yml @@ -1,36 +1,57 @@ services: db: - container_name: seafile-db - image: mariadb:10.11 + image: ${SEAFILE_DB_IMAGE:-mariadb:10.11} + container_name: seafile-mysql environment: - - MYSQL_LOG_CONSOLE=true - MYSQL_ROOT_PASSWORD=${SEAFILE_DB_ROOT_PASSWORD} + - MYSQL_LOG_CONSOLE=true - MARIADB_AUTO_UPGRADE=1 volumes: - - seafile_db:/var/lib/mysql + - seafile_db:/var/lib/mysql + healthcheck: + test: + [ + "CMD", + "/usr/local/bin/healthcheck.sh", + "--connect", + "--mariadbupgrade", + "--innodb_initialized", + ] + interval: 20s + start_period: 30s + timeout: 5s + retries: 10 memcached: + image: memcached:1.6.29 container_name: seafile-memcached entrypoint: memcached -m 256 - image: memcached:1.6.18 seafile: + image: seafileltd/seafile-mc:12.0-latest container_name: seafile - image: seafileltd/seafile-mc:11.0-latest - depends_on: - - db - - memcached + ports: + - "8017:80" environment: - DB_HOST=db + - DB_PORT=3306 + - DB_USER=${SEAFILE_DB_USER} - DB_ROOT_PASSWD=${SEAFILE_DB_ROOT_PASSWORD} - - SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL} - - SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD} - - SEAFILE_SERVER_HOSTNAME=${HOST_SEAFILE}.${DOMAIN} - - SEAFILE_SERVER_LETSENCRYPT=false - - FORCE_HTTPS_IN_CONF=true + - DB_PASSWORD=${SEAFILE_DB_PASSWORD} + - SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db + - SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db + - SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db - TIME_ZONE=${TZ} - ports: - - "8017:80" + - INIT_SEAFILE_ADMIN_EMAIL=${SEAFILE_ADMIN_EMAIL} + - INIT_SEAFILE_ADMIN_PASSWORD=${SEAFILE_ADMIN_PASSWORD} + - SEAFILE_SERVER_HOSTNAME=${HOST_SEAFILE}.${DOMAIN} + - SEAFILE_SERVER_PROTOCOL=https + - SITE_ROOT=${SITE_ROOT:-/} + - NON_ROOT=${NON_ROOT:-false} + - JWT_PRIVATE_KEY=${SEAFILE_JWT_PRIVATE_KEY} + - SEAFILE_LOG_TO_STDOUT=${SEAFILE_LOG_TO_STDOUT:-false} + - ENABLE_SEADOC=${ENABLE_SEADOC:-true} + - SEADOC_SERVER_URL=https://${HOST_SEAFILE}.${DOMAIN}/sdoc-server volumes: - seafile_data:/shared:rw - type: bind @@ -41,6 +62,14 @@ services: privileged: true cap_add: - SYS_ADMIN + labels: + caddy: https://${HOST_SEAFILE}.${DOMAIN} + caddy.reverse_proxy: "{{upstreams 80}}" + depends_on: + db: + condition: service_healthy + memcached: + condition: service_started volumes: seafile_db: