docker、docker-compose环境
网上搜索
下载Seafile镜像
pro版本使用的私有镜像仓库
获取Seafile docker仓库的用户名和密码
打开网址:https://customer.seafile.com/downloads/,按照提示注册后,会显示登录信息,注意不要复制到最后面的点,如下图

登录seafile的仓库,根据提示输入用户名和密码
docker login docker.seadrive.org
docker-compose.yml
version: '3'
services:
seafile:
image: docker.seadrive.org/seafileltd/seafile-pro:latest
container_name: seafile
ports:
- 80:80
volumes:
- /data/seafile/seafile-data:/shared # seafile 文件持久化路径。修改冒号前面的
environment:
- SEAFILE_SERVER_LETSENCRYPT=false #true自动生成ssl证书,测试有问题、false:不生成证书,可以使用自己的证书
- SEAFILE_SERVER_HOSTNAME=seafile.admin.cn # 配置域名信息
- DB_HOST=seafile-db
- DB_ROOT_PASSWD=db_dev # 必须与上面的mysql 密码一致
- SEAFILE_ADMIN_EMAIL=admin@126.com # seafile admin的邮箱账户
- SEAFILE_ADMIN_PASSWORD=admin # seafile admin的用户名密码
depends_on:
- seafile-db
- seafile-memcached
networks:
- seafile-net
seafile-db:
image: mariadb:10.1
container_name: seafile-db
environment:
- MYSQL_ROOT_PASSWORD=db_dev # mysql root的密码,同时修改 seafile的DB_ROOT_PASSWD与这个一致
- MYSQL_LOG_CONSOLE=true
volumes:
- /data/seafile/seafile-mysql/db:/var/lib/mysql # mysql 数据持久化挂载路径。修改冒号前面的。
networks:
- seafile-net
seafile-memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile-onlyoffice:
image: onlyoffice/documentserver
container_name: seafile-onlyoffice
ports:
- 2001:80
networks:
seafile-net:
登录seafile
http://seafile.admin.cn # 更换成自己的域名地址
注意事项
查看错误日志
docker logs -f seafile
重置管理员
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
出现的问题
1、自动生成证书导致服务一直起不来
解决办法: - SEAFILE_SERVER_LETSENCRYPT=false
[2020-07-03 07:04:58] Starting letsencrypt verification
Already up to date.
Parsing account key...
Parsing CSR...
Found domains: seafile.dxhmt.cn
Getting directory...
Directory found!
Registering account...
Already registered!
Creating new order...
Order created!
Verifying seafile.dxhmt.cn...
Traceback (most recent call last):
File "/shared/ssl/letsencrypt/acme_tiny.py", line 198, in <module>
main(sys.argv[1:])
File "/shared/ssl/letsencrypt/acme_tiny.py", line 194, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url, contact=args.contact)
File "/shared/ssl/letsencrypt/acme_tiny.py", line 143, in get_crt
raise ValueError("Wrote file to {0}, but couldn't download {1}: {2}".format(wellknown_path, wellknown_url, e))
ValueError: Wrote file to /var/www/challenges/IEOh4CBar4nLCb6MX8j8_9OGcsISQPJaRsGI0eGpg78, but couldn't download http://seafile.dxhmt.cn/.well-known/acme-challenge/IEOh4CBar4nLCb6MX8j8_9OGcsISQPJaRsGI0eGpg78: Error:
Url: http://seafile.dxhmt.cn/.well-known/acme-challenge/IEOh4CBar4nLCb6MX8j8_9OGcsISQPJaRsGI0eGpg78
Data: None
Response Code: None
Response: <urlopen error [Errno -2] Name or service not known>
Traceback (most recent call last):
File "/scripts/start.py", line 86, in <module>
main()
File "/scripts/start.py", line 51, in main
init_letsencrypt()
File "/scripts/bootstrap.py", line 67, in init_letsencrypt
call('/scripts/ssl.sh {0} {1}'.format(ssl_dir, domain))
File "/scripts/utils/__init__.py", line 68, in call
return subprocess.check_call(*a, **kw)
File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '/scripts/ssl.sh /shared/ssl seafile.dxhmt.cn' returned non-zero exit status 1
*** /scripts/start.py exited with status 1.
*** Shutting down runit daemon (PID 28)...
*** Running /etc/my_init.post_shutdown.d/10_syslog-ng.shutdown...
Jul 3 07:05:14 8caab6f07438 syslog-ng[18]: syslog-ng shutting down; version='3.13.2'
*** Killing all processes...
网友评论