推广 热搜: page  使用  音视频  个数  选择  搜索引擎  企业  百度  可以  父亲 

除了博客,当你有一台云服务器时还可以自部署哪些免费、开源的项目?

   日期:2025-01-02     作者:c7ljf    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/18930.html
核心提示:我以为我会像大多数人一样,开始拥有一台服务器时就会搭建一个属于自己的博客站点。但当我自己尝试部署了一次 GitHub 上的开源项

我以为我会像大多数人一样,开始拥有一台服务器时就会搭建一个属于自己的博客站点。但当我自己尝试部署了一次 GitHub 上的开源项目时,我发现除了搭建博客之外,用云服务器来搭建一些自用的服务也是一个不错的选择。

可能这些自部署的(self-hosted)开源服务或项目不一定比付费产品好用,拥有的特性也没那么丰富,但这些年得益于像 Docker 这样的容器化技术普及,短短几行代码就能快速完成项目或服务部署、进而开始使用也早已不是什么高成本的事。自部署让我们享有绝对的数据掌控权的同时还能节省不少订阅费用,让闲置的云服务器得以充分利用。

本文所介绍的可自部署项目或服务主要使用 Docker 或 docker-compose 来完成快速部署,所以如果你打算尝试,除了拥有购买一台云服务器外,可能还需要额外学习一下 Docker 的基本用法。

另外现在有的 NAS 设备也支持 Docker,因此如果没有服务器但有 NAS 设备,也可以尝试部署在你的 NAS 上——前提是你有一个独立的公网 IP 或知道如何通过内网穿透来实现远程访问。

除了系统自带的消息通知渠道之外,我们也可以自己拥有一个消息推送服务。基于自部署的消息推送服务,我们可以配合其他自动化工具来监控通知或是短信,实现消息转发等功能。

因为我个人使用的是 Gotify,所以这里我就以 Gotify 为例直接运行 Docker 命令即可完成部署:

Gotify 本身提供了 Web 界面,部署完成后我们需要到 Web 界面中创建推送消息或通知的 App,获取到 App 所对应的 Token,最后在移动端上进行连接配置即可。

相信会有不少人跟我一样喜欢在大屏幕设备上进行阅读或浏览内容,既然我们拥有了云服务器,那也说明我们拥有了可对外公开且被访问的公网 IP。因此我们在服务器上也可以搭建起自己专属的在线电子图书馆,在不同设备上只需要借助浏览器就能进行随时随地开始阅读。

因为 Calibre-Web 是基于 Python 编写,所以在使用的过程中会出现内存资源占用较大的情况(目测下来有 500 MB 左右的内存占用)。如果你服务器资源配置吃紧请谨慎选择,又或者是在使用过程中到管理面板中手动重启(你没听错,就是这么朴实无华)。

Kavita 相比于 Calibre-Web 来说对于漫画系列的电子内容支持度会更好一些,而对于电子书格式的支持目前仅有 EPUB 和 PDF 格式,所以实际上的阅读体验反而是 Calibre-Web 会更好;但服务器资源占用会比 Calibre-Web 更低。

除了搭建个人博客之外,打算利用服务器来构建个人知识管理系统或存储想法记录等需求的用户可能也不在少数。

自部署可以让数据掌握在自己手中,无须担心平台跑路或是数据安全问题。

部署 Memos 的 Docker 命令很简单,这里是官方给出的一个例子:

部署成功之后只需要自行注册一个账户就可以开始使用。

首先,我们需要在服务器上创建一个用于存放数据的文件夹路径,并为其添加对应权限。比如我个人就是放在了 中,那么就需要通过 Linux 命令建立对应的文件夹,并且为该文件夹添加对应用户权限:

之后我们只需要通过容器部署即可,对应的 Docker 命令 和 参考如下:

Docker 命令:

  • 使用 Minio 来作为兼容 Amazon S3 协议的云存储服务;
  • 使用 SFTPGo 来提供 WebDav 服务。

好在 Anki 社区中有第三方开发者开发了适配 Anki API 的同步服务项目 anki-sync-server,该项目虽然使用的是 Python 编写,但也提供了一键容器化部署的脚本。不久后又有人使用 Rust 语言来重写了 anki-sync-server,即 anki-sync-server-rs,相比于前一版而言不仅部署更为便捷、响应性能有所提升,甚至还有效降低了服务器资源的占用。

如果你打算自己部署 Anki 同步服务,那么我建议你优先选择 anki-sync-server-rs。具体的 Docker 命令如下:

上述命令中我参考了官方的 内容并在文档的 Docker 命令基础上加入了 参数以便将数据内容挂载在服务器上,以方便数据持久化、避免数据丢失,也利于后续备份,在运行时除了用户名和密码之外,可以指定任意你喜欢的路径。

部署 Navidrome 没有太大的难度,因为官方提供了比较详细的部署说明,你可以选择 Docker 命令或 docker-compose 来快速完成部署:

部署成功后并且手动添加了音乐之后,就可以根据 Navidrome 官方列出的 应用列表 来找到适合你设备系统的客户端,并连接上你的 Navidrome 服务器进行收听。

拥有了服务器怎么能少得了自动化操作相关的服务?

只要你足够 Geek,全天候 24 小时不停歇的服务器简直就是自动化利器;而关于自动化方面的开源服务或项目又可以说是多不胜数。这里我仅列举几个让我留有印象的项目。

n8n 类似于 iOS 的快捷指令,是一个开源、具备可扩展性、可自部署的工作流自动化工具,它不仅整合了国外 220 多种常用的应用服务,同时也拥有丰富的第三方模板社区以便人们分享自己的工作流。

n8n 的部署过程十分简单,默认情况下使用 SQLite 数据库进行存储相关数据;你也可以根据自己的需要选择 MySQL 或是 PostgreSQL,具体可参考 n8n 官方的说明文档。

部署完成之后我们只需要访问到对应接口的服务器地址并注册一个账户之后便可以开始自定义自己的工作流。

如果不喜欢像 n8n 那样使用拖拽来完成自动化操作,并且你本身又有一点 Javascript 或 Python 基础的话,那么可以考虑试试 qinglong(即青龙)。

部署完成之后即可通过访问 登录 Web 界面,注册之后即可开始编写或上传脚本代码,并设置运行时间。

之后我们只需要到服务器上对应的文件夹路径中放入相应的 YAML 配置文件(具体参考 Dagu 官方给出的例子),之后我们就同样访问 地址进入到 Dagu 提供的 Web 界面中进行操作即可。

受益于容器技术的发展,我们可以通过 Docker 这样的工具来在服务器上快速地自部署开源项目或服务,从而让服务器物尽其用不至于「吃灰」。

不过尽管通过容器部署能减少我们部署时的繁琐步骤,但你依旧可能需要学习一些额外的运维技术,包括如何设置 HTTPS、自动备份数据等等;同时,如果你不想总是通过「服务器 IP 地址 + 端口」的方式来访问服务或者 API,那么除了要购买域名之外,还需要考虑备案等问题(购买非内陆地区服务器则可以省略掉备案这一步)。

当然了,自部署的服务或项目远不止本文所介绍的那么点,如果你对于自部署感兴趣,那么可以到 awesome-selfhosted 项目中去寻找符合你需要的服务或项目。

封面图源 Unsplash。

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验

本文地址:http://ww.kub2b.com/news/18930.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号