基于Docker 部署 Seafile服务搭建

1、安装 docker

sudo apt-get install docker -y

2、安装docker-compose

sudo apt-get install docker-compose -y

3、下载并修改 docker-compose.yml

下载 docker-compose.yml 示例文件到您的服务器上,然后根据您的实际环境修改该文件。尤其是以下几项配置:

  • MySQL root 用户的密码 (MYSQL_ROOT_PASSWORD and DB_ROOT_PASSWD)

  • 持久化存储 MySQL 数据的 volumes 目录 (volumes)

  • 持久化存储 Seafile 数据的 volumes 目录 (volumes)

version: '2.0'
services:
  db:
    image: mariadb:10.1
    container_name: seafile-mysql
    environment:
      - MYSQL_ROOT_PASSWORD=mysql-root-password  # 1. 设置MySQL的root密码
      - MYSQL_LOG_CONSOLE=true
    volumes:
      - /opt/seafile-mysql/db:/var/lib/mysql  # 指定MySQL数据持久存储的路径,默认即可不用修改。
    networks:
      - seafile-net

  memcached:
    image: memcached:1.5.6
    container_name: seafile-memcached
    entrypoint: memcached -m 256
    networks:
      - seafile-net

  elasticsearch:
    image: seafileltd/elasticsearch-with-ik:5.6.16
    container_name: seafile-elasticsearch
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 2g
    volumes:
      - /opt/seafile-elasticsearch/data:/usr/share/elasticsearch/data  # 指定Elasticsearch数据持久存储的路径,默认即可不用修改。
    networks:
      - seafile-net
          
  seafile:
    image: docker.seafile.top/seafileltd/seafile-pro-mc:latest
    container_name: seafile
    ports:
      - "6080:80"
      # - "443:443"  # 5.开启 https 
    volumes:
      - /opt/seafile-data:/shared   # 指定Seafile数据持久存储的路径,默认即可不用修改。
    environment:
      - DB_HOST=db
      - DB_ROOT_PASSWD=mysql-root-password  # 2. 上面配置的 mysql root 密码
#      - TIME_ZONE=Asia/Shanghai # 默认为UTC。需要修改时区时设置,一般不需要设置。
      - [email protected] # 3. 设置 Seafile 管理员账号邮箱
      - SEAFILE_ADMIN_PASSWORD=asecret    # 4. 设置 Seafile 管理员账号密码
      - SEAFILE_SERVER_LETSENCRYPT=false   # 使用 Let's encrypt SSL 证书开启,使用自己的证书不用开启
      - SEAFILE_SERVER_HOSTNAME=example.seafile.com # 6. 开启 https 后填写你的域名
    depends_on:
      - db
      - memcached
      - elasticsearch
    networks:
      - seafile-net

networks:
  seafile-net:

4、启动 Seafile 服务

执行以下命令启动 Seafile 服务:

docker-compose up -d

需要等待几分钟,等容器首次启动时的初始化操作完成后,您就可以在浏览器上访问http://seafile.example.com 来打开 Seafile 主页。

注意:您应该在 docker-compose.yml 文件所在的目下执行以上命令。

5、修改 Seafile 服务的配置

Seafile 的配置文件存放在 shared/seafile/conf 目录下,您可以根据Seafile 手册的指导来修改这些配置项。

一旦修改了配置文件,您需要重启服务以使其生效:

docker-compose restart

6、增加一个新的管理员

确保各容器正常运行,然后执行以下命令:

docker exec -it seafile /opt/seafile/seafile-server-latest/reset-admin.shTextHTMLCSSJavascriptCC++C#JavaPythonSqlSwift

根据提示输入用户名和密码,您现在有了一个新的管理帐户。

7、设置服务开机启动

sudo vim /etc/rc.local

添加内容:

#!/bin/bash
# ssh start
/etc/init.d/ssh start
# seafile start
docker-compose -f /home/seafile/server/docker-compose.yml up -d

添加权限:

sudo chmod +x /etc/rc.local

参考文章:

1、基于Docker 部署 Seafile

https://www.cnblogs.com/Magiclala/p/15497267.html

2、官方地址

https://cloud.seafile.com/published/seafile-manual-cn/docker/%E7%94%A8Docker%E9%83%A8%E7%BD%B2Seafile.md

猜你喜欢

转载自blog.csdn.net/weixin_34910922/article/details/128795220