Skip to content

🚀 使用 Docker Compose 部署 Reubah

下面是一份为新手准备的 Reubah Docker Compose 部署教程,它将帮你快速搭建一个安全、高效、私有化的图片与文档处理中心,再也不用担心在线工具的隐私泄露和文件大小限制问题了。

🎯 Reubah 简介与核心优势

Reubah 是一款开源免费的本地化文件处理工具,通过友好的 Web 界面,让你能在自己的服务器上轻松完成各种图片和文档处理任务。

主要功能特点: * 🖼️ 全面的图片处理:支持压缩、格式转换(如 JPG, PNG, WEBP 等),并能调整图片质量和分辨率。 * 📄 文档格式转换:支持在 PDF、DOCX、PPTX、TXT 等常见文档格式间相互转换。 * 📦 高效的批处理:可以同时处理多个图片或文档,大幅提升工作效率。 * 🔒 隐私安全:所有数据处理均在你的本地服务器上完成,文件不会上传到任何远程服务器,从根源上保护你的隐私。 * 🐳 容器化部署:提供 Docker 镜像,部署简单,升级和维护方便。

技术亮点: Reubah 基于 Go 语言构建,采用 React 前端框架,提供了响应式的 Web 界面。其容器化架构确保了环境的一致性,避免了复杂的依赖安装过程。

⚙️ 一、部署前准备

  1. 环境要求

    • 已安装 DockerDocker Compose(这是运行 Reubah 的必备条件)。
    • 建议系统内存不少于 1GB(根据你的处理文件大小和并发量调整)。
    • 确保服务器的 8083 端口(或你自定义的其他端口)未被占用。
  2. 环境检查 在终端中执行以下命令,确认 Docker 环境正常: bash docker --version docker-compose --version 如果系统返回了版本号,说明已经安装妥当。

  3. 创建项目目录 建议创建一个独立的目录来管理 Reubah 的所有文件。 bash mkdir -p /opt/docker/reubah cd /opt/docker/reubah

🛠️ 二、配置 Docker Compose 文件

在你创建的目录下(例如 /opt/docker/reubah),新建一个 docker-compose.yml 文件,并写入以下内容。这里以你提供的配置为基础,并参考了搜索结果的建议进行了优化。

services:
  reubah:
    container_name: reubah
    ports:
      - 8083:8081  # 主机端口:容器端口。你可以将8083改为任何未被占用的端口。
    # 可选:根据需要取消注释以下 volumes 来持久化临时文件
    #volumes:
      #- ./doc-temp:/tmp
      #- ./tmp:/app/tmp
      #这两个目录都是假的。
    environment:
      - PORT=8081  # 容器内部服务运行的端口,一般无需修改
    restart: unless-stopped
    image: ghcr.io/dendianugerah/reubah:latest
    deploy:
     resources:
       limits:
        #cpus: '5'
        #memory: 2G
        cpus: '1.0'  # 限制CPU使用,可根据实际情况调整
        memory: 1G    # 限制内存使用,可根据实际情况调整
#volumes:
  #doc-temp:
    #external: true
    #name: doc-temp


关键配置说明

配置项 说明与建议
image 指定了 Reubah 的官方 Docker 镜像地址。
ports "8083:8081" 表示将容器内部的 8081 端口映射到主机的 8083 端口。你可以根据需要修改主机端口(前面的8083),但容器端口(后面的8081)请保持不变
environment PORT=8081 设置了容器内应用运行的端口,应与 ports 中容器端口一致。
restart: unless-stopped 设置容器自动重启策略,除非手动停止,否则总是重启,保证服务可用性。
资源限制 建议根据实际访问量和服务器资源情况调整 CPU 和内存限制。
volumes (可选)如果你希望容器运行中产生的临时文件在容器重启后得以保留,可以取消注释。按你提供的配置,这两个目录非必需,可先不挂载。

🚀 三、启动与验证

  1. 启动 Reubah 服务docker-compose.yml 文件所在目录执行: bash docker-compose up -d -d 参数代表在后台运行容器。

  2. 检查服务状态 bash docker-compose ps 如果看到 reubah 容器的状态为 Up,就表示部署成功了。

  3. 查看实时日志(可选) 如果遇到问题,可以通过以下命令查看容器日志来排查: bash docker-compose logs -f reubah

  4. 访问 Reubah Web 界面 打开你的浏览器,输入 http://你的服务器IP地址:8083

    • 如果一切正常,你将看到 Reubah 简洁的操作界面。
    • 界面主要分为三个功能区:图片处理文档处理批处理
    • 注意:Reubah 的 Web 界面可能需要反向代理才能完全正常访问。若直接通过 IP:端口 访问出现功能异常,请参考本章节后续的"通过域名访问(反向代理)"部分进行配置。

