最近从兄弟处白嫖了台旧的游戏主机,用来建设个人服务器。由于刚接触这个兴趣,这两个月尝试了不少感兴趣的自建服务,开个贴记录一下个人服务器的现状。
硬件
废弃游戏台式(主服务器)
主板:B450 TOMAHAWK MAX
CPU:AMD Ryzen 7 3700X
内存:16gx2 DDR4
显卡:Nvidia RTX 2070Super 8g
储存:
1x三星970 EVO 250g NVMe SSD
1x8T WD Red 机械盘
废弃ROG游戏本(副服务器)
一台2017年款的Rog游戏本,型号应该是ROG Strix GL502,配置如下:
CPU:Intel I7-7700hq
内存:16g DDR4
显卡:Nvidia GTX 1060 6g
储存:
1x250g ssd
1x1T 机械盘
说实话对于大部分的个人服务器的使用场景,主服务器配置是有点浪费性能了hh。所以这里是打算用虚拟环境顺便把NAS也建立在同一台服务器上。而且硬件放着也是吃灰,倒不如活用(折腾)起来。
显卡的性能在2024年虽然不怎么够看,但随便跑个媒体服务器硬件解码,偶尔跑两张Stable Diffusion的图也足够用了。
至于存储,确实是当初有欠考虑了:
250g 系统存储对于一般的个人电脑还行,但对于装虚拟机的多系统服务器还是太少了。目前考虑合适的时候入手一条2t的,然后把这条替换掉,或者直接当成Cache Disk
然而这台式的主板唯一的一个m.2口在运输时坏掉了,只能买一个pcie -> m.2转接口
单8T的机械硬盘虽然目前存储空间上足够个人使用,但并没有冗余,目前服务器也没有任何形式的备份,说实话是比较危险的,也是接下来我想要进行改进的方向
主服务器
这里大致列举一下在主服务器上部署的系统和服务。具体的虚拟机,服务器,和各种服务的配置因为篇幅考虑就不一一赘述了,基本都是按照油管教程一步一步搭建的,网上教学也很多。以后可能看情况选一两个有研究的写独立的文章记录记录。
Proxmox VE(虚拟环境)
链接:https://www.proxmox.com/en/proxmox-virtual-environment/overview
由于手头上没有多余的硬件,虚拟环境(VE)就是比较方便的选择。这里主要的目的是做到服务和存储分离。
这里选择了大部分人在用的Proxmox VE。很基础的只弄了两个虚拟环境:一个ubuntu server,一个truenas。分配的内存分别是16gb和8gb。
TrueNAS(网络附属存储)
链接:https://www.truenas.com/truenas-core/
NAS(Network Storage System),主要用来存放大量的媒体文件和各种资料。
这里选用的也是比较多人使用的TrueNAS Core,把8T的盘从Proxmox直通到TrueNAS里,然后新建一个单盘的pool,然后建立一个基础的SMB share,就基本配置好了。后续会考虑增加一个镜像盘当作冗余,防止硬盘故障造成数据丢失。云端备份嘛,先安排上,以后再说哈哈(希望我不会后悔hh
Ubuntu Server
很流行的一款Linux发行,主要用来装Docker运行所有日常用的核心服务,这里简单列举一下比较常用的一些服务:
Portainer
简洁好用的容器管理服务。Stack功能相当于docker compose。操作界面简单易懂,几乎告别了命令行管理docker容器
Emby
也是比较主流的一个媒体服务器,主要存我的番剧,电影,以及一些日本作品
个人感觉相比于Plex,Emby感觉比较简约,也比较对我的审美。也尝试过JellyFin,作为Emby的一个fork,好处是所有功能都是免费的,缺点是实在是不省心,有很多地方有奇奇怪怪的bug,元数据的抓取和管理也不如emby好用,总体上没有Emby这种开盒即用的流畅体验。
Komga
链接:https://github.com/gotson/komga
安卓Material风格的漫画媒体服务器。里面存了一两部要看的漫画。目前使用的频率不高,主要是因为漫画资源真心不如动漫电影资源好找。。可能追漫画还是比较适合在平台上追。
PhotoPrism
链接:https://github.com/photoprism/photoprism
照片,图片同步+图床。这两天刚设立起来的容器,主要想用来管理/备份手机照片,以及电脑上的一些截图,和作为图床进行使用。这篇文章的图片都是来自于这个仓库。AI跑的图也能随时在上面浏览查看。
这个软件还没怎么用熟悉,不过功能似乎非常全面,慢慢研究研究。
移动端支持非常不错。另外整体软件体验很流畅,不知是否得益于Go开发的缘故
qBittorrent
链接:https://github.com/qbittorrent/qBittorrent
磁力链接下载器。不多说,主力电影/动漫下载工具,日常也挂着一些PT站的种子。
Halo
链接:https://github.com/halo-dev/halo
这个博客的构建框架,目前感觉比较现代和简约,拓展性也不错,打算再继续尝试一段时间。可能过段时间也会试试写一写自己的插件,比如steam库数据页面,pixiv收藏图库页面等功能。
Stable Diffusion WebUI(非docker)
链接:https://github.com/AUTOMATIC1111/stable-diffusion-webui
最多人使用,社区支持最丰富的Stable Diffusion WebUI版本,平常随便跑几张图玩。
这里没有选择使用docker安装的原因:
没有官方镜像。目前社区的镜像设置比较麻烦而且比较占空间
配合tmux和systemd自启动也不是很麻烦,可以接受
副服务器
副服务器用的是我17年买的人生第一台游戏本,现在散热已经很有问题了,只能日常跑跑一些轻量的服务。但由于笔记本天生优势,自带键鼠+UPS,稳定性相对高,所以决定用来部署一些内网的网络服务,方便我访问/管理别的服务。
由于此笔记本也承担了我最开始探索自建服务器的任务,所以上面并没有(其实也没必要)装VE。取而代之的是安装了一个名叫CasaOS的,基于docker的服务管理平台。
CasaOS
链接:https://github.com/IceWhaleTech/CasaOS
使用非常傻瓜,界面非常优美的一体化服务管理平台。内置App Store,收录了不少常用的镜像,也能自己通过docker以及docker compose添加自定义服务。甚至还有内置的文件浏览器,文本编辑器,可以说基本上很多操作都告别了命令行。非常推荐想尝鲜自组服务器,但又嫌从头搭建太麻烦的朋友使用。事实上我最开始也是直接在CasaOS上部署了不少服务,后来才转移到现在基于VE的方案。
Pi-Hole
链接:https://github.com/pi-hole/pi-hole
很多人使用的一款本地DNS服务。主要用来代替路由器管理本地的DNS记录,顺带还能过滤不少网页广告。由于缺乏专业知识,也比较懒,许多好用的功能(比如接管DHCP)其实并没有用到。
Nginx Proxy Manager
链接:https://nginxproxymanager.com/
本地配置的反向代理服务。主要用于给本地的服务自定义域名,从此告别了访问服务要靠记本地IP地址和端口号的窘境。NPM支持Let’s Encrypt,配合网络供应商生成的SSL证书就能把内网外网能访问的个人地址都用https加密。
相比于Traefik非常轻量,使用和部署也很直接。Traefik一大堆我看不懂的功能,部署过程感觉也极为痛苦,暂时NPM能完美满足我的需求。
TODOs(2024-3月)
硬件
UPS后备电源
2T NVMe SSD代替现在的250g系统盘
增加额外的8t镜像盘
软件
Nextcloud个人云端
Calibre电子书库
硬件监测仪表盘
云端备份
硬盘快照
总结
作为人生第一台个人服务器,能搭建起来还是十分有成就感的。虽然过程并不能说非常顺利,特别是网络/域名方面的配置实在是从一脸懵逼到大致知道常用的一些路由/网络功能的作用,实在是学习了不少东西。
本身我也是一个爱折腾的人,单是媒体服务器的管理我就花了很大一部分的时间收集资源,抓取元数据,重命名自动化等等。由于篇幅原因就不展开细说了,以后有机会可以另开文章记录。
另外还有一些还在尝试以及没有那么重要的服务就没有列举出来,同上以后可能会出现在别的分享里(如果不🕊的话hh
这也是我个人博客的第一篇文章。其实很久以前就有想法搭建自己的个人博客,记录记录自己技术上,生活上的兴趣爱好,以后没有意外地话也会持续进行更新。有没有人看也不是很重要了,就当自己在互联网上留下的为数不多的足迹吧。(当然有人看话还是很开心的