diff --git a/templates/compose/seafile.yaml b/templates/compose/seafile.yaml index 131618d5e..654769ad1 100644 --- a/templates/compose/seafile.yaml +++ b/templates/compose/seafile.yaml @@ -5,30 +5,57 @@ # port: 80 services: - seafile-db: - image: mariadb:10.11 - environment: - - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_64_MYSQLDBROOT} - - MYSQL_LOG_CONSOLE=true - - MARIADB_AUTO_UPGRADE=1 + seafile: + image: seafileltd/seafile-mc:12.0-latest volumes: - - seafile-mysql-db:/var/lib/mysql" + - seafile-data:/shared + environment: + - SERVICE_FQDN_SEAFILE_80 + - SEAFILE_SERVER_HOSTNAME=${SERVICE_URL_SEAFILE_80} + - DB_HOST=mariadb + - DB_PORT=3306 + - DB_ROOT_PASSWD=${SERVICE_PASSWORD_MYSQLROOT} + - DB_USER=${SERVICE_USER_MYSQL} + - DB_PASSWORD=${SERVICE_PASSWORD_MYSQL} + - SEAFILE_MYSQL_DB_CCNET_DB_NAME=${SEAFILE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db} + - SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=${SEAFILE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db} + - SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=${SEAFILE_MYSQL_DB_SEAHUB_DB_NAME:-seahub_db} + - TIME_ZONE=${TIME_ZONE:-UTC} + - INIT_SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL:-test@example.com} + - INIT_SEAFILE_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN} + - SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL:-http} + - SITE_ROOT=${SITE_ROOT:-/} + - NON_ROOT=${NON_ROOT:-false} + - JWT_PRIVATE_KEY=${SERVICE_PASSWORD_64_JWT} + - SEAFILE_LOG_TO_STDOUT=${SEAFILE_LOG_TO_STDOUT:-true} + depends_on: + mariadb: + condition: service_healthy + memcached: + condition: service_started healthcheck: - test: - [ - "CMD", - "/usr/local/bin/healthcheck.sh", - "--connect", - "--mariadbupgrade", - "--innodb_initialized", - ] + test: ["CMD", "curl", "-f", "http://127.0.0.1:80/api2/ping"] interval: 20s - start_period: 30s timeout: 5s retries: 10 + mariadb: + image: mariadb:11 + volumes: + - seafile_mariadb_data:/var/lib/mysql + environment: + - MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MYSQLROOT} + - MYSQL_USER=${SERVICE_USER_MYSQL} + - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL} + - MYSQL_DATABASE=${MYSQL_DATABASE:-seafile-db} + healthcheck: + test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] + interval: 5s + timeout: 20s + retries: 10 + memcached: - image: memcached:1.6.29 + image: memcached:latest entrypoint: memcached -m 256 healthcheck: test: @@ -39,37 +66,3 @@ services: interval: 20s timeout: 5s retries: 10 - - seafile: - image: seafileltd/seafile-mc:12.0-latest - volumes: - - seafile-data:/shared - environment: - - SERVICE_FQDN_SEAFILE_80 - - DB_HOST=${SEAFILE_MYSQL_DB_HOST:-seafile-db} - - DB_PORT=${SEAFILE_MYSQL_DB_PORT:-3306} - - DB_ROOT_PASSWD=${SERVICE_PASSWORD_64_MYSQLDBROOT} - - DB_USER=${SEAFILE_MYSQL_DB_USER:-seafile} - - DB_PASSWORD=${SERVICE_PASSWORD_64_MYSQLDBUSER} - - SEAFILE_MYSQL_DB_CCNET_DB_NAME=${SEAFILE_MYSQL_DB_CCNET_DB_NAME:-ccnet_db} - - SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=${SEAFILE_MYSQL_DB_SEAFILE_DB_NAME:-seafile_db} - - SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=${SEAFILE_MYSQL_DB_SEAHUB_DB_NAME:-seahub_db} - - TIME_ZONE=${TIME_ZONE:-Etc/UTC} - - INIT_SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL:-me@example.com} - - INIT_SEAFILE_ADMIN_PASSWORD=${SERVICE_PASSWORD_ADMIN} - - SEAFILE_SERVER_HOSTNAME=${SERVICE_URL_SEAFILE_80} - - SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL:-https} - - SITE_ROOT=${SITE_ROOT:-/} - - NON_ROOT=${NON_ROOT:-false} - - JWT_PRIVATE_KEY=${SERVICE_PASSWORD_64_JWT} - - SEAFILE_LOG_TO_STDOUT=${SEAFILE_LOG_TO_STDOUT:-true} - depends_on: - seafile-db: - condition: service_healthy - memcached: - condition: service_started - healthcheck: - test: ["CMD", "curl", "-f", "http://127.0.0.1:80/api2/ping"] - interval: 20s - timeout: 5s - retries: 10