- docker-compose.yml
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=12345678 # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
security_opt:
- seccomp:unconfined
volumes:
- /work/seafile/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
restart: always
memcached:
image: memcached:1.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
restart: always
seafile:
image: seafileltd/seafile-mc:latest
container_name: seafile
ports:
- "8000:80"
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /work/seafile/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=12345678 # Requested, the value shuold be root's password of MySQL service.
# - TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=me@example.com # Specifies Seafile admin user, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=seafile.example.com # Specifies your host name.
depends_on:
- db
- memcached
networks:
- seafile-net
restart: always
networks:
seafile-net:
- 启动
docker-compose up -d
- 日志
docker-compose logs -f
- 备份数据库
cd /opt/seafile-backup/databases
docker exec -it seafile-mysql mysqldump -uroot -p12345678 --opt ccnet_db > ccnet_db.sql
docker exec -it seafile-mysql mysqldump -uroot -p12345678 --opt seafile_db > seafile_db.sql
docker exec -it seafile-mysql mysqldump -uroot -p12345678 --opt seahub_db > seahub_db.sql
- 垃圾回收
docker exec seafile /scripts/gc.sh
- Nginx reload
docker exec seafile nginx -s reload
- 恢复数据库:
docker cp ccnet-db-2023-11-01.sql seafile-mysql:/tmp/ccnet_db.sql
docker cp seafile-db-2023-11-01.sql seafile-mysql:/tmp/seafile_db.sql
docker cp seahub-db-2023-11-01.sql seafile-mysql:/tmp/seahub_db.sql
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot -p12345678 ccnet_db < /tmp/ccnet_db.sql"
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot -p12345678 seafile_db < /tmp/seafile_db.sql"
docker exec -it seafile-mysql /bin/sh -c "mysql -uroot -p12345678 seahub_db < /tmp/seahub_db.sql"
- 恢复 seafile 数据:
cp -R /opt/seafile-backup/data/* /opt/seafile-data/seafile/