Instatic:一站式自托管CMS,集多功能于一体,开启网站搭建新体验!
Instatic一站式自托管CMS集设计、构建、管理等多功能于一体开启网站搭建新体验Instatic 是一款自托管的内容管理系统CMS它将可视化编辑器、内容引擎和发布器集成在一个 Bun 服务器中生成的页面代码简洁在浏览器查看源代码时清晰易读。用户可以一键部署快速开始使用还能查看文档、插件和路线图也能在 YouTube 上观看 Instatic 的介绍视频。现代网站通常需组装一系列工具如无头 CMS、框架、主机、表单服务、分析供应商、图像 CDN 等每个工具都有各自的账单、仪表盘还可能在凌晨 2 点出现故障。而 Instatic 不同一个 Bun 服务器就能搞定一切包括画布编辑器、内容引擎、媒体、身份验证、表单、插件和发布器可在任何地方运行支持 SQLite 或 Postgres 数据库。最终输出的是纯语义 HTML 和简洁的 CSS页面中不会残留编辑器的任何痕迹没有框架运行时没有构建器属性也不会出现一堆无意义的 div 标签网站加载起来就像静态文件一样多数情况下它就是静态文件。Instatic 采用 MIT 许可证支持自托管完全属于用户。一键部署Railway 是让 Instatic 上线最快的方式。用户选择一个模板点击按钮等待大约两分钟即可。它会自动生成密钥、挂载存储卷并设置健康检查用户甚至都不用打开终端一分钟就能让网站上线。提供商数据库适用场景部署方式Railway推荐SQLite单站点如博客、作品集、小型企业网站点击部署 → RailwayRenderPostgres多作者、需要管理备份、有发展空间的网站点击部署 → RenderFly.io-即将推出-DigitalOcean-即将推出-对于大多数网站来说SQLite 是合适的默认选择。当用户有一个作者团队或需要管理数据库备份时可以选择 Postgres。更新 Instatic 只需重新部署最新镜像数据库和上传文件会保留在挂载的存储中无需重新构建整个网站。如果用户更喜欢使用自己的硬件Instatic 是一个单一的 Docker 镜像可使用以下命令启动INSTATIC_IMAGEghcr.io/corebunch/instatic:latestdocker compose -f compose.prod.yml -f compose.sqlite.yml up -d关于 VPS、Postgres、使用 Caddy 配置 HTTPS、Render 和备份的完整指南可在 docs/deployment 中找到。一站式网站建设工具大多数工具只能完成一项任务而 Instatic 能涵盖网站建设的整个生命周期。以下是它的主要功能 设计编辑器是一个真正的画布而非带有预览窗格的表单。用户可以将多个断点框架并排编辑修改桌面版时移动版框架会在同一视图中实时响应。还可以切换到实时模式直接在全尺寸页面上进行编辑。Instatic 内置了 Core Framework这是数千名 WordPress 专业人士每天都在使用的设计令牌引擎它是核心系统而非需要安装和祈祷生效的插件。它支持颜色令牌自动生成色调和阴影定义一个品牌颜色就能自动获得一套完整的调整后的色调提供流畅且符合数学规律的字体缩放一个随视口缩放的渐变而不是四十个需要手动同步的字体大小还有间距缩放确保每个页面和每个断点都保持一致的节奏。它还能生成实用类将生成的类输出到一个小的 framework.css 文件中没有冗余代码没有重复规则只生成用户需要的内容。整个设计系统以数据形式存在更改一个令牌所有使用它的页面都会更新。 构建模块是构建网站的基础如容器、文本、图像、按钮、视频、列表、链接、SVG、表单等用户可以将它们拖到画布上并随意嵌套。可视化组件是可重用的部分带有类型化参数和命名插槽参数可以是字符串、数字、布尔值、颜色、图像、URL、富文本、枚举或整个内容插槽。编辑一次组件网站上的所有实例都会更新。系统会在组件引用自身之前进行阻止避免出现无限循环。模板用于处理共享的页面结构用户可以为整个网站设置一个布局为不同的文章类型设置单独的布局还能自己设计一个真正的 404 页面。内容会流入一个出口这样页眉和页脚只需编写一次就能包裹所有内容。循环可以重复渲染一个布局适用于文章列表、产品网格、图库等。Instatic 还支持创建属于自己 CMS 的表单通过语义字段构建表单提交的数据会存储在自己的数据表中无需第三方表单服务没有嵌入代码也没有联系表单的月费。此外它还有一个能实际编辑页面的 AI 代理用户只需描述需求它就能在画布上创建真实可编辑的节点而不是截图或一堆代码。它会通过与粘贴标记相同的导入管道编写语义 HTML 结构和 CSS 样式。Instatic 内置了 28 种工具用户可以使用自己的模型如 Claude、OpenAI、OpenRouter 或本地的 Ollama费用由自己承担。它还支持导入原始 HTML 并转换为可编辑的节点或者直接导入整个静态网站包括 HTML、CSS、图像、字体超级导入功能会将其转换为页面、样式规则、设计令牌和媒体。在写入任何内容之前所有冲突都会显示给用户整个导入过程可以一键撤销。 管理Instatic 采用统一的内容模型页面、文章、组件、自定义集合和任何用户创建的结构化表都存储在同一个存储中即 data_tables 和 data_rows没有特殊的“页面”表隐藏在角落里。架构、原始行、导入、导出和表单提交都存储在一个一致的地方。用户可以在 /admin/data 创建自定义文章类型和自定义数据表并在类似电子表格的网格中管理行支持搜索、排序、过滤、批量发布和批量导出。自定义文章类型有真正的编辑工作流程包括草稿、预定发布和已发布并且已发布的副本有版本历史记录。普通数据表是简单的网格可用于存储任何数据如表单提交、产品目录、轻量级 CRM、推荐列表等每个表都可以作为循环的内容源。写作工作区专注于文章和集合的编写支持实时模式让作者在网站的真实设计中进行编辑而不是在灰色的文本区域。媒体工作区就像一个文件管理器支持文件夹和智能文件夹、批量操作、使用跟踪、替换工作流程当本地磁盘空间不足时还支持可插拔的存储适配器。访问控制是真实有效的基于 36 种权限构建角色使用基于令牌的会话支持 TOTP 双因素认证密钥在存储时加密多次失败后会锁定账户并设置退避时间在进行删除用户或注销所有设备等危险操作前会有升级提示。用户还可以使用 ⌘K 快捷键调出模糊命令面板无需鼠标即可快速跳转到任何地方并执行任何操作。未发布的草稿不会泄露给访客只有发布的内容才会被看到。 分析用户可以自己安排仪表盘它是一个 12 列的网格用户可以拖动、调整大小和重新排列瓷砖小部件。在自定义模式下添加自己关心的小部件布局会为每个用户保存。插件也可以将自己的小部件添加到同一个网格中。审计日志会记录所有有意义的管理操作如登录、内容更改、角色编辑、插件生命周期等它是追加式的是真实的操作记录任何人都无法悄悄重写。表单数据完全属于用户提交的数据存储在自己的表中用户可以查询、导出和基于这些数据进行开发没有中间供应商。这是 Instatic 目前正在大力推进的功能接下来会推出尊重隐私的第一方分析功能具体可查看路线图。 扩展每个 CMS 都有插件Instatic 的不同之处在于插件的运行环境。Instatic 插件是一个带有清单的 zip 包它在 QuickJS - WASM 沙箱中运行没有文件系统没有环境变量除非网站所有者逐个授予权限否则没有网络访问权限。插件无法读取用户的密钥或与外部通信因为沙箱不会提供访问途径不会出现“插件导致网站崩溃并将数据库发送给陌生人”的情况。在沙箱内SDK 功能强大插件可以添加 HTTP 路由和自己的管理页面、存储和定时后台任务、循环数据源、画布模块、媒体存储适配器和前端资产还能在安装、激活等各个生命周期阶段添加钩子。用户可以从插件系统文档和模板插件开始开发。快速启动用户只需要安装 Bun无需其他额外服务。默认的开发设置使用 SQLite 数据库可按照以下步骤操作git clone https://github.com/corebunch/instatic.gitcd instaticbun installbun run dev打开 http://localhost:5173首次访问时会引导用户创建网站和所有者账户。如果用户想查看实际发布的效果可以运行 bun run start它会构建管理界面并通过 Bun 服务器在 http://localhost:3001/admin 提供服务。备份很简单只需备份数据库Postgres 转储或 SQLite 文件和上传文件夹就完成了整个网站的备份。开发信息服务器一个 Bun 服务器。管理应用使用 Vite 构建的 React 管理界面。发布器输出用户会满意的页面。运行时Bun用于服务器和工具。语言全程使用 TypeScript。管理应用React 19启用 React 编译器、Vite、Zustand Mutative、CodeMirror、dnd - kit。服务器使用手写路由的 Bun.serve。数据库SQLite 或 Postgres通过 DATABASE_URL 选择使用统一的 DbClient 接口。验证在每个无类型边界使用 TypeBox架构是唯一的真实来源。插件QuickJS - WASM 沙箱需所有者授予权限。AI基于原始 HTTP/SSE 的与供应商无关的驱动程序无供应商 SDK。输出语义 HTML、简洁 CSS、预烘焙静态文件和自动检测的动态部分。代码库有明确的规则架构规则以实际测试的形式存放在 src/__tests__/architecture/ 中确保输出的代码结构不会悄然变差。用户可以使用以下命令进行构建、测试和检查bun run build # tsc -b vite buildbun testbun run lint深入了解可查看文档索引、架构、编辑器、服务器、发布器和插件系统。致谢与许可Instatic 的界面使用了 Gerrit Halfmann 的 Pixelarticons感谢 Gerrit 提供独特的图标集并允许在开源项目中使用。Instatic 采用 MIT 许可证没有分层收费没有开源核心的星号标记也无需“联系销售”。早期版本说明目前 Instatic 处于 0.0.x 版本上述所有功能画布、Core Framework、通用内容模型、沙箱插件、AI 代理、表单、循环、模板、媒体、多因素认证、审计日志、一键部署、简洁的发布器只是起点而非终点。未来计划包括真正的分析功能推出尊重隐私的第一方分析完善分析功能模块。更大的模块和插件生态系统增加更多的第一方模块、更丰富的 SDK 接口和更多可参考的示例。更强大的 AI 代理提供更多工具更深入地理解网站。整体优化让所有功能更加完善。Instatic 故意将版本控制在 1.0 之前这是抛弃不良想法并保持架构简洁的最佳时机API 和工作流程在 1.0 版本之前仍可能会发生变化。如果用户对此感到担忧可以等待 1.0 版本如果想参与塑造未来二十年的网站所有权模式现在正是好时机。