Debian安装Seafile

embedded/2025/2/9 6:23:55/

前言

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

方法

docker_5">安装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
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 拷贝粘贴进去,然后按照下面对应修改。

dockercomposeyml__45">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-mysqlenvironment:  # 设置环境变量- 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: alwaysmemcached:  # 缓存服务image: memcached:1.6.18            # 使用 Memcached 1.6.18 版本的镜像container_name: seafile-memcached  # 容器名称为 seafile-memcachedentrypoint: memcached -m 256      # 设置 Memcached 启动时的命令,指定内存大小为 256MBnetworks:  # 定义服务所连接的网络- seafile-net                    # 连接到 seafile-net 网络restart: alwaysseafile:  # Seafile 主服务image: seafileltd/seafile-mc:11.0-latest  # 使用 Seafile 官方提供的最新版本镜像container_name: seafile             # 容器名称为 seafileports:  # 映射端口- "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                           # 依赖缓存服务 memcachednetworks:  # 定义服务所连接的网络- seafile-net                        # 连接到 seafile-net 网络restart: alwaysnetworks:  # 网络定义部分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.ppmy.cn/embedded/160739.html

相关文章

三、OSG应用基础

一、 OsgGA: 界面事件处理空间,处理操作各种操作器的最大名字空间; GUIEventHandler: ui 事件操作类 注意:在启用事件类自定义时,我的Win10专业版出现一个键盘输入系统兼容的问题; OSG Viewer输入按键无响应 1 问…

Unity3D实现UGUI拖拽移动

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、实现原理👉二、方法一👉方法二👉壁纸分享👉总结👉前言 在 Unity UGUI 中实现拖拽移动的功能,主要基于事件系统、坐标转换和位置更新这几个关键步骤,下面详细介绍其原理 博客将会介绍如何实现UGUI拖…

mysql8 从C++源码角度看sql生成抽象语法树

MySQL 8的C源码中,SQL语句的词法分析和语法分析是通过一个复杂的解析器实现的,这个解析器将输入的SQL文本转换成抽象语法树(AST)。以下是该过程的主要步骤和相关组件: 主要组件 Lexer (词法分析器): MySQL使用了一个称…

casbin+iris实现权限控制

在现代Web应用开发中,权限控制是确保系统安全性和用户体验的关键部分。Casbin 是一个强大的开源访问控制库,支持多种访问控制模型(如RBAC、ABAC等),而Iris则是一个高性能的Go语言Web框架。结合两者,我们可以…

(篇三)基于PyDracula搭建一个深度学习的软件之解析yolo算法融合

文章目录 1YoloPredictor类——检测器1.1继承BasePredictor解析1.2继承QObject解析 2MainWindow类——主窗口 在前面两篇中,篇一介绍了启动界面的制作,篇二介绍了如何修改PyDracula的界面,那么这一篇我们学习一下yolo要融合进入软件中&#x…

Centos Stream 10 根目录下的文件夹结构

/ ├── bin -> usr/bin ├── boot ├── dev ├── etc ├── home ├── lib -> usr/lib ├── lib64 -> usr/lib64 ├── lostfound ├── media ├── mnt ├── opt ├── proc ├── root ├── run ├── sbin -> usr/sbin ├── srv ├─…

R包:ggalign调整和组合多个图形的R包

文章目录 介绍案例安装R包教程1教程2参考 介绍 这个包扩展了ggplot2,提供了用于对齐和组织多个图的高级工具,特别是那些自动重新排序观察结果的工具,比如树形图。它提供了对布局调整和情节注释的精细控制,使您能够创建复杂的、出…

Maven插件—flatten-maven-plugin:工程模块统一版本依赖

文章目录 前言一、认识flatten-maven-plugin插件二、如何使用flatten-maven-plugin插件?未使用flatten-maven-plugin插件之前的情况描述配置flatten-maven-plugin插件步骤1:最外层父模块安装插件&配置版本变量步骤2:各个自模块使用版本使…