🖥️ 四、使用 Reubah

成功部署后,你就可以开始使用 Reubah 来处理你的文件和图片了。

  1. 图片处理

    • 点击 "图片处理" 区域,上传你的本地图片(最大支持 32MB)。
    • 在右侧设置输出格式(如 JPG, PNG)、调整压缩质量等级等。
    • 点击 "处理图像",效果立即可见。例如,一张 5MB 的图片可以被压缩到几百KB,而清晰度几乎无损。
    • 处理完成后,点击右下角的下载按钮保存。
  2. 文档转换

    • 点击 "文档处理" 区域,上传你的文档(如 Word、PDF)。
    • 选择你想要转换的输出格式。
    • 点击 "处理文档",稍等片刻即可完成转换。
  3. 批量处理

    • 对于大量文件,使用 "批处理" 功能可以显著提升效率。

语言提示:Reubah 的 Web 界面默认可能为英文。你可以通过浏览器自带的翻译功能(如 Chrome 浏览器的右键"翻译成中文")将其转换为中文界面。

🔧 五、维护与管理

  • 服务管理

    • 停止服务docker-compose down
    • 重启服务docker-compose restart
    • 查看服务状态docker-compose ps
  • 更新 Reubah: Reubah 是一个新项目,更新可能比较频繁。升级到最新版本的步骤如下: bash # 进入 docker-compose.yml 所在目录 docker-compose down docker-compose pull # 拉取最新镜像 docker-compose up -d docker image prune # 可选:清理旧的镜像文件

  • 数据备份:由于 Reubah 的处理是即时的,通常不存储用户数据。如果挂载了卷,定期备份你挂载的目录(如 doc-temptmp)即可。

🌐 六、高级配置(可选)

通过域名访问(反向代理)

如果你希望通过域名(例如 reubah.yourdomain.com)访问 Reubah,或者解决直接IP端口访问可能出现的功能问题,可以设置 Nginx 反向代理。

  1. 安装 Nginx Proxy Manager (推荐) 或直接配置 Nginx。
  2. 配置反向代理
    • 如果使用 Nginx Proxy Manager,在添加代理主机时:
      • 域名:填写你的域名,如 reubah.yourdomain.com
      • IP 地址:如果代理与 Reubah 在同一服务器,可填写 Docker 内部 IP(通过 ip addr show docker0 查看)或 127.0.0.1
      • 端口:填写你 Compose 文件中配置的主机端口,例如 8083
    • 如果使用 宝塔面板或原生 Nginx,可以添加一个站点,并在其配置文件中加入以下代码(请替换端口): nginx location / { proxy_pass http://127.0.0.1:8083; # 注意改成你实际使用的主机端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
  3. 将你的域名 DNS 解析到服务器 IP。

配置固定公网地址(远程访问)

如果你希望在家庭网络外的设备上也能访问部署好的 Reubah,可以使用内网穿透工具,如 cpolar。 1. 安装 cpolar (curl -sSL https://get.cpolar.sh | sh)。 2. 在 cpolar Web 界面(本地9200端口)创建一条 HTTP 隧道,本地地址填写 Reubah 的服务端口(如 8083)。 3. cpolar 会生成一个公共网址,通过该网址即可在任何有网络的地方访问你的 Reubah 服务。

🐛 七、常见问题排查 (FAQ)

问题现象 可能原因与解决方法
无法访问 http://服务器IP:8083 1. 检查防火墙/安全组是否放行了 8083 端口。
2. 确认容器是否正常运行:docker-compose ps
3. 查看容器日志:docker-compose logs reubah
上传或处理文件失败 1. 检查文件大小是否超过 32MB 限制。
2. 尝试配置反向代理,直接IP端口访问有时会导致API请求失败。
容器启动后立即退出 1. 检查镜像拉取是否成功。
2. 查看日志确认是否有初始化错误。

希望这份教程能帮助你顺利完成 Reubah 的部署!享受这款安全、高效、私有的文件处理神器带来的便利吧!如果在部署过程中遇到问题,可以查阅 Reubah 的 GitHub 项目主页 获取更多信息。