当前位置: 首页 > article >正文

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


http://www.kler.cn/a/535596.html

相关文章:

  • UE虚幻引擎No Google Play Store Key:No OBB found报错如何处理
  • S4 HANA (递延所得税传输)Deferred Tax Transfer - S_AC0_52000644
  • 剑指 Offer II 014. 字符串中的变位词
  • 【漫画机器学习】082.岭回归(或脊回归)中的α值(alpha in ridge regression)
  • java练习(8)
  • DeepSeek写的lammps反应势断键动态显示程序
  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料
  • android 适配 api 35(android 15) 遇到的问题
  • 接雨水算法 思路讲解与拓展
  • python:csv文件批量导入mysql
  • 前端控制器模式
  • 【目标检测】模型验证:K-Fold 交叉验证
  • (算法竞赛)图论+DFS深搜——图的dfs遍历1
  • 大数据学习之Spark分布式计算框架RDD、内核进阶
  • 一文读懂:TCP网络拥塞的应对策略与方案
  • 风控系统指标版本管理,前端实现
  • sql版本序列号
  • Linux 源码编译安装httpd 2.4,提供系统服务管理脚本并测试
  • 在IDEA中高亮的注释
  • Ubuntu 上可以安装ms sqlserver?(不能上网2)
  • 数据结构:排序—插入排序(一)
  • React 中常见的Hooks,安排!
  • LabVIEW2025中文版软件安装包、工具包、安装教程下载
  • CAD导入与解析,助力工业数据可视化高效呈现
  • Java项目: 基于SpringBoot+mybatis+maven+mysql实现的装饰工程管理系统(含源码+数据库+毕业论文)
  • inquirer介绍及配合lerna在Vue中使用示例