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 搭建个人网盘

相关推荐
斯普信专业组36 分钟前
Docker 常用命令与时区配置指南
docker·容器·eureka
天一生水water12 小时前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
Qayrup15 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
南林yan15 小时前
Debian系统的多内核共存
linux·debian·linux内核
闪耀星星15 小时前
debian elctron-builder
运维·debian
会飞的土拨鼠呀15 小时前
Debian 12 笔记本合盖不休眠设置指南
运维·debian
郭庆汝15 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵16 小时前
Ubuntu24.04安装Docker过程记录
docker
冷血~多好18 小时前
使用docker部署elk,实现日志追踪
elk·docker·容器
天一生水water19 小时前
docker-compose安装
运维·docker·容器