kener

rajnandan1MIT活跃维护

开箱即用的状态页系统,自带监控与可观测能力,用 Docker 部署即可对外展示服务健康状态。

Stunning status pages, batteries included!

v4.2.1发布于 2026-11-09 10:40 UTC5,242star +4 / 7 天323fork同步于 2026-11-10 23:37 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/rajnandan1/kener.git
cd kener
docker compose up -d
硬件要求按 README 说明

README 未说明;仅要求 Node.js >= 24.14 与 Redis,可运行于 Docker 或普通服务器

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于 SvelteKit 的轻量自托管状态页系统,快速搭建好看的服务状态页

开箱即用的状态页系统,自带监控与可观测能力,用 Docker 部署即可对外展示服务健康状态。

核心能力

  • 监控 API、Ping、TCP、DNS、SSL、SQL、心跳与 GameDig 检查
  • 用事件时间线、更新和确认管理故障
  • 通过邮件、Webhook、Slack、Discord 发送通知
  • 自定义品牌、主题、明暗模式与多语言
  • 单实例管理多个状态页并支持 REST API

容易踩的坑

首次启动前必须在 docker-compose.yml 中设置强 KENER_SECRET_KEY 和 ORIGIN;非 Docker 方式需自行准备 Redis 并配置 .env;子路径部署要使用 latest-status 镜像且 ORIGIN 不要带 /status

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v4.2.1
  1. v4.2.1最新正式版2026-11-09 · 2026-11-09 10:40 UTC

    What's Changed

    Full Changelog: https://github.com/rajnandan1/kener/compare/v4.2.0...v4.2.1

  2. v4.2.02026-11-04 · 2026-11-04 14:58 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/rajnandan1/kener/compare/v4.1.11...v4.2.0

  3. v4.1.112026-11-02 · 2026-11-02 07:43 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/rajnandan1/kener/compare/v4.1.10...v4.1.11

  4. v4.1.102026-10-26 · 2026-10-26 08:36 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/rajnandan1/kener/compare/v4.1.9...v4.1.10

  5. v4.1.92026-10-24 · 2026-10-24 13:06 UTC
    查看更新说明

    [!IMPORTANT] Security fix. In v4.0.0 to v4.1.8, a request with a percent-encoded path, for example /%61pi/v4/monitors, reached every /api/v4 route without an API key. Upgrade now, then follow the steps in the v4.1.9 changelog.

    What's Changed

    New Contributors

    Full Changelog: https://github.com/rajnandan1/kener/compare/v4.1.8...v4.1.9

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Kener - Stunning Status Pages

    🌍 Live Server🎉 Quick Start🗄 Documentation

    Deploy on Railway Deploy on Zeabur Deploy to Render Deploy on RepoCloud Deploy on ZopDay

    What is Kener?

    Kener is a sleek and lightweight status page system built with SvelteKit and NodeJS. It’s not here to replace heavyweights like Datadog or Atlassian but rather to offer a simple, modern, and hassle-free way to set up a great-looking status page with minimal effort.

    Designed with ease of use and customization in mind, Kener provides all the essential features you’d expect from a status page—without unnecessary complexity.

    Why Kener?

    ✅  Minimal overhead – Set up quickly with a clean, modern UI ✅  Customizable – Easily tailor it to match your brand ✅  Open-source & free – Because great tools should be accessible to everyone

    What's in a Name?

    “Kener” is inspired by the Assamese word “Kene”, meaning “how’s it going?”. The ‘.ing’ was added because, well… that domain was available. 😄

    Quick Start

    Get Kener running in minutes.

    Docker (recommended)

    git clone https://github.com/rajnandan1/kener.git
    cd kener
    
    # Uses docker-compose.yml (includes Redis + Kener)
    # Set a strong KENER_SECRET_KEY and ORIGIN in docker-compose.yml before first run
    docker compose up -d
    

    Open http://localhost:3000.

    [!IMPORTANT] Set a strong KENER_SECRET_KEY and set ORIGIN to your public URL before starting for the first time.

    Use docker-compose.dev.yml when you want to build from local source instead of pulling the published image:

    docker compose -f docker-compose.dev.yml up -d --build
    

    Or combine both files to keep base production config while overriding Kener with a local build:

    docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d --build
    

    Run pre-built image

    You can use either image:

    • docker.io/rajnandan1/kener:latest
    • ghcr.io/rajnandan1/kener:latest

    For subpath deployments (/status), use:

    • docker.io/rajnandan1/kener:latest-status
    • docker.io/rajnandan1/kener:latest-status-alpine
    • ghcr.io/rajnandan1/kener:latest-status
    • ghcr.io/rajnandan1/kener:latest-status-alpine
    mkdir -p database
    docker run -d \
    	--name kener \
    	-p 3000:3000 \
    	-v "$(pwd)/database:/app/database" \
    	-e "KENER_SECRET_KEY=replace_with_a_random_string" \
    	-e "ORIGIN=http://localhost:3000" \
    	-e "REDIS_URL=redis://host.docker.internal:6379" \
    	docker.io/rajnandan1/kener:latest
    

    Run pre-built subpath image (/status)

    mkdir -p database
    docker run -d \
    	--name kener-status \
    	-p 3000:3000 \
    	-v "$(pwd)/database:/app/database" \
    	-e "KENER_SECRET_KEY=replace_with_a_random_string" \
    	-e "ORIGIN=http://localhost:3000" \
    	-e "KENER_BASE_PATH=/status" \
    	-e "REDIS_URL=redis://host.docker.internal:6379" \
    	docker.io/rajnandan1/kener:latest-status
    

    [!NOTE] For subpath mode, keep ORIGIN as the site origin (http://localhost:3000), not http://localhost:3000/status.

    Run without Docker

    Requirements:

    • Node.js >= 24.14
    • Redis
    git clone https://github.com/rajnandan1/kener.git
    cd kener
    npm install
    
    # Start Redis (example)
    docker run -d --name kener-redis -p 6379:6379 redis:7-alpine
    
    npm run build
    npm run start
    

    Create a .env with at least:

    KENER_SECRET_KEY=replace_with_a_random_string
    ORIGIN=http://localhost:3000
    REDIS_URL=redis://localhost:6379
    PORT=3000
    

    For the full quick start (including local Docker builds and dev mode), see the docs:

    Features

    Kener combines public status page essentials with advanced admin workflows.

    📊  Monitoring, Reliability, and Communication

    • Monitor API, Ping, TCP, DNS, SSL, SQL, Heartbeat, and GameDig checks
    • Manage incidents with clear timelines, updates, and acknowledgements
    • Schedule maintenance windows and keep users informed throughout
    • Send notifications via Email, Webhook, Slack, and Discord
    • Explore historical monitoring data and uptime trends

    🎨  Status Page Experience and Branding

    • Build branded, customizable status pages (logo, colors, CSS, themes)
    • Support light/dark mode, localization, and timezone-aware display
    • Embed status widgets and badges into external sites and portals
    • Provide SEO-friendly public pages for global audiences

    🛠️  Operations, Collaboration, and Automation

    • Invite teams with role-based collaboration across workflows
    • Manage multiple status pages from one Kener instance
    • Use trigger-based workflows and template-driven messaging
    • Manage API keys for secure integrations and automations
    • Integrate analytics providers like GA, Plausible, Mixpanel, Umami, and Clarity
    • Access the full REST API for incidents, monitors, and reporting

    Technologies Used

    Support Me

    If you’re enjoying Kener and want to support its development, consider sponsoring me on GitHub or treating me to a coffee. Your support helps keep the project growing! 🚀

    Contributing

    If you want to contribute to Kener, please read the Contribution Guide.

    Star History

    Star History Chart