解锁外网访问:在 Unraid 上部署 Seafile 并配置 Frp 指南

参考官方文档,用 Docker Compose 在 Unraid 中部署 Seafile 其实并不复杂,跟着文档一步步来,很快就能搞定。不过默认情况下 Seafile 只能在内网访问,如果你有一台带公网 IP 的服务器,就可以借助 Frp 实现外网访问。今天这篇文章,就来聊聊 Seafile 配置中几个关键部分的调整。

第一步:yml 文件合并

Seafile 官方文档中,不同功能模块会用到不同的 yml 文件,但 Unraid 的 Docker Compose 管理面板只认一个文件——那就是 docker-compose.yml。别担心,解决方法很简单:把官方文档中提到的几个 yml 文件内容,全部复制粘贴到默认打开的 docker-compose.yml 中,拼在一起就行,不影响部署效果。

第二步:env 文件配置

关键配置如下,照着改就行:

COMPOSE_FILE='docker-compose.yml'        # 改成 Unraid 默认的 compose 文件名
BASIC_STORAGE_PATH=/mnt/user/appdata/seafilepro  # 数据存放路径,建议放在 appdata 目录下
SEAFILE_SERVER_HOSTNAME=你的外网IP:外网端口        # 敲黑板!!!想要外网访问,这里必须填外网 IP 和端口
TIME_ZONE=Asia/Shanghai                  # 时区设为上海
JWT_PRIVATE_KEY=按照官网教程生成的KEY         # 跟着官方教程生成这个 KEY
SEAFILE_MYSQL_DB_PASSWORD=设置一个MYSQL密码     # 必须设置
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=设置一个MYSQL密码 # 和上一个密码保持一致
INIT_SEAFILE_ADMIN_EMAIL=Seafile用户名      # 用户名建议用邮箱
INIT_SEAFILE_ADMIN_PASSWORD=Seafile密码     # 外网访问嘛,密码还是设复杂点好

第三步:yml 文件调整

重点在 services 下的 caddy 部分:

services:
  caddy:
    ports:
      - 宿主机端口:容器内部端口  # 敲黑板!!!默认是 80:80,但 Unraid 的 80 端口已经被占用,得改。这里其实涉及三个端口:容器内部端口、宿主机端口、外网端口。这儿设置的是,宿主机端口:容器内部端口,宿主机端口和外网端口的映射需要在 Frp 中设置。由于 Seafile 生成的各类网址都带端口,为了减少各种玄学 BUG,建议这三个端口设成同一个,而且要和 env 文件里填的一致。比如统一用 9980。
      - 宿主机端口:容器内部端口  # 默认 443:443,同理被占用,可以改成 9443:9443。不过我们一般用 HTTP 访问,这个端口其实用不上。

其他配置按照官方文档来就行,问题不大。

小贴士

部署过程中,大部分“死活访问不了”的问题,都跟 IP 和端口有关。不止是 Seafile 本体,配置其他服务时也要格外留意网址和端口的设置——很多时候需要统一写成外网的 IP 和端口,同时也要小心配置文件写错,导致端口重复出现两次,或者网址拼写不对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值