[自荐] 一个可以自建的轻量化 Serverless 服务

4 月 13 日
 Jiubia

为什么会有这个项目

一般情况下,最常用的还是 cloudflare Worker ,但是有些情况下我并不太期望使用 cf worker ,比如:网络环境、内网访问、临时的文件(临时配置和脚本)等
然后再出于我对 serverless 的依赖性比较高,所以决定从头撸一套

类似的流行开源项目有 fission 、faas 等,但无一例外,基本都是基于 k8s 或 docker 的,也就是说,脚本是运行在 container(容器) 中的,这对于我来说并不太需要,再加上他们都是偏向 cli 的程序,所以主要的操作的方式是通过 cli 或 k8s api 处理,没有完整的配套 Web 界面,不过现在有 AI 了,倒也不麻烦了

这个项目能做什么

与 cf worker 类似的云函数机制,只需要在 Worker 中编写代码,即可实现调用,省去服务部署流程

更多介绍参考 Github 项目 https://github.com/YangZxi/Callit

如何使用

目前只提供 Docker 方式启动

1. 创建目录并拉取 docker-compose 文件

mkdir callit
wget -O docker-compose.yml https://raw.githubusercontent.com/YangZxi/Callit/refs/heads/main/docker-compose.prod.yml

2. 设置必要的环境变量

强烈建议将 token 设置为复杂的长密码或 UUID
当然,你也可以不配置 ADMIN_TOKEN ,他会在每次启动时随机生成一个长密码,密码会在日志中打印

sed -i 's|^\s*- ADMIN_TOKEN=.*|- ADMIN_TOKEN=你的 token|' docker-compose.yml

3. 项目启动

docker compose up -d
# 或
docker-compose up -d

项目会运行在 3100 端口,后台地址为 <host>:3100/admin

其他事项

  1. 项目默认不会开启 MCP 功能
    通过 WebUI -> Config ,打开 MCP Enable,并配置 MCP Token 来开启 MCP 访问
  2. 如何通过 AI 来创建 Worker 如果使用的是 ClaudeCode 、Codex 、OpenCode 、OpenClaw ,你可以直接将以下内容发给 AI 来自动安装
Fetch and follow instructions from https://raw.githubusercontent.com/YangZxi/Callit-skill/refs/heads/main/README.md to install the skill.

如果你使用的是 Cherry Studio 等聊天工具,请参考对应软件的 MCP 安装教程,然后在每次聊天时,指明 AI 应该 "调用 callit-mcp 工具来创建 Worker"

如果大家对这个项目感兴趣,欢迎点个 Star 。另外我还有个图床 (Linkit) 项目在这里推荐下
在项目使用期间,如果碰到任何问题,欢迎在评论区或 Github Issue 提出

已知问题

1594 次点击
所在节点    分享创造
5 条回复
Jiubia
4 月 13 日
不得不感慨,现在 AI 真强大,去年初就想开的坑,但是迫于麻烦就一直没搞,今年断断续续花了一个月时间, 就完成了一个能稳定使用的版本
ixoy
4 月 13 日
之前也有同样的想法,支持单机自建,直连本地数据库/存储,简单配置。

概念上 serverless 绑定可伸缩容器。

奈何 AWS 官方 serverless 框架一开始就要绑定平台账号,相当无语,直接劝退。

后来也发现单机的 workers 类似提供一套可注册的 controllers 。

但对于小项目而言,喜欢的是这套服务管理框架,能快捷调用。若后续业务增长,可快速移植扩容。
lolo1
4 月 13 日
真厉害,以前见过好多类似开源的,光 yaml 文件就快几百行了,太笨重。感谢感谢~
Jiubia
4 月 14 日
@ixoy 这个确实,之前公司就是直接在 AWS 控制台管理 lambda ,很不方便。不过现在有一个项目支持你说的这个场景了 https://github.com/Serverless-Devs/Serverless-Devs
jukanntenn
4 月 14 日
感谢开源!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1205544

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX