🚀 使用 Docker Compose 部署 Reubah
下面是一份为新手准备的 Reubah Docker Compose 部署教程,它将帮你快速搭建一个安全、高效、私有化的图片与文档处理中心,再也不用担心在线工具的隐私泄露和文件大小限制问题了。
🎯 Reubah 简介与核心优势
Reubah 是一款开源免费的本地化文件处理工具,通过友好的 Web 界面,让你能在自己的服务器上轻松完成各种图片和文档处理任务。
主要功能特点: * 🖼️ 全面的图片处理:支持压缩、格式转换(如 JPG, PNG, WEBP 等),并能调整图片质量和分辨率。 * 📄 文档格式转换:支持在 PDF、DOCX、PPTX、TXT 等常见文档格式间相互转换。 * 📦 高效的批处理:可以同时处理多个图片或文档,大幅提升工作效率。 * 🔒 隐私安全:所有数据处理均在你的本地服务器上完成,文件不会上传到任何远程服务器,从根源上保护你的隐私。 * 🐳 容器化部署:提供 Docker 镜像,部署简单,升级和维护方便。
技术亮点: Reubah 基于 Go 语言构建,采用 React 前端框架,提供了响应式的 Web 界面。其容器化架构确保了环境的一致性,避免了复杂的依赖安装过程。
⚙️ 一、部署前准备
-
环境要求
- 已安装 Docker 和 Docker Compose(这是运行 Reubah 的必备条件)。
- 建议系统内存不少于 1GB(根据你的处理文件大小和并发量调整)。
- 确保服务器的 8083 端口(或你自定义的其他端口)未被占用。
-
环境检查 在终端中执行以下命令,确认 Docker 环境正常:
bash docker --version docker-compose --version如果系统返回了版本号,说明已经安装妥当。 -
创建项目目录 建议创建一个独立的目录来管理 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 |
(可选)如果你希望容器运行中产生的临时文件在容器重启后得以保留,可以取消注释。按你提供的配置,这两个目录非必需,可先不挂载。 |
🚀 三、启动与验证
-
启动 Reubah 服务 在
docker-compose.yml文件所在目录执行:bash docker-compose up -d-d参数代表在后台运行容器。 -
检查服务状态
bash docker-compose ps如果看到reubah容器的状态为Up,就表示部署成功了。 -
查看实时日志(可选) 如果遇到问题,可以通过以下命令查看容器日志来排查:
bash docker-compose logs -f reubah -
访问 Reubah Web 界面 打开你的浏览器,输入
http://你的服务器IP地址:8083。- 如果一切正常,你将看到 Reubah 简洁的操作界面。
- 界面主要分为三个功能区:图片处理、文档处理和批处理。
- 注意:Reubah 的 Web 界面可能需要反向代理才能完全正常访问。若直接通过
IP:端口访问出现功能异常,请参考本章节后续的"通过域名访问(反向代理)"部分进行配置。
🖥️ 四、使用 Reubah
成功部署后,你就可以开始使用 Reubah 来处理你的文件和图片了。
-
图片处理
- 点击 "图片处理" 区域,上传你的本地图片(最大支持 32MB)。
- 在右侧设置输出格式(如 JPG, PNG)、调整压缩质量等级等。
- 点击 "处理图像",效果立即可见。例如,一张 5MB 的图片可以被压缩到几百KB,而清晰度几乎无损。
- 处理完成后,点击右下角的下载按钮保存。
-
文档转换
- 点击 "文档处理" 区域,上传你的文档(如 Word、PDF)。
- 选择你想要转换的输出格式。
- 点击 "处理文档",稍等片刻即可完成转换。
-
批量处理
- 对于大量文件,使用 "批处理" 功能可以显著提升效率。
语言提示: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-temp和tmp)即可。
🌐 六、高级配置(可选)
通过域名访问(反向代理)
如果你希望通过域名(例如 reubah.yourdomain.com)访问 Reubah,或者解决直接IP端口访问可能出现的功能问题,可以设置 Nginx 反向代理。
- 安装 Nginx Proxy Manager (推荐) 或直接配置 Nginx。
- 配置反向代理:
- 如果使用 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"; }
- 如果使用 Nginx Proxy Manager,在添加代理主机时:
- 将你的域名 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 项目主页 获取更多信息。