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

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

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

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

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

可选服务包括:

上述不同的消息推送服务其后端均使用Go语言进行编写,因此在部署上并没有太多难度,按部就班地照着官方文档给出的操作步骤部署在你的服务器之后就可以开始使用;并且它们均提供了相应的API,在部署之后可自行根据需要使用API来将消息推送至相应的设备。

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

在Web界面上我们仅能接收并看到来自于其他端(比如移动端)推送的消息。

如果我们需要向移动端推送消息通知,那么我们就需要通过API来完成消息推送,就像官方所给出的示例一样:

因此使用Gotify这类消息推送服务最好的方式就是与自动化操作相结合,从而达到消息通知的目的。

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

dockerrun-d\--name=calibre-web\-ePUID=1000\-ePGID=1000\-eTZ=Asia/Shanghai\-p8083:8083\-v/path/to/data:/config\-v/path/to/calibre/library:/books\--restartunless-stopped\lscr.io/linuxserver/calibre-web:latest因为Calibre-Web是基于Python编写,所以在使用的过程中会出现内存资源占用较大的情况(目测下来有500MB左右的内存占用)。如果你服务器资源配置吃紧请谨慎选择,又或者是在使用过程中到管理面板中手动重启(你没听错,就是这么朴实无华)。

部署Kavita同样很简单:

dockerrun-d\--namekavita\-p5000:5000\-v/your/manga/directory:/manga\-v/kavita/data/directory:/kavita/config\--restartunless-stopped\kizaing/kavita:latestKavita相比于Calibre-Web来说对于漫画系列的电子内容支持度会更好一些,而对于电子书格式的支持目前仅有EPUB和PDF格式,所以实际上的阅读体验反而是Calibre-Web会更好;但服务器资源占用会比Calibre-Web更低。

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

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

Memos默认只支持Web端,并提供了中文语言支持、以及亮色和暗色两种主题自动切换等功能,当然也少不了像Flomo一样提供了API支持,以便接入其他自动化工具实现内容的快速记录。

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

dockerrun-d\--namememos\-p5230:5230\-v~/.memos/:/var/opt/memos\neosmemo/memos:latest部署成功之后只需要自行注册一个账户就可以开始使用。

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

mkdir-p/data/self-hosted/data/siyuan/workspace/chown-R1000:1000/data/self-hosted/data/siyuan/workspace/之后我们只需要通过容器部署即可,对应的Docker命令和docker-compose.yml参考如下:

Docker命令:

dockerrun-d-it\--namesiyuan\-v/self-hosted/data/siyuan/workspace/:/siyuan/workspace\-u1000:1000-p6806:6806\--restart=always\b3log/siyuan:latestdocker-compose.yml:

需要注意的是,默认情况下我们所在服务器上所部署的思源笔记是不具备数据同步功能的。思源笔记提供了三种选项,一种是订阅思源笔记官方的云端同步付费,另外两种则是自行配置兼容AmazonS3协议的云存储服务和WebDAV。我们可以点击左上角的工作间区域,然后找到「设置-云端」中进行配置。

如果你不打算选择思源官方的付费订阅又或是第三方的云存储服务,而是想继续折腾并自己部署的服务来同步数据,那么也有对应的方案可以选择:

如果你正在寻求一款能替代印象笔记的应用,或许可以试试Joplin。

借助docker-compose,我们可以在短短几秒之内就可以快速搭建起Joplin数据同步服务。注意,默认情况下Joplin的数据都是存储在数据库中;但是,如果在使用过程中存储类似于附件、图片等体积较大的文件,可能需要设置额外的对象存储服务。所以这里我仅给出能跑起JoplinServer最基本的docker-compose.yml文件示例:

Anki是一款辅助学习与记忆的卡片工具,对在校的学习党来说并不陌生。并且Anki也免费提供了数据同步服务,我们只需要在官网上自己注册账号之后便能开始使用。

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

dockerrun-d-it\--name=ankisyncd\-eANKISYNCD_USERNAME=\-eANKISYNCD_PASSWORD=\-v/path/to/ankisyncd:/appankicommunity/anki-sync-server-rs:latest上述命令中我参考了官方的Dockerfile内容并在文档的Docker命令基础上加入了-v参数以便将数据内容挂载在服务器上,以方便数据持久化、避免数据丢失,也利于后续备份,在运行时除了用户名和密码之外,可以指定任意你喜欢的路径。

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

但不同于移动端设备,n8n是运行在服务器之上,在有效利用服务器资源的同时也可以让其他端设备享受到自动化的便捷。

n8n本身有不同的付费计划,但对于个人使用而言,只需要选择自部署的社区版即可满足日常需求。当然我们在部署时同样是使用Docker来完成快速上线:

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

部署青龙面板我们只需要按照官方给出的Docker示例运行即可:

Dagu本身提供了Web界面,并且通过YAML文件进行配置,Docker部署也十分简单:

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

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

