自部署
一个镜像。一条命令。
承载你的整个工作空间。
UnDercontrol 以单个 all-in-one 容器交付——前端和后端打包在一起。用一条命令部署到你自己的基础设施。没有厂商锁定,数据永不离开你的网络。
# the all-in-one image: frontend + backend in one container docker run -d -p 3000:8080 \ -e HOST_DOMAIN=http://localhost:3000 \ -e JWT_SECRET=change-me-to-a-random-string \ -e LICENSE_TOKEN=eyJjcmVhdGVkX2F0IjoxNzgzNjAwMzY4LCJ2YWxpZF91bnRpbCI6MTc5MTM3NjM2OCwidGllciI6InBybyIsInVzZXJfbmFtZSI6IlNlbGYtSG9zdCBUcmlhbCIsInVzZXJfc2VjcmV0X2hhc2giOiJlZDJiYTE3OGM2NzBlYzdmZjA0NzdlZTc1MTAyNjVkM2M4NWUzN2QyNWI2NDcxNDc3OTBmZDJmZDJlMTI1YmQ4Iiwibm9uY2UiOiJiMjAzYmFkNS1mYTQ4LTQwOWMtYmU1OC0yYTc0YWJkNjNiM2YiLCJtYXhfdXNlcnMiOjV9.Nf81OrehjlpXGDP7ppap5C8GYt0eXBh5wP0y62_-mz37SHd5-3iSMmGzGZ0P4Bz9z0E1cXs1F4IwDbad2s3BAQ \ -e LICENSE_HOST_SECRET=undercontrol-selfhost-trial \ -v undercontrol-data:/app/data \ lintao0o0/undercontrol:latest
为什么自部署
你的基础设施,你的规则。
完全掌控数据
任务、笔记、文件和财务数据都保存在你掌控的硬件上。任何数据都不会发送给第三方——连 AI 都可以对接你自己的模型服务。
没有厂商锁定
一切皆代码。你的数据以 Markdown 和 YAML 声明,可用 Git 版本管理,随时可导出。没有需要逃离的专有格式。
离线与内网隔离
可部署在私有网络甚至完全隔离的内网环境。UnDercontrol 无需任何外网访问也能正常运行。
自由选择方案
自由选择数据库、存储、备份与扩展方式。树莓派、家用服务器、VPS 还是 Kubernetes 集群,全凭你决定。
渐进式部署
从小起步,就地成长。
先在自己的电脑上用桌面应用起步——不用 Docker、不用服务器。当你需要多设备访问时,升级到自部署容器,再扩展到 PostgreSQL、云存储或完整集群。全程数据模型不变——你只是改环境变量,从不重构。
本地桌面应用
下载即用。内置后端,完全离线。不用 Docker,不用服务器。
All-in-one · SQLite
自己服务器上的单个容器。任意设备均可访问。
独立 PostgreSQL
并发访问,生产级可靠性。
云端文件存储
将附件卸载到 S3、R2 或 MinIO。
Kubernetes 集群
高可用、自动扩缩容、滚动更新。
单一根目录——完全可移植
你拥有的一切都存放在单一根数据目录下。迁移整个工作空间——从桌面应用到自部署服务器,或从一台服务器到另一台——只需拷贝一份 ./data. 无需专有导出,无需重新导入。备份、迁移、恢复,就这么简单。
免费试用许可证
免费用上 Pro——我们请客,3 个月。
我们正处于活跃开发阶段,所以这个 Pro 许可证对所有人免费开放。它已经预置在下面每种部署方式里——复制即用。
UnDercontrol Pro — 自部署试用
解锁 PostgreSQL、S3/R2 存储、多用户及角色权限,以及管理员控制台。
# UnDercontrol - free 3-month Pro trial license LICENSE_TOKEN=eyJjcmVhdGVkX2F0IjoxNzgzNjAwMzY4LCJ2YWxpZF91bnRpbCI6MTc5MTM3NjM2OCwidGllciI6InBybyIsInVzZXJfbmFtZSI6IlNlbGYtSG9zdCBUcmlhbCIsInVzZXJfc2VjcmV0X2hhc2giOiJlZDJiYTE3OGM2NzBlYzdmZjA0NzdlZTc1MTAyNjVkM2M4NWUzN2QyNWI2NDcxNDc3OTBmZDJmZDJlMTI1YmQ4Iiwibm9uY2UiOiJiMjAzYmFkNS1mYTQ4LTQwOWMtYmU1OC0yYTc0YWJkNjNiM2YiLCJtYXhfdXNlcnMiOjV9.Nf81OrehjlpXGDP7ppap5C8GYt0eXBh5wP0y62_-mz37SHd5-3iSMmGzGZ0P4Bz9z0E1cXs1F4IwDbad2s3BAQ LICENSE_HOST_SECRET=undercontrol-selfhost-trial
部署方式
复制一份 compose 文件,即可运行。
下面每种方式都内嵌了试用许可证。all-in-one 镜像是最快的路径;其他方式则适合你需要独立数据库或集群时。
services: undercontrol: image: lintao0o0/undercontrol:latest container_name: undercontrol ports: - "3000:8080" environment: - GIN_MODE=release - HOST_DOMAIN=http://localhost:3000 - JWT_SECRET=change-me-to-a-random-string - ADMIN_EMAIL=admin@example.com - ADMIN_PASSWORD=changeme # free 3-month Pro trial license - LICENSE_TOKEN=eyJjcmVhdGVkX2F0IjoxNzgzNjAwMzY4LCJ2YWxpZF91bnRpbCI6MTc5MTM3NjM2OCwidGllciI6InBybyIsInVzZXJfbmFtZSI6IlNlbGYtSG9zdCBUcmlhbCIsInVzZXJfc2VjcmV0X2hhc2giOiJlZDJiYTE3OGM2NzBlYzdmZjA0NzdlZTc1MTAyNjVkM2M4NWUzN2QyNWI2NDcxNDc3OTBmZDJmZDJlMTI1YmQ4Iiwibm9uY2UiOiJiMjAzYmFkNS1mYTQ4LTQwOWMtYmU1OC0yYTc0YWJkNjNiM2YiLCJtYXhfdXNlcnMiOjV9.Nf81OrehjlpXGDP7ppap5C8GYt0eXBh5wP0y62_-mz37SHd5-3iSMmGzGZ0P4Bz9z0E1cXs1F4IwDbad2s3BAQ - LICENSE_HOST_SECRET=undercontrol-selfhost-trial volumes: - ./data:/app/data restart: unless-stopped
启动它
保存文件,然后运行 docker compose up -d。首次启动会自动拉取镜像并执行数据库迁移。
架构
默认单镜像——需要时再拆分。
all-in-one 镜像用一个容器同时提供 Web 应用和 Go API。自带 PostgreSQL 或 SQLite,并可插入兼容 OpenAI 的 AI 服务、兼容 S3 的存储或 OpenTelemetry —— 均为可选,全部由你掌控。
准备好拥有你的工作空间了吗?
复制上面的 compose 文件,或跟随完整指南完成 PostgreSQL、S3 和 Kubernetes 部署。