使用doker安装seafile ,搭建私有云盘
使用docker安装seafile无需提前安装mysql,非常简单
1、安装好docker和docker compose
apt-get install docker
apt-get install docker-compose -y
可能需要替换一下docker源
替换方法可参考:cloud.tencent.com/developer/a…
2、 准备/opt目录
创建/opt目录,从官网下载 docker-compose.yml ,并将 docker-compose.yml 放在该目录中
3、创建 docker-compose.yml
从官网下载 docker-compose.yml 之后修改部分参数
主要是密码和域名
services:
db:
image: mariadb:10.11
container_name: seafile-mysql
environment:
- MYSQL_ROOT_PASSWORD=db_dev # Requested, set the root's password of MySQL service.
- MYSQL_LOG_CONSOLE=true
- MARIADB_AUTO_UPGRADE=1
volumes:
- /opt/seafile-mysql/db:/var/lib/mysql # Requested, specifies the path to MySQL data persistent store.
networks:
- seafile-net
memcached:
image: memcached:1.6.18
container_name: seafile-memcached
entrypoint: memcached -m 256
networks:
- seafile-net
seafile:
image: seafileltd/seafile-mc:11.0-latest
container_name: seafile
ports:
- "83:80" # 外部端口83映射到内部端口80
# - "443:443" # If https is enabled, cancel the comment.
volumes:
- /opt/seafile-data:/shared # Requested, specifies the path to Seafile data persistent store.
environment:
- DB_HOST=db
- DB_ROOT_PASSWD=db_dev # Requested, the value shuold be root's password of MySQL service.
- TIME_ZONE=Asia/Shanghai # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SEAFILE_ADMIN_EMAIL=35xxx82@qq.com # Specifies Seafile admin user, default is 'me@example.com'.
- SEAFILE_ADMIN_PASSWORD=asecret # Specifies Seafile admin password, default is 'asecret'.
- SEAFILE_SERVER_LETSENCRYPT=false # Whether use letsencrypt to generate cert.
- SEAFILE_SERVER_HOSTNAME=159.xx.xx.98 # Specifies your host name.
depends_on:
- db
- memcached
networks:
- seafile-net
networks:
seafile-net:
4、安装seafile
运行 docker-compose.yml
docker-compose up -d
启动成功后使用 docker ps
查看容器的启动情况
root@VM-24-3-ubuntu:/opt# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2953243cb9cb seafileltd/seafile-mc:11.0-latest "/sbin/my_init -- /s…" 20 minutes ago Up 20 minutes 0.0.0.0:83->80/tcp, :::83->80/tcp seafile
a3cc2ce8bc41 memcached:1.6.18 "memcached -m 256" 20 minutes ago Up 20 minutes 11211/tcp
docker log seafile
查看sefaile是否正常运行
root@VM-24-3-ubuntu:/opt# docker logs seafile
*** Running /etc/my_init.d/01_create_data_links.sh...
*** Booting runit daemon...
*** Runit started as PID 16
*** Running /scripts/enterpoint.sh...
2024-07-02 09:46:08 Nginx ready
2024-07-02 09:46:08 This is an idle script (infinite loop) to keep container running.
[2024-07-02 09:46:15] Now running setup-seafile-mysql.py in auto mode.
Checking python on this machine ...
最后输入:159.xx.xx.xx:83 访问seafile登录页面(注我这里的端口号是83)
参考教程
官网文档:用Docker部署Seafile.md
教程2保存了相关配置,而且使用脚本化的方式启动很优雅,但这里使用了一个vpn网络不好直接用
遇到的些问题:
1、需要替换一下docker的源
cloud.tencent.com/developer/a…
2 最后成功安装但是报错. 我觉得是vpn地址的问题
我最开始用的是教程2,报了这个错误,后来我换了ip端口号,和network的端口号没出现这个报错了
Page unavailable
Sorry, but the requested page is unavailable due to a server hiccup.
Our engineers have been notified, so check back later.
3 docker-compose.yml部署后,数据库一直连不上
解决办法是,删除所有的容器
docker stop $(docker ps -q) && docker rm $(docker ps -aq) 停止和关闭所有容器
删除后重启