Debian安装Seafile

前言

Debian 无图形化界面通过 docker 安装 Seafile。我安装 Seafile12 没有成功,按照之前经验安装。

方法

安装docker

参考官方文档 Install Docker Engine on Debian

  • 设置 Docker's apt repository.

    Add Docker's official GPG key:

    sudo apt-get update
    sudo apt-get install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
    sudo chmod a+r /etc/apt/keyrings/docker.asc

    Add the repository to Apt sources:

    echo
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian
    (. /etc/os-release && echo "VERSION_CODENAME") stable" |
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update

  • 安装最新docker

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  • 测试安装

    sudo docker run hello-world

安装 Seafile

参考Seafile官方安装文档Seafile docker-compose.yml

新建Seafile文件夹

新建一个seafile 文件夹,在其下新建 seafile-data 和 seafile-mysql 两个文件夹。在seafile-data中新建 docker-compose.yml 文件。

sudo vim docker-compose.yml

我把官方Seafile docker-compose.yml V11 拷贝粘贴进去,然后按照下面对应修改。

docker-compose.yml 文件解析

需要修改的地方:

  • /opt/seafile-mysql/db:/var/lib/mysql # 指定宿主机路径 /opt/seafile-mysql/db 持久化 MySQL 数据,这里改为创建的 seafile-mysql/db

  • /opt/seafile-data:/shared # 指定宿主机路径 /opt/seafile-data 用于存储 Seafile 数据,改为创建的 seafile-data

  • 端口映射 "80:80" # 将宿主机的 80 端口映射到容器的 80 端口(HTTP)

  • DB_ROOT_PASSWD=db_dev # 设置数据库 root 用户的密码,必须与 db 服务中的密码一致

  • SEAFILE_ADMIN_EMAIL=me@example.com # 设置 Seafile 管理员的电子邮件地址

  • SEAFILE_ADMIN_PASSWORD=asecret # 设置 Seafile 管理员的密码
    后续登录 seafile需要用到上面设置好的用户名 me@example.com,密码:asecret

    services: # 定义服务(容器)部分
    db: # 数据库服务
    image: mariadb:10.11 # 使用 MariaDB 10.11 版本的镜像
    container_name: seafile-mysql # 容器名称为 seafile-mysql
    environment: # 设置环境变量
    - MYSQL_ROOT_PASSWORD=db_dev # 设置 MySQL root 用户的密码,默认为 db_dev============
    - MYSQL_LOG_CONSOLE=true # 启用控制台日志输出
    - MARIADB_AUTO_UPGRADE=1 # 启用 MariaDB 自动升级功能
    volumes: # 挂载数据卷,用于持久化存储
    - /mnt/SeafileDir/seafile-mysql/db:/var/lib/mysql # 指定宿主机路径 /opt/seafile-mysql/db 持久化 MySQL 数据============
    networks: # 定义服务所连接的网络
    - seafile-net # 连接到 seafile-net 网络
    restart: always

    memcached:  # 缓存服务
      image: memcached:1.6.18            # 使用 Memcached 1.6.18 版本的镜像
      container_name: seafile-memcached  # 容器名称为 seafile-memcached
      entrypoint: memcached -m 256      # 设置 Memcached 启动时的命令,指定内存大小为 256MB
      networks:  # 定义服务所连接的网络
        - seafile-net                    # 连接到 seafile-net 网络
      restart: always
            
    seafile:  # Seafile 主服务
      image: seafileltd/seafile-mc:11.0-latest  # 使用 Seafile 官方提供的最新版本镜像
      container_name: seafile             # 容器名称为 seafile
      ports:  # 映射端口
        - "80:80"                        # 将宿主机的 80 端口映射到容器的 80 端口(HTTP)============
    

    - "443:443" # 如果启用了 HTTPS,可以取消注释该行来映射 443 端口

      volumes:  # 挂载数据卷,用于持久化存储
        - /mnt/SeafileDir/seafile-data:/shared       # 指定宿主机路径 /opt/seafile-data 用于存储 Seafile 数据============
      environment:  # 设置环境变量
        - DB_HOST=db                      # 指定 MySQL 数据库主机为 db(即上面的 db 服务)
        - DB_ROOT_PASSWD=db_dev           # 设置数据库 root 用户的密码,必须与 db 服务中的密码一致
        - TIME_ZONE=Asia/Shanghai         # 设置时区为上海时区(可选,默认为 UTC)
        - SEAFILE_ADMIN_EMAIL=me@example.com  # 设置 Seafile 管理员的电子邮件地址============
        - SEAFILE_ADMIN_PASSWORD=asecret  # 设置 Seafile 管理员的密码============
        - SEAFILE_SERVER_LETSENCRYPT=false # 是否使用 Let's Encrypt 来生成证书(false 表示不使用)
        - SEAFILE_SERVER_HOSTNAME=seafile.example.com  # 设置 Seafile 服务器的主机名
      depends_on:  # 依赖的服务
        - db                                  # 依赖数据库服务 db
        - memcached                           # 依赖缓存服务 memcached
      networks:  # 定义服务所连接的网络
        - seafile-net                        # 连接到 seafile-net 网络
      restart: always
    

    networks: # 网络定义部分
    seafile-net: # 定义名为 seafile-net 的网络

相比我之前安装方法新增了 restart: always,让容器自动重启。

在 seafile-data 文件夹中(含docker-compose.yml文件)下执行

docker compose up -d

安装完成,浏览器输入机器IP地址,登录seafile。

登录后的配置

参考 Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

相关推荐
m0nesy_86804 小时前
Kubernetes云原生技术和docker的区别(deepseek R1)
docker·云原生·kubernetes
web150854159355 小时前
【rustdesk】客户端和服务端的安装和部署(自建服务器,docker,远程控制开源软件rustdesk)
运维·服务器·docker
枫叶200010 小时前
Windows Docker笔记-Docker拉取镜像
windows·笔记·docker
狂爱代码的码农12 小时前
docker,k8s,docker compose三者的关系
docker
m0_7482561413 小时前
使用 Docker 部署 RabbitMQ 的详细指南
docker·容器·rabbitmq
狂爱代码的码农14 小时前
docker的卷映射如何手动指定位置
docker·容器
枫叶200014 小时前
Windows Docker笔记-制作、加载镜像
windows·笔记·docker
Jamence14 小时前
docker启动报错code=exited, status=1/FAILURE——问题排查
docker·容器·eureka
梁萌16 小时前
02DevOps基础环境准备
docker·devops·ci·cd