Decentralization? We're still early!

Runtipi:另一个简单优雅的家庭云系统/HomeLab工具

  • Runtipi:另一个简单优雅的家庭云系统/HomeLab工具

    發布人 Brave 2023-12-31 08:17

    Runtipi 是一个家庭云系统/HomeLab 工具,它可以让你在你的家庭服务器上轻松运行和管理各种应用和服务,而无需深入了解复杂的服务器操作系统设置和管理任务。

    Runtipi 使用 Docker 容器作为底层技术,并提供了一个简单直观的 Web 界面来安装、配置和控制这些应用。截至 2025 年,Runtipi 的官方应用商店已提供接近 300 种应用,你可以一键安装,无需进行复杂的配置。Runtipi 采用 TypeScript 编写,代码结构清晰、文档完善,遵循业界最佳实践,这使得它在同类工具中脱颖而出。

    作为开源软件(基于 GNU General Public License v3.0 许可证),你可以在 GitHub 上查看 Runtipi 的源代码和文档。本文将介绍 Runtipi 的主要特点和优势,以及如何在你的家庭服务器上安装和使用 Runtipi。


    Runtipi 的主要特点

    Runtipi 有如下几个主要特点,使它成为一个优秀的家庭服务器应用管理平台:

    简单易用

    Runtipi 的 Web 界面设计简洁明了,你可以轻松地浏览、搜索、安装和管理你想要的应用和服务。你不需要深入了解 Docker 或其他底层技术的细节,只需按照界面提示操作即可。

    Runtipi 的仪表盘采用极简设计风格,顶部导航栏清晰直观,主界面包含三个核心监控组件:

    📊 监控指标说明
    💾 磁盘使用率实时显示存储空间占用情况
    🧠 内存使用率监控 RAM 的使用状态
    ⚡ CPU 使用率追踪处理器负载情况

    与 CasaOS 和 Umbrel 提供的可自定义小组件和应用快捷方式不同,Runtipi 追求的是功能优先、界面精简的设计理念,这使得它对新手用户更加友好,减少了决策负担。

    Runtipi 还内置了一些常用工具,如文件管理器、终端、日志查看器等,方便你对家庭服务器进行更精细的控制和调试。


    丰富多样

    Runtipi 目前提供了接近 300 种应用,涵盖了各种类型和功能,例如:

    🏷️ 应用类别代表应用功能说明
    🎬 媒体服务器Plex、Jellyfin、Emby管理和串流你的个人影音库
    ☁️ 云存储Nextcloud、Seafile搭建私有云盘,同步和分享文件
    📝 博客平台WordPress、Ghost创建和管理个人博客或网站
    📒 笔记应用Trilium、Joplin、Obsidian知识管理和笔记记录
    🌐 网络工具AdGuard Home、Pi-hole全网广告拦截和 DNS 管理
    🏠 智能家居Home Assistant统一管理智能家居设备
    🤖 AI 代理各类本地 AI 工具运行本地大语言模型和 AI 服务
    🎮 游戏管理RomM管理和组织游戏 ROM 收藏
    🧵 3D 打印Spoolman追踪 3D 打印耗材使用情况
    🛠️ 实用工具IT-Tools开发者和 IT 专业人员的在线工具集

    你可以根据你的需求和兴趣,选择喜欢的应用来极大地丰富你的家庭服务器的功能和体验。

    Runtipi 采用 Renovate Bot 自动化更新机制,这意味着一旦上游应用发布新版本,用户几乎可以立即获得更新通知,大大缩短了从开发者发布到用户可用之间的时间差。这是 Runtipi 相较于其他同类工具的一个显著优势。

    Runtipi 还支持添加自定义应用,你可以通过提供 Docker 镜像或 Docker Compose 文件来运行列表之外的应用和服务。从 v4.0.0 版本开始,Runtipi 原生支持标准的 docker-compose.yml 语法,只需添加 x-runtipi 元标签即可定义应用行为,大大降低了自定义应用的门槛。


    安全可靠

    Runtipi 采用了一些最佳实践和安全措施来保护你的家庭服务器和数据的安全:

    🔒 容器隔离

    每个服务都运行在独立的 Docker 容器中,这种隔离机制确保了即使某个应用出现安全问题,也不会影响到其他服务或宿主系统的安全。

    🔐 SSL 证书自动化

    Runtipi 集成了 Let's Encrypt,可以为你的服务自动申请和续订免费的 SSL 证书,确保你的网络通信加密安全。

    🔀 反向代理管理

    它还使用内置的反向代理来自动管理应用的域名和端口映射,避免了端口冲突和不必要的端口暴露风险。

    🛡️ 安全更新与漏洞修复

    Runtipi 团队对安全问题保持高度重视。在 v4.7.0 版本中,团队修复了一个重要的安全漏洞——该漏洞允许经过身份验证的用户通过注入 shell 元字符在宿主服务器上执行任意系统命令。此外:

    • 📜 应用日志现在会正确转义 XML 标签,防止应用在日志中显示恶意 HTML 格式文本
    • 📦 备份文件名在上传时会进行严格的消毒处理,防止经过身份验证的远程代码执行(RCE)漏洞
    • 🧹 所有使用用户提供值的代码路径都已加固,确保输入被正确消毒

    此外,Runtipi 也提供了一些基础的安全选项,如防火墙(UFW)集成、应用备份与恢复支持等,帮助你更好地保护服务器和数据。


    多应用商店支持(v4.0.0 新特性)

    从 v4.0.0 版本开始,Runtipi 引入了一项重大新功能——多应用商店支持。这意味着你现在可以:

    • 📚 同时使用官方应用商店和社区维护的第三方应用商店
    • 🏗️ 创建、维护和分享你自己的应用集合
    • 🌐 访问来自 awesome-selfhosted 等社区精选的自托管应用

    ⚠️ 需要注意的是:官方应用商店目前仍在持续更新和维护,但不再接受新应用的提交,Pull Request 仅限于 Bug 修复。如果你需要的应用不在官方商店中,可以选择添加社区应用商店或创建自己的应用商店。


    协作功能

    虽然主要定位是 HomeLab 工具,但 Runtipi 的某些应用(如 Nextcloud、Collabora等)天然支持协作。你可以利用这些服务,邀请家人、朋友或小团队成员,共享文件、日历、任务或进行文档协作,提升特定场景下的协作效率。


    备份与恢复

    Runtipi 的理念是"永不丢失数据"。它提供了完善的备份与恢复功能,让你可以在更新前轻松备份应用数据,确保平稳过渡:

    📁 备份存储结构

    runtipi/
    └── backups/
        └── [app-store-name]/
            └── [app-name]/
                ├── backup-2025-01-15.tar.gz
                └── backup-2025-02-01.tar.gz

    ⌨️ CLI 备份命令

    命令功能
    ./runtipi-cli app backup <app-id>创建应用备份
    ./runtipi-cli app restore <app-id>:<store> <backup-filename>从备份恢复应用
    ./runtipi-cli app list-backups <app-id>列出可用备份
    ./runtipi-cli app delete-backup <app-id> <backup-filename>删除指定备份

    ⏰ 自动化备份

    Runtipi 提供了使用 cron 任务自动备份的指南,你可以设置每周、每月或每天自动备份所有应用(此功能需要 v4.0.0 或更高版本)。


    Runtipi 与同类工具对比

    在 HomeLab 领域,Runtipi 与 CasaOS、Umbrel 是最受欢迎的三个自动化应用部署平台。以下是它们的详细对比:

    📋 对比维度RuntipiCasaOSUmbrel
    安装方式一行命令脚本一行命令脚本需下载 ISO 镜像全新安装
    应用数量约 300 个约 100 个约 100 个
    更新机制Renovate Bot 自动化手动更新手动更新
    代码语言TypeScriptGoTypeScript
    开源协议GPL v3.0Apache 2.0PolyForm Noncommercial
    资金来源社区捐赠Ice Whale Tech 公司商业投资
    自定义组件基础固定组件丰富的可自定义组件可自定义组件
    代码质量⭐⭐⭐⭐⭐ 优秀⭐⭐⭐⭐ 良好⭐⭐⭐⭐ 良好
    NAS 功能基础完善(类 Synology 体验)基础
    Bitcoin 应用少量少量丰富

    💡 选择建议:

    • 选择 Runtipi:如果你追求最大的应用选择、快速的更新推送、以及高质量的代码基础
    • 选择 CasaOS:如果你需要完善的 NAS 功能、类似 Synology 的用户体验
    • 选择 Umbrel:如果你是 Bitcoin 爱好者或追求最简化的入门体验

    如何安装 Runtipi

    系统要求

    在安装 Runtipi 之前,请确保你的服务器满足以下最低配置要求:

    🖥️ 硬件组件最低要求建议配置
    CPU2 核心(64 位 x86 或 ARM64)4 核心或以上
    内存4 GB RAM8 GB 或以上
    存储根据所安装应用而定SSD 推荐
    架构64 位(不支持 32 位系统)

    📌 操作系统要求:

    • 推荐:Ubuntu 18.04 LTS 或更高版本
    • 支持:Debian、Fedora、CentOS、Rocky Linux、Arch Linux、Manjaro、Pop!_OS 等主流发行版
    • ARM64 平台:Ubuntu 24.04 ARM64 镜像可正常工作(如 Raspberry Pi)

    ⚠️ 重要提示:并非所有应用都支持 ARM64 架构,Runtipi 会自动隐藏不兼容当前架构的应用。

    🌐 网络要求:

    • 端口 80 和 443 必须可访问(或重新映射到其他端口)
    • 如需通过 Let's Encrypt 自动获取 HTTPS 证书,服务器需要一个指向其 IP 的公共域名

    安装前提条件

    你需要有一台运行 Linux 的家庭服务器,官方推荐使用 Ubuntu 或 Debian,但也支持其他主流发行版(需要确保 Docker 环境兼容)。

    你需要有通过 SSH 客户端连接到你的家庭服务器的权限,或者能够直接在服务器上操作终端。


    安装步骤

    满足条件后,你可以按照以下步骤安装和使用 Runtipi:

    Step 1️⃣ 准备工作

    在你的 SSH 客户端中连接你的家庭服务器,或者直接打开服务器的终端。首先确保系统已安装 curl 和 git:

    sudo apt update && sudo apt install -y curl git

    Step 2️⃣ 运行安装脚本

    输入以下命令来下载并运行 Runtipi 的安装脚本:

    curl -sSL https://get.runtipi.sh | bash

    📋 安装脚本会自动完成以下操作:

    • 检测系统架构(拒绝 32 位系统)
    • 检测并安装 Docker(如未安装或版本低于 28.0.0)
    • 下载 Runtipi CLI 工具
    • 启动 Runtipi 服务

    💡 高级安装选项:

    参数说明示例
    --version指定安装版本--version v4.7.0
    --update更新现有安装--update
    --env-file使用自定义环境配置--env-file /path/to/.env

    Step 3️⃣ 初始配置

    在安装过程中,脚本通常会引导你进行一些基本设置,例如设置 Runtipi 访问的域名(或服务器 IP 地址)以及你的邮箱地址(用于申请 Let's Encrypt 的 SSL 证书,如果使用域名访问)。你可能还会看到关于防火墙设置或安装推荐应用的选项。

    Step 4️⃣ 访问 Web 界面

    安装完成后,你可以在浏览器中输入你设置的域名(或 IP 地址,如 http://192.168.1.100)来访问 Runtipi 的 Web 界面。首次访问时,你需要创建一个管理员账号,用于登录和管理 Runtipi。

    Step 5️⃣ 开始使用

    登录后,你就可以在 Runtipi 的 Web 界面中浏览应用商店、搜索、一键安装和管理你想要的应用和服务了。

    🎯 安装应用的操作流程:

    1. 在应用商店中找到目标应用,点击 Install 按钮
    2. 在弹出窗口中配置反向代理设置(如域名、端口等)
    3. 点击 Install 确认安装
    4. 安装完成后,点击 Open 在新窗口中访问应用

    数据迁移

    当你需要更换硬件或迁移到新服务器时,Runtipi 支持完整的数据迁移:

    Step 1️⃣ 在原服务器上停止 Runtipi:

    cd ~/runtipi
    ./runtipi-cli stop

    Step 2️⃣ 创建迁移归档(排除媒体文件、仓库和备份以减小体积):

    tar -cvf runtipi-migration.tar --exclude='media' --exclude='repos' --exclude='backups' runtipi/

    Step 3️⃣ 将归档传输到新服务器并解压

    Step 4️⃣ 在新服务器上安装 Runtipi,然后停止服务,用解压的文件夹替换新安装的 runtipi 文件夹

    Step 5️⃣ 重新启动 Runtipi


    小结

    Runtipi 是一个出色的 HomeLab 管理工具,它让你能够轻松地在家庭服务器上运行和管理各种应用和服务,无需繁琐地配置和维护单个服务。通过其简洁的界面,你可以一键安装和更新接近 300 个流行的应用程序,极大地降低了家庭服务器的运维门槛和成本。其应用商店涵盖了从媒体服务到生产力工具再到 AI 代理的广泛选择。

    Runtipi 的核心优势总结:

    ✨ 优势说明
    🚀 快速部署一行命令完成安装,5 分钟内启动运行
    📦 海量应用接近 300 种应用,同类工具中最多
    ⚡ 即时更新Renovate Bot 自动化,第一时间获取更新
    🔒 安全至上容器隔离、自动 HTTPS、持续安全修复
    💾 数据保护完善的备份恢复和迁移支持
    🛠️ 高度可扩展多应用商店、自定义应用、原生 Docker Compose 支持
    📖 代码质量TypeScript 编写,文档完善,社区活跃

    对于希望简化 HomeLab 管理、快速部署各种服务的用户来说,Runtipi 是一个非常值得推荐的选择。


    📚 相关资源

    资源链接
    🌐 官方网站https://runtipi.io/
    📖 官方文档https://runtipi.io/docs/getting-started/installation
    💻 GitHub 仓库https://github.com/runtipi/runtipi
    📱 应用列表https://runtipi.io/docs/apps-available
    🗃️ 应用商店仓库https://github.com/runtipi/runtipi-appstore
    📋 版本发布记录https://github.com/runtipi/runtipi/releases

    Brave 回复 11 months, 1 week ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在