基于端口转发部署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:你的运行端口号/
相关推荐
赵民勇13 小时前
tr命令用法详解与技巧总结
linux·shell
学不完的路路路13 小时前
IMX6ULL开发板固件烧录问题:添加设备树节点不成功
linux·ubuntu·设备树
大柏怎么被偷了13 小时前
【Linux】进程间通信
linux·运维·服务器
oMcLin13 小时前
Ubuntu 22.04 Docker 容器启动失败:解决 Overlay2 存储驱动冲突
java·ubuntu·docker
Howrun77713 小时前
Linux进程通信---6.1---进程信号屏蔽
linux·服务器
一颗青果13 小时前
五种IO模型
linux·服务器·网络
rocksun13 小时前
Neovim,会是你的下一款“真香”开发神器吗?
linux·python·go
郝学胜-神的一滴13 小时前
Linux线程属性设置分离技术详解
linux·服务器·数据结构·c++·程序人生·算法
知识分享小能手14 小时前
Ubuntu入门学习教程,从入门到精通, Ubuntu 22.04中的进程管理详解(15)
linux·学习·ubuntu
zfj32114 小时前
Linux内核和发行版的的区别、职责
linux·运维·服务器·内核·linux发行版