mirror of
https://github.com/tiennm99/composes.git
synced 2026-10-11 03:13:16 +00:00
94 lines
2.9 KiB
YAML
94 lines
2.9 KiB
YAML
services:
|
|
seafile:
|
|
image: seafileltd/seafile-mc:13.0-latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME:?required}
|
|
- SEAFILE_SERVER_PROTOCOL=https
|
|
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?required}
|
|
- INIT_SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL:?required}
|
|
- INIT_SEAFILE_ADMIN_PASSWORD=${INIT_SEAFILE_ADMIN_PASSWORD:?required}
|
|
- SEAFILE_MYSQL_DB_HOST=db
|
|
- SEAFILE_MYSQL_DB_PORT=3306
|
|
- SEAFILE_MYSQL_DB_USER=seafile
|
|
- SEAFILE_MYSQL_DB_PASSWORD=${DB_PASSWORD:?required}
|
|
- INIT_SEAFILE_MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:?required}
|
|
- SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
|
|
- SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
|
|
- SEAFILE_MYSQL_DB_SEAHUB_DB_NAME=seahub_db
|
|
- CACHE_PROVIDER=redis
|
|
- REDIS_HOST=cache
|
|
- REDIS_PORT=6379
|
|
- ENABLE_NOTIFICATION_SERVER=true
|
|
- INNER_NOTIFICATION_SERVER_URL=http://notification:8083
|
|
- NOTIFICATION_SERVER_URL=https://${SEAFILE_SERVER_HOSTNAME:?required}/notification
|
|
- ENABLE_SEADOC=false
|
|
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
|
|
- SEAFILE_LOG_TO_STDOUT=true
|
|
volumes:
|
|
- seafile-data:/shared
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
cache:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -f http://localhost:80 || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 2m
|
|
|
|
# Notification server: pushes library changes to web and desktop clients over WebSocket.
|
|
notification:
|
|
image: seafileltd/notification-server:13.0-latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?required}
|
|
- SEAFILE_MYSQL_DB_HOST=db
|
|
- SEAFILE_MYSQL_DB_PORT=3306
|
|
- SEAFILE_MYSQL_DB_USER=seafile
|
|
- SEAFILE_MYSQL_DB_PASSWORD=${DB_PASSWORD:?required}
|
|
- SEAFILE_MYSQL_DB_CCNET_DB_NAME=ccnet_db
|
|
- SEAFILE_MYSQL_DB_SEAFILE_DB_NAME=seafile_db
|
|
- SEAFILE_LOG_TO_STDOUT=true
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
seafile:
|
|
condition: service_healthy
|
|
|
|
# MariaDB for the ccnet, seafile and seahub databases.
|
|
db:
|
|
image: mariadb:10.11
|
|
restart: unless-stopped
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD:?required}
|
|
- MYSQL_LOG_CONSOLE=true
|
|
- MARIADB_AUTO_UPGRADE=1
|
|
volumes:
|
|
- db-data:/var/lib/mysql
|
|
healthcheck:
|
|
test: ["CMD", "healthcheck.sh", "--connect", "--mariadbupgrade", "--innodb_initialized"]
|
|
interval: 20s
|
|
start_period: 30s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
# Redis for the Seahub cache.
|
|
cache:
|
|
image: redis:8
|
|
restart: unless-stopped
|
|
volumes:
|
|
- cache-data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
seafile-data:
|
|
db-data:
|
|
cache-data:
|