Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >自建 seafile pro 网盘

自建 seafile pro 网盘

作者头像
鹏程
发布于 2023-07-24 07:52:29
发布于 2023-07-24 07:52:29
1.2K00
代码可运行
举报
文章被收录于专栏:Pengcheng's BlogPengcheng's Blog
运行总次数:0
代码可运行

Seafile 是国产开源的一个自建网盘,作为网盘十分优越,客户端支持多平台,支持团队协作,可以在线编辑Office文件,最重要的是支持自行部署。

Seafile 简介

Seafile 是一个可自建的网盘。社区版开源免费,pro版闭源收费。最初自建网盘的时候考虑过 NextCloud Cloudreve 但最终还是选择了 Seafile。

本文跟官方 Docker 教程不同,官方教程是使用了 seafile 镜像内置的 Nginx 来处理 ssl,很方便,但占用了 443 端口,会导致这个服务器不方便部署别的服务。因此本文在官方教程基础上进行了修改。seafile 容器暴露 8000 端口,映射容器 80 端口,宿主机和容器间不加密通信,用宿主机的 Nginx 反代到 8000 端口并处理https

下载 pro 版

先浏览器打开英文版官方网站,再去 customer center 注册账号并登录。 就可以免费下载pro版

官方教程 Deploy Seafile Pro Edition

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker pull docker.seadrive.org/seafileltd/seafile-pro-mc:latest

启动 docker-compose

docker 和 docker-compose请自行在本博客中搜索相应文章

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#创建数据存储目录,本文存放在 `/opt/seafile` 下,目录可以自己定义;如自己定义了目录请一并修改 `docker-compose.yml` 中的目录
mkdir -p /opt/seafile/data && mkdir -p /opt/seafile/mysql/db && mkdir -p /opt/seafile/elasticsearch/data
cd /opt/seafile
chmod 777 -R elasticsearch/data/ # seafile版本9以上需要
vim docker-compose.yml

填入以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '2.0'
services:
  db:
    image: mariadb:10.5
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=frae439DFREW32  # Requested, set the root's password of MySQL service.
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/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
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 2g
    volumes:
      - /opt/seafile/elasticsearch/data:/usr/share/elasticsearch/data  # Requested, specifies the path to Elasticsearch data persistent store.
    networks:
      - seafile-net
          
  seafile:
    image: docker.seadrive.org/seafileltd/seafile-pro-mc:latest
    container_name: seafile
    ports:
      - "127.0.0.1:8000:80"
      # - "127.0.0.1:4433:443"  # If https is enabled, cancel the comment.
    volumes:
      - /opt/seafile/data:/shared   # Requested, specifies the path to Seafile data persistent store.
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=frae439DFREW32  # Requested, the value should 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=你的邮箱 # Specifies Seafile admin user, default is 'me@example.com'
      - SEAFILE_ADMIN_PASSWORD=Password     # Specifies Seafile admin password, default is 'asecret'
      - SEAFILE_SERVER_LETSENCRYPT=false   # Whether to use https or not
      - SEAFILE_SERVER_HOSTNAME=example.seafile.com # Specifies your host name if https is enabled
    depends_on:
      - db
      - memcached
      - elasticsearch
    networks:
      - seafile-net

networks:
  seafile-net:

配置 Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    listen 80;
    server_name example.com default_server;

    location / {
        rewrite ^ https://$host$request_uri? permanent;
    }
}
server {
    listen 443;
    ssl on;
    ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

    server_name example.com;
    add_header Strict-Transport-Security max-age=15768000;
    client_max_body_size 10m;

    location / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_read_timeout 310s;
        # 重要
        proxy_redirect http:// https://;
        proxy_set_header Host $host;
        proxy_set_header Forwarded "for=$remote_addr;proto=$scheme";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Connection "";
        proxy_http_version 1.1;

        client_max_body_size 0;
        access_log      /var/log/nginx/seafile.access.log;
        error_log       /var/log/nginx/seafile.error.log;
    }
}

重启 Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl reload nginx
systemctl restart nginx

其他设置

