基于端口转发部署seafile私人云盘服务器

基于端口转发部署seafile私人云盘服务器

  • [1. 拉取配置文件](#1. 拉取配置文件)
  • [2. 修改配置文件](#2. 修改配置文件)
  • [3. 快速卸载](#3. 快速卸载)
  • [4. 网页访问](#4. 网页访问)

部署操作系统:Ubuntu24.04.3

部署方式:docker

端口转发:frp

部署版本:Seafile CE 13.0

1. 拉取配置文件

首先,准备一个文件夹,用来存放构造seafile所需要的配置文件

bash 复制代码
mkdir seafile
cd seafile

然后拉取官方提供的配置文件模板

bash 复制代码
wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml

2. 修改配置文件

这一步建议用vscode之类的编辑器打开文件编写,或者你自己乐意用vim和nano修改文件也行。

修改文件.env中的配置内容

bash 复制代码
BASIC_STORAGE_PATH=/你所提供的数据文件存储路径,用于存储所有的数据

# 注意!浏览器里面输入的地址必须与这个地址完全对应才能成功进入!哪怕是事实上指向同一个地址也不行!
# 如果你想要在服务器本地访问,可以在hosts里面把域名直接指向本机ip,只能通过你配置的地址访问!
SEAFILE_SERVER_HOSTNAME=你的域名或者公网ip

JWT_PRIVATE_KEY=可以使用`pwgen -s 40 1`生成的随机字符串

INIT_SEAFILE_MYSQL_ROOT_PASSWORD=你的SQL数据库root密码(实际使用中不会涉及)
SEAFILE_MYSQL_DB_PASSWORD=你的SQL数据库seafile用户密码(实际使用中不会涉及)

INIT_SEAFILE_ADMIN_EMAIL=初始管理员账户(邮箱)
INIT_SEAFILE_ADMIN_PASSWORD=初始管理员密码

如果你需要修改服务到别的端口(我觉得一般能做这个开发的也不会喜欢用默认的80端口提供服务吧......),需要修改配置文件:
.env中的SEAFILE_SERVER_HOSTNAME你的域名或者公网ip:你需要部署的端口号
caddy.yml中的80:80修改为你需要部署的端口号:你需要部署的端口号

修改完之后,在当前路径运行docker创建命令:

bash 复制代码
sudo docker compose up -d

3. 快速卸载

如果你不小心设置错了或者只是单纯想卸载,可以写一个sh脚本快速完成所有docker的卸载:

bash 复制代码
sudo docker stop seadoc
sudo docker rm seadoc
sudo docker stop seafile
sudo docker rm seafile
sudo docker stop seafile-redis
sudo docker rm seafile-redis
sudo docker stop seafile-mysql
sudo docker rm seafile-mysql
sudo docker stop seafile-caddy
sudo docker rm seafile-caddy
sudo rm -r /你保存数据的路径/*

4. 网页访问

通过网页(假如你没有把http改成https的需求)访问:

bash 复制代码
http://你的域名或者公网ip:你的运行端口号/
相关推荐
实心儿儿3 分钟前
Linux —— epoll(1)
linux·网络
s_w.h17 分钟前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash
祖力5532 分钟前
网络编程:IO多路复用(select、poll、epoll)
linux·服务器·网络
迷路爸爸18033 分钟前
在 Ubuntu / Linux 上轻量安装 LaTeX:TinyTeX 使用记录
linux·运维·ubuntu
tedcloud1231 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
与自己和解7411 小时前
使用ssh实现 VScode 直连 ubuntu
vscode·ubuntu·ssh
AAA代码批发商1 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
额额额对了2 小时前
Linux 数据库开发实战:使用 C 语言与 SQLite3 构建轻量级终端词典
linux·数据库·oracle
爱笑鱼2 小时前
Android 系统启动机制(六):Zygote 创建 App 为什么走 Socket?哪些是源码事实,哪些是架构解释?
android·linux
2601_962299882 小时前
Linux下运行Python脚本
linux·python·ubuntu·脚本·命令