自托管项目与服务器折腾总结

好久没上论坛发帖了,于是决定总结一下最近的折腾:

最近一直在尝试 Selfhost(自部署/自托管) 项目,还有折腾硬件服务器捡垃圾。经过一个月的摸索,最后删去了多余的,只精选下来实用的项目。


我的服务器

server.webp

beszel.webp
这是我的服务器监控界面,使用的是简约的 beszel 监控工具,日常查看服务器状态和服务 CPU、内存占用已经足够,内存占用不到 10MB。

我的服务器很少,Claw 是最近几天才买的,配置如下:

  • 1H1G 的小鸡,一年 7 刀乐。
  • 2H4G 的小鸡,一个月 4.2 刀乐。
  • 还有一个 RackNerd 的 1H1G 小鸡,一直放着吃灰,最近服务器性能不够才想起来。
  • Vultr 的 1H1G 小鸡不在图里,因为欠费了(我也不知道为什么欠费了,明明够的)。
  • PVE 结尾的是我的实体服务器,J1900 跑 PVE 分化成了 KaliDebianAlpine,加上 8G DDR3 笔记本内存 + 120G SATA 固态,外挂了一块 3T 3.5 寸机械硬盘(日常内存爆表)。

接下来按每个服务器的职务介绍下自托管项目。


自托管项目

Kali_PVE

kalilinux.webp

PVE 里的 Kali 几乎没怎么用过,主要是用来学习网安的,不是搞别的东西的。所以只跑了:

  • Tailscale 内网穿透,用于远程 SSH。
  • beszel-agent 被监控。
  • RustDesk 客户端来远程控制。

使用体验:能用就行了,我一个穷学生能有就不错了 OvO。


Debian_PVE

xfce4.webp

Debian_PVE 其实是最早用的,因为经常重装系统,后来换成了 Alpine,确实更轻量了,但兼容性问题让折腾程度翻倍 QAQ。

因为服务大多在 Alpine Linux 上,不好迁移,所以只跑了和 Kali 一样的:

  • Tailscale 组网。
  • beszel-agent
  • RustDesk 客户端。

Alpine_PVE

beszel2.webp

这个服务器运行了一些服务,巅峰时期有十几项,最近删掉了大部分不实用的项目,留下了以下服务:

Komga - 自托管漫画服务

  • 颜值即正义,简约大气,爽看漫画!
  • Docker-compose 极速部署。
  • iOS 和安卓都有第三方客户端(Tachi2JK、mihon、Tachimanga 都支持 Komga 插件)。
  • 漫画资源通过网盘下载,搭配下载器和图源。

komga.webp


Immich - 自托管图片服务

  • 备份照片流畅,搭配大硬盘和 Tailscale 内网穿透,Cloudflare Tunnel 也很不错。
  • 支持机器学习,自动分类照片,但内存占用较高。
  • Docker-compose 极速部署。
  • iOS 和安卓都有官方客户端。

immich1.webp


  • 没时间听歌,所以服务器上只有杰伦、泰勒和进击的巨人的歌。
  • 不推荐 Web 端,客户端体验极佳。
  • 音乐资源来自 HifiniSpotifyDown

navidrome.webp


Jellyfin - 自托管音视频服务

  • 个人认为除了看珍藏视频,还是上别人的 Emby 服务器更好。
  • Emby 更精美但要收费,Plex 不太熟,Jellyfin 算是一个凑合的选择。
  • Docker-compose 极速部署。
  • 第三方客户端丰富。

jellyfin.webp


远程控制

rustdesk.webp

  • SSHRDPVNC 等都可以通过 TailScale 组网实现。
  • 内网VPN公网 三种方式 SSH 连接。

远程桌面有很多选择,比如todesk(我现在决定用到VIP结束),因为我个人认为todesk在对于手机操控上,缺陷太大。TOdesk逆天在于,要购买一层一层的会员,同时控制要会员,从30HZ到60HZ要会员,60HZ-90HZ加钱,90HZ-120HZ加钱,提高画质加钱,操控安卓手机,买插件,加钱,等等等等。个人尝试过很多次,手机操控手机,电脑操控手机,基本就是开始就卡死动不了。弃置。

而rustdesk是开源的可自托管的远程控制,看上面下面的图,基本是全平台支持的。

rustdesk2.webp

远程桌面重要的是CPU的性能,以及网络质量,ClawCloud最近偶然发现有7刀乐一年1核心 1G内存 40GB存储 200Mbps最高带宽 500GB 流量每月重置。

于是ClawCloud就被我用来搭建rustdesk的中继服务器了。目前来看,可以操控的设备到达了7个(包括1台手机,2台电脑,windows+本机Mac,4台Linux服务器,RackNerd和Alpine linux马上了)

rustdesk3.webp

  1. 需要一台服务器作为中继服务器,同时自身也可以连接与被连接
  2. 一个有显示功能的桌面Linux,低配版建议Xfce+lightdm
  3. 一个rustdesk客户端
  4. 在桌面环境启动rustdesk(linux推荐’rustdesk -d‘在后台运行)
  5. 最基础的设置:在客户端输入ID服务器,中继服务器,Key,Api服务器可以不填,ID服务器,中继服务器一般都是填的中继服务器的公网IP,Key好像是在docker logs rustdesk的输出里找。(粘贴复制会以base64格式解码编码)

termius1.webp

  1. 在控制端客户端在输入被控设备的ID,对我自己,最好提前设置使用固定的密码。

cpu.webp

  1. 对于连接失败,一般只要不是“远程电脑处于离线状态”,多试几次一般都能成功

被连接的设备因为开启了显示,CPU使用率会飙升,低配服务器的音视频都只能是超渣质量。

这是clawcloud2H4G看1080p视频(

rustdesk7.webp


homer:

homer1.webp


其他服务

  • Zipline 文件服务器,搭配 ShareX 截图上传,集成使用很好。
  • KeePassDX/XC 迁移到 vaultwarden,使用 Cloudflare Tunnel 实现 HTTPS。
  • 淘汰了 ConvertXTriliumDweebUI 等,虽然它们都是优秀的自托管服务,但对我个人来说可有可无。

学习来源

  • Redditr/selfhost 板块,专门讨论自托管服务。

  • Selfh.stTcoo.cc,前者是我查找自托管服务的起点,后者是最近发现的。

    selfhost3.webp

  • DeepSeek,解决了 95% 的自托管问题。

  • Linux.do


mindmap2.webp

文章发布在: