自托管服务
自托管项目与服务器折腾总结
好久没上论坛发帖了,于是决定总结一下最近的折腾:
最近一直在尝试 Selfhost(自部署/自托管) 项目,还有折腾硬件服务器捡垃圾。经过一个月的摸索,最后删去了多余的,只精选下来实用的项目。
我的服务器
这是我的服务器监控界面,使用的是简约的 beszel 监控工具,日常查看服务器状态和服务 CPU、内存占用已经足够,内存占用不到 10MB。
我的服务器很少,Claw 是最近几天才买的,配置如下:
- 1H1G 的小鸡,一年 7 刀乐。
- 2H4G 的小鸡,一个月 4.2 刀乐。
- 还有一个 RackNerd 的 1H1G 小鸡,一直放着吃灰,最近服务器性能不够才想起来。
- Vultr 的 1H1G 小鸡不在图里,因为欠费了(我也不知道为什么欠费了,明明够的)。
- PVE 结尾的是我的实体服务器,J1900 跑 PVE 分化成了 Kali、Debian、Alpine,加上 8G DDR3 笔记本内存 + 120G SATA 固态,外挂了一块 3T 3.5 寸机械硬盘(日常内存爆表)。
接下来按每个服务器的职务介绍下自托管项目。
自托管项目
Kali_PVE
PVE 里的 Kali 几乎没怎么用过,主要是用来学习网安的,不是搞别的东西的。所以只跑了:
- Tailscale 内网穿透,用于远程 SSH。
- beszel-agent 被监控。
- RustDesk 客户端来远程控制。
使用体验:能用就行了,我一个穷学生能有就不错了 OvO。
Debian_PVE
Debian_PVE 其实是最早用的,因为经常重装系统,后来换成了 Alpine,确实更轻量了,但兼容性问题让折腾程度翻倍 QAQ。
因为服务大多在 Alpine Linux 上,不好迁移,所以只跑了和 Kali 一样的:
- Tailscale 组网。
- beszel-agent。
- RustDesk 客户端。
Alpine_PVE
这个服务器运行了一些服务,巅峰时期有十几项,最近删掉了大部分不实用的项目,留下了以下服务:
Komga - 自托管漫画服务
- 颜值即正义,简约大气,爽看漫画!
- Docker-compose 极速部署。
- iOS 和安卓都有第三方客户端(Tachi2JK、mihon、Tachimanga 都支持 Komga 插件)。
- 漫画资源通过网盘下载,搭配下载器和图源。
Immich - 自托管图片服务
- 备份照片流畅,搭配大硬盘和 Tailscale 内网穿透,Cloudflare Tunnel 也很不错。
- 支持机器学习,自动分类照片,但内存占用较高。
- Docker-compose 极速部署。
- iOS 和安卓都有官方客户端。
Navidrome - 自托管音乐服务
- 没时间听歌,所以服务器上只有杰伦、泰勒和进击的巨人的歌。
- 不推荐 Web 端,客户端体验极佳。
- 音乐资源来自 Hifini 和 SpotifyDown。
Jellyfin - 自托管音视频服务
- 个人认为除了看珍藏视频,还是上别人的 Emby 服务器更好。
- Emby 更精美但要收费,Plex 不太熟,Jellyfin 算是一个凑合的选择。
- Docker-compose 极速部署。
- 第三方客户端丰富。
远程控制
- SSH、RDP、VNC 等都可以通过 TailScale 组网实现。
- 内网、VPN、公网 三种方式 SSH 连接。
远程桌面有很多选择,比如todesk(我现在决定用到VIP结束),因为我个人认为todesk在对于手机操控上,缺陷太大。TOdesk逆天在于,要购买一层一层的会员,同时控制要会员,从30HZ到60HZ要会员,60HZ-90HZ加钱,90HZ-120HZ加钱,提高画质加钱,操控安卓手机,买插件,加钱,等等等等。个人尝试过很多次,手机操控手机,电脑操控手机,基本就是开始就卡死动不了。弃置。
而rustdesk是开源的可自托管的远程控制,看上面下面的图,基本是全平台支持的。
远程桌面重要的是CPU的性能,以及网络质量,ClawCloud最近偶然发现有7刀乐一年1核心 1G内存 40GB存储 200Mbps最高带宽 500GB 流量每月重置。
于是ClawCloud就被我用来搭建rustdesk的中继服务器了。目前来看,可以操控的设备到达了7个(包括1台手机,2台电脑,windows+本机Mac,4台Linux服务器,RackNerd和Alpine linux马上了)
- 需要一台服务器作为中继服务器,同时自身也可以连接与被连接
- 一个有显示功能的桌面Linux,低配版建议Xfce+lightdm
- 一个rustdesk客户端
- 在桌面环境启动rustdesk(linux推荐’rustdesk -d‘在后台运行)
- 最基础的设置:在客户端输入ID服务器,中继服务器,Key,Api服务器可以不填,ID服务器,中继服务器一般都是填的中继服务器的公网IP,Key好像是在docker logs rustdesk的输出里找。(粘贴复制会以base64格式解码编码)
- 在控制端客户端在输入被控设备的ID,对我自己,最好提前设置使用固定的密码。
- 对于连接失败,一般只要不是“远程电脑处于离线状态”,多试几次一般都能成功
被连接的设备因为开启了显示,CPU使用率会飙升,低配服务器的音视频都只能是超渣质量。
这是clawcloud2H4G看1080p视频(
homer:
其他服务
- Zipline 文件服务器,搭配 ShareX 截图上传,集成使用很好。
- 从 KeePassDX/XC 迁移到 vaultwarden,使用 Cloudflare Tunnel 实现 HTTPS。
- 淘汰了 ConvertX、Trilium、DweebUI 等,虽然它们都是优秀的自托管服务,但对我个人来说可有可无。
学习来源
-
Reddit 的 r/selfhost 板块,专门讨论自托管服务。
-
DeepSeek,解决了 95% 的自托管问题。