Seafile 的配置文件存放在 shared/seafile/conf 目录下,您可以根据Seafile手册 的指导来修改这些配置项。

一旦修改了配置文件,您需要重启服务以使其生效: 推荐这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-compose restart

查找日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-compose logs -f

Seafile 容器中 Seafile 服务本身的日志文件存放在 /shared/logs/seafile 目录下,或者您可以在宿主机上 Seafile 容器的卷目录中找到这些日志,例如:/opt/seafile/data/logs/seafile

同样 Seafile 容器的系统日志存放在 /shared/logs/var-log 目录下,或者宿主机目录 /opt/seafile/data/logs/var-log

增加一个新的管理员

【推荐】网站添加

登录网站,进入 https://你的域名/sys/users/ ,添加用户,然后把用户设置成管理员。

脚本添加

服务器运行脚本增加,确保各容器正常运行,然后执行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh

根据提示输入用户名和密码,您现在有了一个新的管理帐户。

Web 文件断点续传

在Web界面上传大文件时,如果网络不可靠,则可能会中断上传。如果上传可以从上次停止的地方恢复,将会很方便。在 Seafile 专业版 4.4.0及更新版本中,支持断点续传功能。

断点续传的工作原理如下:

  1. 用户在Web界面上传一个大文件,并且在上传过程中连接中断。
  2. 服务器将记住上传停止的位置。 3.当同一个文件被上传到相同资料库中的同一文件夹时,服务器会告诉浏览器从哪里开始上传。

限制:

只支持重新上传;文件更新和文件夹上传无法断点续传。

只支持 Chrome, Firefox, IE 10+ 。

要启用断点续传功能,请添加如下配置到 seahub_settings.py 中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ENABLE_RESUMABLE_FILEUPLOAD = True

在 Seafile 集群中,为了使此功能如期工作,必须执行以下两个特殊配置之一:

  1. seafile-server-latest/seafile-data/httptemp 目录应该通过NFS共享给所有前端 Seafile 服务器。
  2. 负载均衡器配置为始终将来自同一IP地址的请求发送到固定的后端服务器。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年04月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 Docker 搭建 Seafile 私有云流程记录
