- 楼主
https://once.com/
ONCE 之前的宣传词
商业软件发生了变化。
过去,你只需支付一次便可安装并运行这些软件。无论是在某个人的电脑上,还是为所有人提供服务的服务器上,都会让你感觉像是拥有了软件本身。事实也的确如此。
如今,大多数软件不再是 “产品”,而是一种 “服务”。你买的不是所有权,而是 “租用权”。购买的那一刻,你就签下了一份永久性的房东—租客协议。每个月,你都要为上个月同一份服务付费。如果你停缴费用,软件就会停止工作。轰!你立刻被 “驱逐”。
将近二十年来,SaaS 模式让 “房东” 们大赚一笔。他们通过不断祈祷——那定期进账的“教会”——将估值推上天台,而背后的支撑完全依赖运营商业化的订阅服务,他们极少能控制这些服务。
列出你去年所有的 SaaS 订阅费用。到目前为止,这些产品本该是你的了。
SaaS 模式仍然对许多产品适用,但它以租代买的统治力将逐渐减弱。安装和管理配置曾是难于登天的事,但现在,自建主机的科技变得简单且大幅改善。此外, IT 部门也渴望重新掌控自己的 IT ,他们对依赖 “大科技” 所造成的束缚感到厌倦。
曾几何时,你拥有支付的产品,掌控依赖的服务,你的隐私与安全完全由自己掌控。我们相信,这正是再次回归这样的时代。
这是ONCE,37signals 公司推出的新系列产品。
一次付款,永久拥有。
我们编写代码,你也能看到源码。
我们提供软件,你可自主部署。
产品简单直白,不是复杂臃肿的企业级应用。
只需支付一次固定价格。 ONCE。
目前有两款 ONCE 产品:
Campfire: 与 Slack 或 Teams 类似的群组聊天系统,但更加简洁。
Writebook: 有史以来最简单的内容在线发布方式。
在 21 世纪初,我们曾是引领业内进入 SaaS 革命的早期先锋之一。现在,时隔 20 年,我们打算再次引领走出 SaaS。后 SaaS 时代即将到来。
敬请期待。
如上所述,作者是 37signal 公司,就是前两个月大火的Omarchy那家
基本使用
下面我用虚拟机来演示一下
为了演示方便,把防火墙关掉
直接执行
curl -fsSL get.once.com | sh如果是普通用户执行,会提醒你输 sudo 密码;没有安装 Docker,它会给你自动安装
这边自带三个应用
- Campfire: 邀请制聊天室,适合公司 / 组织内部沟通
- Writebook: 写文档,在线成书
- Fizzy: 日程看板,需要配置 smtp 服务器
这里选择 Campfire,回车
提示输入一个域名,ONCE 会在健康检查期间用这个域名检查,并上 HTTPS 证书;由于我是用的虚拟机,没有上公网,所以填一个
.localhost结尾的域名来跳过检查与 TLS,这里我用campfire.localhost部署完成,在这里可以直接看到内存、CPU 占用与流量
为了在主机上访问 Campfire,修改
C:\Windows\System32\drivers\etc\hosts# 我的虚拟机 IP 192.168.182.141 campfire.localhost 192.168.182.141 flarum.localhost # 接下来要用然后就可以用这个域名来使用部署好的服务了
部署自定义服务
ONCE 对自定义服务的要求是:
- 用一个 Docker 容器把所有服务本体及其依赖(如数据库)全部打包(all in one)
- 在 80 端口暴露纯 HTTP 服务
- 所有持久化数据(数据库、日志、附件、配置……)放容器内的
/storage - 对
GET /up返回 200,如果做成实际的健康检查更好 - 如果应用支持相应配置,要透传以下环境变量:
- SECRET_KEY_BASE(Rails 生态的密钥)
- DISABLE_SSL
- BASE_URL
- VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY (需要 webpush 的应用)
- SMTP_ADDRESS/SMTP_PORT/SMTP_USERNAME/SMTP_PASSWORD/MAILER_FROM_ADDRESS(需要邮件功能的应用)
- NUM_CPUS
- 也可以引入额外的环境变量,并在 ONCE 中手动添加
上述要求是对Ruby on Rails框架定制的,如果你用
rails new新建一个 Rails 项目,就已经自动符合以上要求;但是大量应用不是用 Rails 编写的,怎么办呢?请大肥鱼帮你改https://github.com/crazy-max/docker-flarum https://github.com/shinsenter/php/tree/main/src/webapps/flarum https://docs.flarum.org/install/ 研究上述链接,为Flarum 2.0写一个Dockerfile,要求兼容ONCE部署工具(https://github.com/basecamp/once): - 单Docker容器提供本体+数据库的所有服务 - 在80端口暴露http服务,不要求https - 对GET /up响应200,尽量做成健康检查端点,如果没有检查机制也要固定返回200 - 持久化数据(db)放在容器中的/storage下,ONCE会固定挂载它做volume - 能从以下环境变量中自动为Flarum配置相关项:SECRET_KEY_BASE(Rails/Laravel生态的密钥种子)、BASE_URL、SMTP_ADDRESS、SMTP_PORT、SMTP_USERNAME、SMTP_PASSWORD、MAILER_FROM_ADDRESS - 完整要求请看https://github.com/basecamp/once#making-a-once-compatible-application,以及仓库源码 完成后,把镜像推送到dockerhub我的成品在
ratherbeafish/flarum-allinone:latest重新回到 ONCE(直接在终端中输入
once命令),按 <kbd>n</kbd>选择 custom
就这样~
收藏支持 1反对打赏 1
这工具挺牛
这波实用啊
这工具挺顶
吃多少内存
个性签名seben.cn
顶顶顶
呃呃呃,感觉不如 nixos 啊,配置方便性和生态都不如,还要让 ai 打包... 不过期待进一步发展
又看了看,感觉原理好像就是 docker 一键运行...
个性签名我的网站:nahida.im | 相关服务监控:status.nahida.im
赞一个,帮顶
个性签名搏一搏,单车变摩托,赌一赌,摩托变路虎。不怕输的苦,就怕断了赌。小赌养家糊口,大赌发家致富!
依赖塞进一个容器,搬家会省事些
没听说过
个性签名我是大便














