seafile docker部署
- 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/