跳转到主要内容

自助主机 - 入门

本指南将带您从空服务器到运行的 Kanera,您可以登录到它。

它涵盖了每个部署所需的部分:要求、容量、环境文件、启动堆栈和确认其工作。 可选部分 — — 公共 API、MCP、电子邮件、存储和备份 — — 每个都有自己的页面,在结尾处链接。

所需经费​

你需要:

  • 具有 Docker 和 Docker Compose 的服务器。
  • 指向服务器的域。
  • HTTPS 在Kanera前面,通常通过Caddy,Traefik,nginx,或云负载均衡器。
  • 如果您想让 Kanera 发送电子邮件,请输入 SMTP 凭据。
  • 备份 PostgreSQL 数据和上传文件的计划。

规划能力​

Kanera 适用于小型团队,其编写文件不设置硬 CPU 或内存限制,并且迁移服务在启动后退出。 默认堆栈运行 PostgreSQL、Valkey、两个 API 副本、一个工作程序、公共 API、MCP 和 nginx。

使用这些作为起点,然后衡量您自己的并发活动、文件、集成和备份窗口:

典型的队伍起始能力本地磁盘笔记
个人或轻微使用1 个 vCPU、1 GiB RAM10GiB使用 API_REPLICAS=1 并关闭可选监控配置文件。
1 至 25 名活跃用户1-2 个 vCPU、2 GiB RAM20GiB适合正常的板活动、通知和轻型集成。
26 至 100 名活跃用户2-4 个 vCPU、4 GiB RAM40GiB增加了并发活动、上传、API 流量、Webhook 和数据库缓存的空间。
超过100名活跃用户4+ vCPU、8+ GiB RAM80+ GiB在发布前使用代表性数据进行负载测试,然后扩展 API 副本并根据观察到的使用情况调整 PostgreSQL。

这些是规划基线,而不是硬性用户限制或测量容量保证。 并发活动比注册帐户数量更重要,文件量和保留通常比 Kanera 本身更加驱动磁盘需求。 将数据库和上传文件备份保存在服务器主磁盘之外,并提醒磁盘增长。

可选的 Prometheus、Grafana、Loki、Alloy 和导出器监控配置文件可添加多个进程。 部署指南估计,根据日志量和仪表板使用情况,大约需要 0.7 到 1.5 GiB 的额外内存。

关于每个服务的功能以及要公开哪些服务,请参阅 服务与路由.

下载Kanera​

Kanera 作为预构建的 Docker 映像交付。 每个 释放 包括一个即可运行的 docker-compose.yml 从而不需要克隆仓库或构建任何东西。

在服务器上为 Kanera 创建一个目录,并从最新版本下载编写文件和示例环境文件:

mkdir kanera && cd kanera
curl -fsSLo docker-compose.yml https://github.com/happendev/Kanera/releases/latest/download/docker-compose.yml
curl -fsSLo .env https://github.com/happendev/Kanera/releases/latest/download/env.example

编译文件将每个图像都绑定到该版本,因此在您 最新情况。它需要 Docker Compose 2.23 或更高版本(docker compose version).

配置环境文件​

开放 .env 设置所需的生产值:

WEB_ORIGIN=https://kanera.example.com
COOKIE_DOMAIN=kanera.example.com
COOKIE_SECURE=true
KANERA_ENVIRONMENT=production

POSTGRES_PASSWORD=<openssl rand -hex 32>
JWT_SECRET=<openssl rand -hex 32>
MCP_INTERNAL_SECRET=<openssl rand -hex 32>
MFA_ENCRYPTION_KEY=<openssl rand -hex 32>
MEDIA_SIGNING_SECRET=<openssl rand -hex 32>
SECRETS_ENCRYPTION_KEY=<openssl rand -hex 32>

在重新部署过程中保持这些秘密的稳定性。 JWT_SECRET 注销用户。 更改 MFA_ENCRYPTION_KEY 使已注册的身份验证器和 MFA 挑战无效。 MEDIA_SIGNING_SECRET 使现有的已签名媒体 URL 无效。 MCP_INTERNAL_SECRET 将 MCP 服务身份验证到 API。 SECRETS_ENCRYPTION_KEY 保护存储的集成机密,并应与 JWT_SECRET.

自托管模式是默认值:

KANERA_DEPLOYMENT_MODE=self_hosted

除非您正在运行 Kanera SaaS 风格的托管部署,否则不要设置托管 Stripe 计费变量。

海 环境变量参考 适用于生产设置 env.full.example 对于每个可选调谐值和默认值。

起点 Kanera​

docker compose up -d

Docker 会拉取映像,然后迁移服务会在此之前设置数据库一次 api, worker, 和 public-api start 。 MCP 服务在公共 API 运行状况检查通过后启动。

检查部署情况​

在浏览器中打开您的 Web 域:

https://kanera.example.com

部署后 Web 应用程序中的 Kanera 板。

有用的检查:

docker compose ps
docker compose logs -f api
docker compose logs -f worker
docker compose logs -f public-api
docker compose logs -f mcp

健康检查:

curl https://kanera.example.com/api/health
curl https://api.kanera.example.com/health
curl https://mcp.kanera.example.com/health

只有在这些服务被暴露时,公共 API 和 MCP 检查才会适用。

如果有东西不出来,通过工作 常见问题 按顺序而不是按症状。

配置您所需的​

登录和使用看板不需要以下任何内容。 您可以随时添加每个部分:

页面封面
环境变量参考必需的秘密、公共 URL、访问策略、存储、交付、扩展、保留、监控和管理设置。
服务与路由每个服务的功能、推荐的域、发布端口和反向代理信任。
电子邮件与通知SMTP、浏览器推送、个人 ntfy/Gotify/webhook 目标和聊天目标。
集成与 API暴露公共 API 和 MCP、面向 AI 代理的 OAuth 和 Trello 附件复制。
存储与备份本地或 S3 上传存储、数据库和文件备份以及值得保密的信息。
更新与扩展更新到新版本和副本计数。

关于实施支持的部署参考,请参见 关于 Kanera 存储库中的 DEPLOY.md.