Files
Docker/seafile/docker-compose.yaml
2025-01-28 23:37:27 +01:00

68 lines
1.8 KiB
YAML

services:
db:
image: mariadb:latest
container_name: seafile-database
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- "${MYSQL_DATA_VOLUME:-/opt/seafile-mysql/db}:/var/lib/mysql"
networks:
- seafile-net
healthcheck:
test:
[
"CMD",
"/usr/local/bin/healthcheck.sh",
"--connect",
"--mariadbupgrade",
"--innodb_initialized",
]
interval: 20s
start_period: 30s
timeout: 5s
retries: 10
restart: unless-stopped
memcached:
image: memcached
container_name: seafile-memcached
entrypoint: memcached -m 256
restart: unless-stopped
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:12.0-latest
container_name: seafile
ports:
- "80:80"
volumes:
- ${SEAFILE_DATA_VOLUME:-/opt/seafile-data}:/shared
environment:
- DB_HOST=db
- DB_PORT=3306
- DB_USER=seafile
- DB_ROOT_PASSWD=${MYSQL_ROOT_PASSWORD}
- DB_PASSWORD=${SEAFILE_DB_PASSWORD}
- TIME_ZONE=${TIME_ZONE:-Etc/UTC}
- INIT_SEAFILE_ADMIN_EMAIL=${INIT_SEAFILE_ADMIN_EMAIL}
- INIT_SEAFILE_ADMIN_PASSWORD=${INIT_SEAFILE_ADMIN_PASSWORD}
- SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY}
- SEAFILE_LOG_TO_STDOUT=true
- SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL}
depends_on:
db:
condition: service_healthy
memcached:
condition: service_started
restart: unless-stopped
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net