使用docker搭建个人网盘(seafile)

基础环境:Centos7.2,Docker,JrCs/docker-letsencrypt-nginx-proxy-companion。

1.安装镜像

docker run -it --rm \
    --name=seafile-setup \
    -v /var/seafile:/seafile \
    xama/docker-seafile-pro setup

2.运行容器

docker run -d \ 
-e VIRTUAL_HOST=drive.xxx.com \
-e LETSENCRYPT_HOST=drive.xxx.com \
-e LETSENCRYPT_EMAIL=xxx@gmail.com \
--name=seafile --expose=8000 --expose=8082  \
-v /var/seafile:/seafile \ 
xama/docker-seafile-pro

3.修改seafile配置文件

修改 /var/seafile/conf/ccnet.conf

SERVICE_URL = https://drive.xxx.com

修改 seahub_settings.py (增加一行,这是一个 python 文件,注意引号,注意结尾的seafhttp,缺少该部分将无法在https下上传和下载文件

FILE_SERVER_ROOT = 'https://pan.imdst.com/seafhttp'

重启seafile容器使配置生效

4.修改nginx反代配置

由于是非常规web服务器,反代容器生成的默认配置有误,需要手动修改

upstream drive.uliuli.fun {
                                ## Can be connected with "bridge" network
                # seafile
       server 172.17.0.4:8000; //此项默认为down,根据容器ip修改后即可正常访问
}
server {
        server_name drive.xxx.com;
        listen 80 ;
        access_log /var/log/nginx/access.log vhost;
        return 301 https://$host$request_uri;
}
server {
        server_name drive.uliuli.fun;
        listen 443 ssl http2 ;
···
···
 location / {
                proxy_pass http://drive.uliuli.fun;
        }
 location /seafhttp { //此项配置成功后即可正常上传和下载
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://172.17.0.4:8082; //注意修改对应ip
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
     }
}

参考:Seafile For Centos
Seafile镜像

汤一碗博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论