seafile:ubuntu搭建社区版seafile12.0
前言
Seafile是一个开源、专业、可靠的云存储平台,可以提供文件上传、下载、权限划分管理等等服务,并且提供了API支持,扩展性高。
我在ubuntu上使用docker成功搭建了社区版的seafile12.0并解决了一系列问题。
docker安装:
ubuntu:换源安装docker-ce和docker-compose_ubuntu docker compose换源-CSDN博客
下载
1、前往seafile官网下载
这是一个比较全的文档,但我按照它安装的遇到了很多没办法解决的事:
用 Docker 部署 Seafile 服务 - seafile-manual-cn
2、单独下载
wget -O .env https://manual.seafile.com/12.0/repo/docker/ce/env
wget https://manual.seafile.com/12.0/repo/docker/ce/seafile-server.yml
wget https://manual.seafile.com/12.0/repo/docker/caddy.yml
wget https://manual.seafile.com/12.0/repo/docker/seadoc.yml
修改配置文件
一般只需要更改 .env文件,如下示例只需要更改{}内的值
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml'
COMPOSE_PATH_SEPARATOR=','SEAFILE_IMAGE=seafileltd/seafile-mc:12.0-latest
SEAFILE_DB_IMAGE=mariadb:10.11
SEAFILE_MEMCACHED_IMAGE=memcached:1.6.29
SEAFILE_CADDY_IMAGE=lucaslorentz/caddy-docker-proxy:2.9-alpineSEAFILE_VOLUME=/opt/seafile-data
SEAFILE_MYSQL_VOLUME=/opt/seafile-mysql/db
SEAFILE_CADDY_VOLUME=/opt/seafile-caddySEAFILE_MYSQL_DB_HOST=db
INIT_SEAFILE_MYSQL_ROOT_PASSWORD={XXXXX数据库密码}
SEAFILE_MYSQL_DB_USER=seafile
SEAFILE_MYSQL_DB_PASSWORD={XXXXX数据库密码}TIME_ZONE=Asia/ShanghaiJWT_PRIVATE_KEY={XXXXX一个字母数字随机数,36以上即可}SEAFILE_SERVER_PROTOCOL=httpINIT_SEAFILE_ADMIN_EMAIL={XXXXX管理员邮箱}
INIT_SEAFILE_ADMIN_PASSWORD={XXXXX管理员密码}SEADOC_IMAGE=seafileltd/sdoc-server:1.0-latest
SEADOC_VOLUME=/opt/seadoc-dataSEAFILE_SERVER_HOSTNAME={192.16.1.5:9001设置为对外展示的服务地址前缀}
ENABLE_SEADOC=trueNOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:12.0-latest
NOTIFICATION_SERVER_VOLUME=/opt/notification-data
如果你希望它的对外端口发生变动,则需要更改 seafile-server.yml中seafile.ports里的端口,例如 "80:80" 变为 "9001:80"
seafile:ports:- "80:80"
启动和维护指令
# 初次启动
docker compose up -d# 重启服务
docker compose restart# 查看日志
docker compose logs -f# 更新配置,重置服务(这不会影响你的数据卷)
docker compose down
docker compose up -d# 增加一个新的管理员
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh# 进入容器
docker exec -it seafile /bin/bash