Ubuntu使用docker安装seafile

来自个人维基
Hovercool留言 | 贡献2026年6月7日 (日) 17:38的版本
跳转到导航 跳转到搜索

一、安装 Docker 和 Docker Compose

(一)安装依赖

sudo apt update && sudo apt install -y curl wget

(二)安装 Docker

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
newgrp docker

(三)验证安装

docker --version
docker compose version

二、安装&配置seafile

/opt/seafile 是用于存储 Seafile docker 文件的 Seafile 目录,如果您决定将 Seafile 放入不同的目录中,请相应地调整所有路径:我们这里统一改成 ~/seafile
Seafile使用两个目录用于存放数据库和数据,分别是 seafile-mysql 和 seafile-data,不建议更改这些路径。
Seafile 和 Webserver Nginx 的所有配置和日志文件都存储在 Seafile 容器的目录中。

(一)docker安装seafile

docker pull seafileltd/seafile-pro-mc:13.0-latest

(二)下载配置文件

Seafile uses .env, seafile-server.yml and caddy.yml files for configuration.


mkdir ~/seafile
cd ~/seafile

wget -O .env https://manual.seafile.com/13.0/repo/docker/pro/env
wget https://manual.seafile.com/13.0/repo/docker/pro/seafile-server.yml
wget https://manual.seafile.com/13.0/repo/docker/pro/elasticsearch.yml
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml

(三)配置

修改 .env配置文件:
生成 JWT 密钥(用于服务间认证):

$ openssl rand -hex 20

保存输出的密钥,后面会用到。

BASIC_STORAGE_PATH=/home/ubuntu/seafile
...
#################################
#      Startup parameters       #
#################################
SEAFILE_SERVER_HOSTNAME=seafile.example.com
SEAFILE_SERVER_PROTOCOL=https
TIME_ZONE=Asia/Shanghai
JWT_PRIVATE_KEY= #填入你上面openssl生成的hex
...
## Database
SEAFILE_MYSQL_DB_PASSWORD=#数据库密码
...
## Database root password, Used to create Seafile users
INIT_SEAFILE_MYSQL_ROOT_PASSWORD=#数据库管理员密码

## Seafile admin user
INIT_SEAFILE_ADMIN_EMAIL=#管理员邮箱
INIT_SEAFILE_ADMIN_PASSWORD=#管理员密码

(四)启动

在 ~/sealife目录启动docker:

$ docker compose up -d
[+] up 63/63
 ✔ Image seafileltd/sdoc-server:2.0-latest           Pulled                                                                                                                     121.9s
 ✔ Image elasticsearch:8.15.0                        Pulled                                                                                                                     113.1s
 ✔ Image mariadb:10.11                               Pulled                                                                                                                      33.1s
 ✔ Image redis                                       Pulled                                                                                                                       8.8s
 ✔ Image lucaslorentz/caddy-docker-proxy:2.12-alpine Pulled                                                                                                                       6.6s
 ✔ Network seafile-net                               Created                                                                                                                      0.1s
 ✔ Container seafile-elasticsearch                   Started                                                                                                                      1.3s
 ✔ Container seafile-mysql                           Healthy                                                                                                                     12.4s
 ✔ Container seafile-redis                           Started                                                                                                                      1.3s
 ✔ Container seafile-caddy                           Started                                                                                                                      1.5s
 ✔ Container seadoc                                  Started                                                                                                                     12.7s
 ✔ Container seafile                                 Started