• 简体中文
  • 安装部署

    选哪种方式

    方式适合说明
    Docker Compose绝大多数场景应用、数据库、缓存一起编排,升级只需拉镜像
    单个 Docker 容器单机试用数据库用 SQLite 或外部实例
    宝塔面板已有面板环境见仓库 docs/installation/BT.md
    Kubernetes多副本与容器部署共用同一个监听端口 8801

    端口

    Geekit 的 API 与一体化服务统一监听 8801。前端开发服务另有端口,不参与生产 部署。对外发布时由入口层(Caddy 或 Nginx)终止 TLS 并反代到 8801

    数据库

    生产用 PostgreSQL。用 SQL_DSN 指定连接串:

    SQL_DSN=postgres://geekit:PASSWORD@db-host:5432/geekit

    不设 SQL_DSN 时使用容器内的 SQLite,数据落在挂载的 /sqlite 目录。

    日志库可以单独拆出去,用 LOG_SQL_DSN 指定;不设则与主库同库。

    缓存

    设置 REDIS_CONN_STRING 后启用 Redis,用于限流、分布式缓存和多副本之间的状态 共享。多副本部署必须配 Redis。

    REDIS_CONN_STRING=redis://:PASSWORD@redis-host:6379/0

    多副本

    多副本时只有主节点执行表结构变更与定时任务,其余节点用 NODE_TYPE=slave 启动。 所有副本必须共用同一个数据库与同一个 Redis。

    反向代理

    入口层需要放行 SSE(流式响应):关闭响应缓冲、把读超时放长到分钟级,否则长回答 会被中途截断。健康检查用 /api/status

    数据变更

    需要作用到既有安装的表结构与数据变更,统一写成 migration/ 里的版本化变更, 按有序 ID 记录在 schema_revisions 表中,启动时由主节点重放。已应用的变更不 允许修改、重命名或调序。