THE END
1.WxPusher微信推送服务用户可以通过二维码或者链接关注这个应用,关注我们会把用户的UID回调给你指定的服务器,你可以通过UID给这个用户发送信息。 主题(Topic) 主题(Topic)是应用下面,一类消息的集合,比如创建了一个优惠相关的应用,用来给用户推送各种优惠信息,但是不同的用户关注的优惠信息不同,一部分人关注淘宝的,一部分人关注京东的。这种https://wxpusher.dingliqc.com/
2.什么是消息推送?鉴于Android 平台 C2DM 推送的不可用性,国内涌现出大量的第三方推送服务提供商.目前应用最为广泛的第三方推送服务提供商包括个推、极光、友盟、小米、华为、BAT 等,绝大部分 APP 都会优先考虑采用第三方推送服务。 2.自建推送服务 第三方服务在开发成本和消息到达率上表现都不错,但所有信息会经过第三方服务器,对于https://www.jianshu.com/p/4a5f07f6c02c
3.极光推送亿级消息推送专家,3 分钟快速接入,智能下发策略、精准后效分析,多平台多通道覆盖,有效提升用户活跃度和留存率。注册即享免费服务! 开通免费版高级版咨询技术文档Demo下载观看视频 您是否遇到了这些问题? 页面导航 应用场景繁杂 多个系统平台和厂商通道,平台和通道推送通知的规则多、更新快、兼容难、推送平台的升级维护https://www.jiguang.cn/push
4.消息推送平台UPush为开发者提供灵活、智能、有效的消息推送方案 ¥ 0 永久免费 立即免费使用 极简接入,精准推送 一键聚合多通道触达 支持多种消息类型 下发速度快,安全有保障 专业版 更高推送频次,提升数据统计查询能力和售后服务 ¥ 18000/年 DAU 1万以内 移动支付 阿里云支付 https://www.umeng.com/push
5.小米消息推送服务面向全网开发者,开放小米澎湃OS特色服务能力 了解详情 基于Android 15 Beta的 小米澎湃OS开发者预览版 现已发布 诚邀您开启适配旅程 了解详情 OneLink 统一链接 打破平台壁垒,线下场景跨平台分发 了解详情 开发 提供多形态的应用开发类型,共筑精彩的人车家全生态 https://dev.mi.com/console/appservice/push.html
6.OPPO开放平台OPPO 开放平台,为开发者提供强大的应用分发能力,丰富的应用服务及推广变现支持,助力开发者实现业务增长和商业变现。https://open.oppomobile.com/
7.推送服务·构建你的智能应用,使用蓝莺ChatAISDK推送服务是现代应用不可或缺的一部分,通过实现消息及时传递和通知用户,可以极大地提升用户体验。推送服务的核心包括:1、多平台支持;2、高效稳定的消息传递机制;3、个性化和定制化的推送内容;4、数据分析和反馈机制。其中,推送服务在多平台上的无缝集成至关重要。例如,蓝莺IM提供了企业级ChatAI SDK,使得开发者可以同时https://docs.lanyingim.com/wiki/push-services-41-20240626-1-20-1719332222.html
8.华为HarmonyOS灵活高效的消息推送服务(PushKit)通知消息通过Push Kit通道直接下发,可在终端设备的通知中心、锁屏、横幅等展示,用户点击后拉起应用。您可以通过设置通知消息样式来吸引用户。 开通权益 Push Kit根据消息内容,将通知消息分类为服务与通讯、资讯营销两大类别,开放通知消息自分类权益。 两种类型的通知消息在提醒方式、消息展示位置、推送数量上皆存在差异。https://blog.csdn.net/pisceshsu/article/details/142434263
9.推送服务(HMSCore)·GitBook推送服务(Push Kit)是华为提供的消息推送平台,建立了从云端到终端的消息推送通道。您通过集成推送服务,可以向客户端应用实时推送消息,构筑良好的用户关系,提升用户的感知度和活跃度。 推送服务现支持如下接入形态: Android:推送服务Android SDK为您的Android应用开发提供推送消息相关的接口,适用于手机和平板。主要包含根据https://service.cocos.com/document/zh/hms-push.html
10.PushKit推送服务系统通知推送软件消息推送华为开发者联盟提供稳定、及时、高效的消息推送服务,助力应用精准触达用户,有效提升用户活跃度和粘度。 支持平台 Android iOS Web Quick App HarmonyOS 查看文档体验Demo服务咨询 85000 全球接入应用 7亿 覆盖用户数 500亿 日消息发送量 功能介绍 多种推送样式 支持大文本、Inbox多行文本、带按钮等样式,帮助您更好的提高消息对用户https://developer.huawei.com/consumer/cn/hms/huawei-pushkit/
11.消息推送服务系统信息总览 名称:消息推送服务 版本:v0.4.10 源码:https://github.com/songquanpeng/message-pusher 启动时间:2024-01-30 17:31:12 自从上次启动已发送消息数目:2078 自从上次启动新注册用户数目:1 系统配置 系统配置总览 邮箱验证:未启用 GitHub 身份验证:未启用 https://www.infect-media.com/
12.多平台消息推送服务的实践多平台消息推送服务的实践 来源:转转技术 1 背景 1.1 强耦合的消息和业务代码 1.2 服务间代码重复,维护困难 1.3 消息发送的偶发丢失问题 2 现状和痛点 3 设计和实现 3.1 消息解耦的三元素 3.2 生命周期 3.3 限流 3.4 消息模版 4 总结 1 背景 随着各项业务线上化,触达用户的方式日益重要,而即时通讯服务成为了https://blog.itpub.net/70027824/viewspace-2999235/
13.消息推送服务消息推送服务 高到达率·安全稳定·便捷集成 立即接入 查看文档 业务介绍 消息推送服务面向广大开发者,通过在云端与客户端间建立 稳定可靠的长连接,帮助开发者向客户端推送 实时消息服务。荣耀致力于提供稳定、精准的消息推送服务,助力开发者 高效触达用户,提高应用曝光。 https://developer.hihonor.com/cn/promoteService
14.个推消息推送—Android和iOS推送SDK快速集成,免费使用个推作为业内首家支持统一推送接口标准的第三方消息推送服务商,能够为客户搭建符合统一推送标准(UPS)的智能触达体系,目前已为索尼、三星、坚果手机、海信通信、TCL、科大讯飞、零跑汽车等智能汽车制造商、汽车操作系统提供商、手机及电视厂商提供统一推送解决方案。 https://www.getui.com/notification-push
15.PUSH消息推送的实现原理第三方服务在开发成本和消息到达率上表现都不错,但所有信息会经过第三方服务器,对于信息敏感类 APP 而言,有必要考虑自建一套消息推送服务,能最大化保证安全,但自建推送服务需要对 App 客户端海量长连接的维护管理且面临保证 Push Service 常驻的难题等。 https://maimai.cn/article/detail?fid=1738578667&efid=sAfNRYxTRYuYTp7eA2CwWA
16.消息通知服务SMN消息提醒推送消息应用服务消息通知服务,支持10+协议消息推送,满足不同企业的个性化需求,包含邮件,短信,语音,HTTP/HTTPS,FunctionGraph函数、FunctionGraph工作流,企业微信群,钉钉群,飞书群,Welink群。 覆盖10+推送方式,满足多种场景推送 多通道告警事件通知 与云服务的集成 错峰流控 https://www.huaweicloud.com/product/smn.html
17.使用服务台推送消息谁能操作:服务台管理员 在推送中心,服务台管理员可以创建推送消息,定时定向推送给企业内部成员。如政策公告、故障通知、节日祝福、活动报名、销售战报等。? 二、操作流程? 进入服务台管理后台,点击 推送中心 > 创建推送 进入创建推送页面。 ? https://www.feishu.cn/hc/zh-CN/articles/360049067945
18.Pushdeer:开源多协议推送服务器,定制化推送解决方案在当今快速发展的信息时代,实时的消息、通知和数据推送变得至关重要。Pushdeer 软件应运而生,作为一款开源的推送服务器软件,它支持多种推送协议,为用户提供了灵活且可定制的推送解决方案。本文将深入介绍 Pushdeer 的功能特点、使用场景、安装部署以及简要的使用教程。 https://cloud.tencent.com/developer/article/2360079
19.Java服务端消息推送的实现小结java本文主要介绍了Java 服务端消息推送的实现小结,主要包括四种常见的消息实时推送方案:短轮询、长轮询、SSE 和 WebSocket,具有一定的参考价值,感兴趣的可以了解一下+ 目录 前言:当构建实时消息推送功能时,选择适合的方案对于开发高效的实时应用至关重要。消息的推送无非就推、拉两种数据模型。本文将介绍四种常见的消息实时https://www.jb51.net/program/300070ery.htm
20.为什么有的服务号每天可以推送消息给我?懂微信公众号运营的小伙伴都知道微信服务号每月只能推送四次消息,而每天都推送消息的服务号是通过接口实现,如果想要实现服务号每天推送消息,可以通过微号帮平台48小时信息推送功能实现,可以让服务号每天推送信息给互动活跃粉丝,但不能对全部粉丝推送,全部粉丝推送信息每月只有4次。互动活跃粉丝即在公众号里发信息、点击自https://www.weihaobang.com/jiaocheng/286.html
21..NETCoreSignalR:实现服务器实时消息推送通过SignalR,开发人员可以添加实时消息推送功能,以便服务器可以将消息实时推送给连接的客户端。 在Web应用中,实时通信已经成为了一个重要的功能需求。ASP.NET Core SignalR是一个ASP.NET Core库,它简化了向连接的客户端添加实时Web功能的过程。通过SignalR,开发人员可以添加实时消息推送功能,以便服务器可以将消息实时推https://www.51cto.com/article/785500.html
22.启点教育隐私政策使用目的/理由:提供消息推送服务 个人信息的种类:OAID、Android ID、IMSI、User ID、设备型号、Android版本、应用信息、设备归属地、网络相关信息、消息发送结果、通知栏状态、锁屏状态 第三方名称:广东欢太科技有限公司 第三方隐私政策或官网:https://open.oppomobile.com/new/developmentDoc/info?id=10288 https://www.gongfubb.com/legal/zjd/privacy.htm