安装部署
选哪种方式
端口
Geekit 的 API 与一体化服务统一监听 8801。前端开发服务另有端口,不参与生产
部署。对外发布时由入口层(Caddy 或 Nginx)终止 TLS 并反代到 8801。
数据库
生产用 PostgreSQL。用 SQL_DSN 指定连接串:
不设 SQL_DSN 时使用容器内的 SQLite,数据落在挂载的 /sqlite 目录。
日志库可以单独拆出去,用 LOG_SQL_DSN 指定;不设则与主库同库。
缓存
设置 REDIS_CONN_STRING 后启用 Redis,用于限流、分布式缓存和多副本之间的状态
共享。多副本部署必须配 Redis。
多副本
多副本时只有主节点执行表结构变更与定时任务,其余节点用 NODE_TYPE=slave 启动。
所有副本必须共用同一个数据库与同一个 Redis。
反向代理
入口层需要放行 SSE(流式响应):关闭响应缓冲、把读超时放长到分钟级,否则长回答
会被中途截断。健康检查用 /api/status。
数据变更
需要作用到既有安装的表结构与数据变更,统一写成 migration/ 里的版本化变更,
按有序 ID 记录在 schema_revisions 表中,启动时由主节点重放。已应用的变更不
允许修改、重命名或调序。