自之前的那篇静态文章 “Docker 安装 Seafile 私有云记录” 丢失后就一直搁置,这之间因为各种原因在服务器和本地都来回重装了几次,那么今天就简单来聊下这个私有云的搭建流程,也当做个记录了(@一下催更本文的Ying酱/滑稽)
2Broear
2024/03/12
1.4K0
使用 Docker 搭建 Seafile 私有云流程记录
云同步网盘-seafile
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
suveng
2019/09/17
5.6K0
Seafile-开源企业云盘和文档协作平台
这些功能的结合使得Seafile成为一个协作流畅、可控和高效的工具,助力团队在共享文件和协作过程中取得更好的效果。无论是小型团队还是跨部门合作,Seafile都能提供强大的共享协作支持,促进团队的协同工作和创造力。
huolong
2024/03/02
7610
Seafile开源私有云自定义首页Logo图片
一 在启动页面找到logo的地址有两处 /opt/seafile/seafile-server-7.1.5/seahub/frontend/src/assets/seafile-logo.png /opt/seafile/seafile-server-7.1.5/seahub/media/img/seafile-logo.png 二 利用挂载把他们顶掉即可 version: '2.0' services: db: image: mariadb:10.1 container_name:
ydymz
2021/01/05
1.6K0
Ubuntu 搭建 Seafile
本文档用来说明通过预编译好的安装包来安装并运行基于 MySQL/MariaDB 的 Seafile 服务器。(MariaDB 是 MySQL 的分支)
木制robot
2018/10/09
3.6K0
seafile配置全文搜索
可以在 seafevents.conf 中设置 [INDEX FILES] 选项来控制文件搜索的行为。你需要重新启动 seafile 和 seahub 使它们生效。
鹏程
2023/07/24
1K0
docker安装seafile
项目需求 使用seafile搭建一个内网网盘 安装过程 官方给的例子如下: https://docs.seafile.com/d/cb1d3f97106847abbf31/files/?p=/dock
2023/07/04
7190
sentry部署整理 原
sentry是python开发的一个应用,使用python uWSG框架运行,所有安装完sentry要记得在nginx的代理上禁用掉/admin路径,不然uwsg的后台管理入口就泄漏了 具体的安装资料地址为:
domain0
2018/08/01
2.2K0
在Ubuntu 16.04上安装Seafile并配置Nginx
Seafile是一个跨平台的文件托管工具,包含了适用于Linux和Windows的服务器应用程序,以及适用于Android,iOS,Linux,OS X和Windows的GUI客户端。它支持文件版本控制和快照,双重身份验证,WebDAV(Web-based Distributed Authoring and Versioning),并且可以配合Nginx和Apache使用以启用HTTPS。
Techeek
2018/09/06
4.2K0
使用Seafile搭建个人专属私有云盘
Seafile是一款强大优秀的云同步软件,拥有跨平台文件同步、移动端文件访问、挂载盘、文件共享和权限控制、文件锁定、文件版本管理和资料库镜像、在线编辑和协同编辑、审计日志等功能。下面演示一下该软件安装步骤。
兔云小新LM
2021/01/04
11.9K0
使用Seafile搭建个人专属私有云盘
手摸手一小时从0搭建专属个人博客(视频教程)
视频地址: https://www.bilibili.com/video/BV1xz4y1k783/
一行Java
2022/04/07
2750
手摸手一小时从0搭建专属个人博客(视频教程)
Docker快速部署一个属于你自己的博客
对于 solo 这个博客系统,至少需要部署 3 个 docker 容器。 mysql 用来存储、 solo 就是博客系统、nginx 用来做反向代理以及 http 到 https 的跳转。
ppxai
2020/09/23
7520
玩转NAS | VS Code网页版IDE,每个程序猿必备一套!
最近在逛Github的时候发现了一个66.3k star 项目code-server ,感觉实在有点相见恨晚 💝,它是一个在浏览器中运行VSCode的开源项目,让开发者随时随地的进行Coding,乃至于手机、平板上进行远程开发,给开发者带来了极大的便利。
全栈工程师修炼指南
2024/07/06
9350
玩转NAS | VS Code网页版IDE,每个程序猿必备一套!
Minio对象存储
多节点的Minio会根据不同的Access_key及Secret_Key来区分不同租户,每个租户可操作对应Server获取Object。Minio Server间可以通过不同的进程模型、容器或是虚拟机来互相隔离。
仙人技术
2020/04/29
9.1K0
Minio对象存储
Docker获取Let`s Encrypt SSL 证书
为了方便维护、升级,同时也避免破坏本地的开发环境,我这里使用docker方式来运行certbot。整个过程分为两步:首次申请证书和证书更新。
孟斯特
2023/11/15
8940
一键配置 Seafile 云盘并开启 https 访问
前些日子终于受够了臃肿的 Nextcloud ,将其完全卸载,寻觅已久之后选择了 Seafile 云盘。之所以放弃 Nextcloud,大致有以下原因:
宋天伦
2020/07/16
4.6K0
Nexus3最佳实践系列:搭建Docker私有仓库
容器仓库是容器化管理中非常重要的一环,相当于 SVN 在程序研发、运维发布中的地位。因此,一个稳定、可靠的容器仓库尤为重要。
张戈
2018/10/10
14.6K0
app管理平台 app-host
一个轻量级的包托管网站,app-host 主要用于 iOS 和 Android 的包管理,作用类似于fir.im,不同之处是可以自由部署在内网,方便了公司项目保密。并且代码开源也可以方便根据各自需求进行定制化开发。
iginkgo18
2021/07/07
3.3K0
自建Docker镜像加速服务
陳斯托洛夫斯記
2024/08/07
5220
提升运维效率:轻松掌握JumpServer安装和使用技巧
还不会在局域网申请 ssl 及配置的可以参考之前的文章 前后端都用得上的 Nginx 日常使用经验
易墨
2023/11/11
3K0
提升运维效率:轻松掌握JumpServer安装和使用技巧
推荐阅读
相关推荐
使用 Docker 搭建 Seafile 私有云流程记录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验