官网原文1:Docker部署Seafile专业版
官网原文2:将 OnlyOffice 加入到 docker-compose.yml
以下都是基于http的,最终用群晖的反代功能转https
version: '2.0'
services:
db:
image: mariadb:10.5
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=sl2w71201 # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
volumes:
- /volume2/docker/seafile/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
memcached:
image: memcached:1.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
elasticsearch:
image: elasticsearch:7.16.2
container_name: seafile-elasticsearch
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
这个简单的文档旨在给出到各种参考文档的链接。建议在开始安装部署前,先阅读我们的 《Seafile 技术白皮书》。
以下方案均可满足 2000 用户使用。超过 2000 用户,请参考集群部署文档。
单台服务器,硬盘做 Raid,内存最少 2GB,建议 4GB,4 核以上 CPU。或者使用虚拟化平台,分配一个独立的虚拟机。
可直接安装 Ubuntu 16.04 或者 CentOS 7 操作系统,并在上面安装 Seafile 服务。
数据可靠性方面,如果使用虚拟化平台,可以备份整个虚拟机;如果使用硬件服务器,可以另外使用一台服务器来做数据备份。
应用服务器,内存最少 2GB,建议 4GB,4 核以上 CPU。NAS 服务器根据您的存储需求来选择。
安装方式同上。
备份方面可以使用 NAS 自带的快照或者备份机制。
应用服务器 内存最少 2GB,建议 4GB,2 核以上 CPU。文件存储在 OSS 中。 OSS 是一个可靠的、三备份的、可无限扩容的存储。最大的好处是免去了硬件维护和备份的管理开销。
直接在 Ubuntu 16.04 或者 CentOS 7 64 位系统上用安装脚本安装
安装文档见 http://manual-cn.seafile.com/deploy_pro/index.html
如果上述地址无法访问,请访问 https://github.com/haiwen/seafile-docs-cn/blob/master/deploy_pro/README.md
安装好之后,把 seafile-license.txt 文件放入 Seafile 安装目录(比如 /opt/seafile)下面,重启服务即可生效。
对于中大型公司来说,使用 AD 来管理账号和组织架构是最标准
好多人下单后要问一句,“有安装教程吗?”
好吧你们赢了!!!
写个教程。
cat /etc/redhat-release
yum install wget -y
yum install which -y
yum install jre -y
wget https://n74.top:1607/404/get-pip.py #可以从我的网站下载 or 从网上找也可以
python get-pip.py #运行上步下载的 get-pip.py
yum -y install epel-release
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy #这一步很难产啊,重复N次才全完成了
略
tar -zxvf seafile-pro-server_6.3.5_x86-64-1000.tar.gz
cd seafile-pro-server-6.3.5
./setup-seafile-mysql.sh # mysql的安装我就略过了
TIME_ZONE = 'Asia/Shanghai'
yum install poppler-utils -y
先来说说为什么我想用onlyoffice来预览吧,因为seafile预览京东发票PDF时,只有表格和盖章,其它全是空白,现在我用onlyoffice却可以正常了,哈哈开心
感谢zyu318给出的解决方法,见https://bbs.seafile.com/t/topic/11289
vi seahub/seahub/utils/init.py
- 1、找到上图位置
- 2、注释掉PDF行,或修改PDF后缀
- 3、在DOCUMENT行最后添加PDF后缀
version: '2.0'
services:
db:
image: mariadb:10.1
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=sl2w71201 # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
volumes:
- /opt/seafile-mysql:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
memcached:
image: memcached:1.5.6
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
elasticsearch:
image: seafileltd/elasticsearch-with-ik:5.6.16
container_name: seafile-elasticsearch
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
ulimits:
memlock:
soft: -1
hard: -1
mem_limit: 2g
volumes:
- /opt/seafile-elasticsearch:/usr/share/elasticsearch/data # Requested, specifies the p
CSRF_TRUSTED_ORIGINS = ['域名:端口']
...
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_read_timeout 310s;
proxy_set_header Host $host;
...
改为
...
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_read_timeout 310s;
proxy_set_header Host $host:18443;
...
docker exec -i seafile nginx -s reload
vi /opt/seafile/seafile-server-latest/seahub/thirdpart/django/middleware/csrf.py
#转到220行
if request.method not in ('GET', 'HEAD', 'OPTIONS', 'TRACE'):
#改为
if request.method not in ('GET', 'POST', 'HEAD', 'OPTIONS', 'TRACE'):
vi /opt/seafile/seafile-server-latest/seahub/seahub/settings.py
#转到118行,注释掉这行
'django.middleware.csrf.CsrfViewMiddleware',
改为
#'django.middleware.csrf.CsrfViewMiddleware',
sed -i "220cif request.method not in ('GET', 'POST', 'HEAD', 'OPTIONS', 'TRACE'):" /opt/seafil
vi ./seahub/seahub/utils/licenseparse.py
#修改下面这句中的“3”
max_users = int(license_dict.get('MaxUsers', 3))
经测试7.0.X可以用但是每隔1小时就崩。
yum install wget -y
yum install which -y
yum install jre -y
python get-pip.py
# on CentOS 7
yum -y install epel-release
yum -y install python-imaging MySQL-python python-memcached python-ldap python-urllib3 ffmpeg ffmpeg-devel
pip install pillow moviepy
rm -rf ./seafile-server-latest
把这个软键删除
rm -rf /opt/seafile/seahub-data/avatars
mkdir /opt/seafile/seahub-data/avatars
使用163企业邮箱
EMAIL_USE_TLS = False
EMAIL_HOST = 'smtp.ym.163.com'
EMAIL_HOST_USER = 'admin@13ua.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = '25'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
启用onlyoffice
#Enable Only Office
ENABLE_ONLYOFFICE = True
VERIFY_ONLYOFFICE_CERTIFICATE = True
ONLYOFFICE_APIJS_URL = 'https://13ua.com:8888/web-apps/apps/api/documents/api.js'
ONLYOFFICE_FILE_EXTENSION = ('do
docker pull collabora/code
docker run -t -p 9980:9980 -e "domain=<your-dot-escaped-domain>" --restart always --cap-add MKNOD collabora/code
注意:domain参数是你的Seafile Server的域名,假如你的Seafile Server的域名是 demo.seafile.com,那这个命令应该:
docker run -t -p 9980:9980 -e "domain=demo\.seafile\.com" --restart always --cap-add MKNOD collabora/code
没有废话,就直接记录一下安装吧!虽然安装完了也没什么用,呵呵。
下载pro包备用:https://download.seafile.com/d/6e5297246c/?p=%2Fpro
docker (略)
seafile:
docker pull xama/docker-seafile-pro
docker run -d \
--name=seafile \
--network=host \
-v <path/dir>:/seafile \
xama/docker-seafile-pro
docker pull onlyoffice/documentserver
docker run -i -t -d \
--name=onlyoffice \
-p 8888:80 \
onlyoffice/documentserver
验证onlyoffice是否成功: http{s}://{your Seafile Server's domain or IP}:{port}/welcome
容器外的 MariaDB 10 (略)
docker exec -if seafile /bin/bash
cd /seafile
tar -zxf seafile-pro-server_6.3.7_x86-64.tar.gz
cd /seafile-pro-server_6.3.7
./setup-seafile-mysql.sh
一路按提示安装(略),其中要用到连接容器外的数据库,就是前面提到的MariaDB 10,地址:127.0.0.1,端口:3307 用户root的密码:xxxxx(按实际情况填写吧!)
慢慢等到数据库安装完成吧。。。。。等。。。待。
运行seafile启动脚本,并按提示填写管理员帐号信息。
./seafile.sh start
或
./seafile.sh resta