Docker部署Seafile服务
This commit is contained in:
parent
12b932a112
commit
226b17de07
|
@ -0,0 +1,95 @@
|
||||||
|
title: Docker部署Seafile服务
|
||||||
|
tags: []
|
||||||
|
categories: []
|
||||||
|
date: 2023-07-04 19:58:00
|
||||||
|
---
|
||||||
|
# 背景
|
||||||
|
作为一台半AIO的NAS,除了使用SMB挂在外,还需要有一个云盘管理软件。
|
||||||
|
常见的有
|
||||||
|
- owncloud
|
||||||
|
- nextcloud
|
||||||
|
|
||||||
|
以上两个服务太重了,不太适合我。需要一个轻量级的服务。尽可能少的占用资源。最后选择了seafile
|
||||||
|
|
||||||
|
其可以做到文件夹无感同步。这点对于我来说比较重要。
|
||||||
|
|
||||||
|
# 先决条件
|
||||||
|
因为采用docker部署,所以需要安装docker, docker-compose。
|
||||||
|
|
||||||
|
如果采用自己的mysql服务,则需要准备一个mysql服务。并需要root账户密码。
|
||||||
|
|
||||||
|
|
||||||
|
# 部署脚本
|
||||||
|
```yaml
|
||||||
|
version: '2.0'
|
||||||
|
services:
|
||||||
|
|
||||||
|
memcached:
|
||||||
|
image: memcached:1.6
|
||||||
|
container_name: seafile-memcached
|
||||||
|
entrypoint: memcached -m 256
|
||||||
|
|
||||||
|
seafile:
|
||||||
|
image: seafileltd/seafile-mc:latest
|
||||||
|
container_name: seafile
|
||||||
|
ports:
|
||||||
|
- "85:80"
|
||||||
|
volumes:
|
||||||
|
- /disk/docker/seafile/data:/shared
|
||||||
|
environment:
|
||||||
|
- DB_HOST=********
|
||||||
|
- DB_ROOT_PASSWD=****
|
||||||
|
- TIME_ZONE=Asia/Shanghai
|
||||||
|
- SEAFILE_ADMIN_EMAIL=***@sina.com
|
||||||
|
- SEAFILE_ADMIN_PASSWORD=***
|
||||||
|
- SEAFILE_SERVER_LETSENCRYPT=false
|
||||||
|
- SEAFILE_SERVER_HOSTNAME=***:85
|
||||||
|
depends_on:
|
||||||
|
- memcached
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
等待拉取镜像,启动。
|
||||||
|
|
||||||
|
因为一些原因,会导致**admin账号创建失败**
|
||||||
|
|
||||||
|
```log
|
||||||
|
Seahub is started
|
||||||
|
Error happened during creating seafile admin.
|
||||||
|
Starting seahub at port 8000 ...
|
||||||
|
```
|
||||||
|
|
||||||
|
碰到这个报错不要慌。因为seafile自动生成的数据库密码有问题,导致的
|
||||||
|
1. 查询seafile生成的密码
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it seafile cat /shared/seafile/conf/seafile.conf | grep password
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
password = 5b1fd1f4-f8f2-45a8-aa4e-*****
|
||||||
|
```
|
||||||
|
|
||||||
|
这里显示的就是seafile生成的密码
|
||||||
|
|
||||||
|
2. 把数据库密码替换掉
|
||||||
|
|
||||||
|
注意把密码换成查到的
|
||||||
|
```sql
|
||||||
|
ALTER USER 'seafile'@'%.%.%.%' IDENTIFIED BY '5b1fd1f4-f8f2-45a8-aa4e-***' PASSWORD EXPIRE NEVER;
|
||||||
|
ALTER USER 'seafile'@'%.%.%.%' IDENTIFIED WITH mysql_native_password BY '5b1fd1f4-f8f2-45a8-aa4e-****';
|
||||||
|
FLUSH PRIVILEGES;
|
||||||
|
ALTER USER 'seafile'@'%.%.%.%' IDENTIFIED BY '5b1fd1f4-f8f2-45a8-aa4e-***';
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 创建管理员账号
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
按照提示,输入邮箱,密码(需要两遍)
|
||||||
|
|
||||||
|
然后打开 http://ip:85
|
||||||
|
|
||||||
|
使用创建的管理员账号登陆即可。
|
Loading…
Reference in New Issue