Repolode
Ryware

Ryware/nona-config

可自托管的功能开关与远程配置服务,通过一套 REST API 提供,可替代 Firebase Remote Config。

可替代:Firebase Remote ConfigLaunchDarkly

Star
51
Fork
14
未关闭 Issue
1
最近提交
4天前

这是什么?

Nona 是一个可自托管的功能开关与远程配置服务。团队可以在不重新发布应用的情况下,通过后台调整网页、移动端和后端应用的开关、阈值以及紧急关停开关,数据保存在自己的基础设施中,而不是由 Google 托管。

它以单个 Docker 容器的形式运行,管理后台与 HTTP API 共用一个端口。独立部署使用 SQLite,配置主从复制时使用内嵌的 libSQL。配置按项目、环境和发布版本组织,客户端使用绑定项目的 API Key 拉取数据。任何语言都可以直接调用普通 HTTP 接口,同时提供 JavaScript、.NET、Kotlin/Android 和 Swift 的官方客户端,以及服务端和浏览器端的 OpenFeature Provider。CLI 自带迁移命令,可导入 Firebase Remote Config 和 AWS Parameter Store 中的参数。

读取接口以项目、环境、作用域和键名为索引,HTTP 读取路径暂不支持内置的用户定向、按比例灰度或基于用户的动态计算。

核心功能

  • 01无需重新部署,即可在网页后台切换功能开关和配置值。
  • 02通过一套 REST API 获取配置,任何语言都可以直接调用。
  • 03按项目、环境和发布版本组织配置。
  • 04提供 JavaScript、.NET、Kotlin/Android、Swift 官方客户端及 OpenFeature Provider。
  • 05以单个 Docker 容器运行,内置 SQLite,可选 libSQL 主从复制。
  • 06CLI 内置从 Firebase Remote Config 迁移的命令。

适用场景

  • 在生产环境中通过紧急开关数秒内关闭故障功能。
  • 无需等待应用商店审核,即可更新移动端应用配置。
  • 在保留数据自有部署的前提下,替代 Firebase Remote Config。
  • 让使用不同语言编写的多个服务共享同一份配置来源。

快速上手

  1. 1

    使用 Docker 运行 Nona 容器

    docker run -d --name nona --restart unless-stopped -p 18080:8080 -v nona-data:/var/lib/nona rywaredev/nona:latest
  2. 2

    打开网页界面,创建项目、环境和 API 密钥

  3. 3

    使用 API 密钥获取一个参数

    curl "http://localhost:18080/api/environments/production/parameters/Features%3ACheckout" -H "X-Api-Key: your-api-key"

使用前须知

  • 读取仅按项目、环境和键进行,不支持内置的按用户定向或百分比灰度发布。
  • 自托管需要你自行运行和维护 Docker 容器及存储。
  • 项目较新,仅有 51 个星标,社区规模较小。

收录于专题

标签

#feature-flags#remote-config#self-hosted#feature-toggles#docker#rest-api#configuration-management#apache-2#feature-management#firebase-alternative

常见问题

nona-config 是什么?
可自托管的功能开关与远程配置服务,通过一套 REST API 提供,可替代 Firebase Remote Config。 Nona 是一个可自托管的功能开关与远程配置服务。团队可以在不重新发布应用的情况下,通过后台调整网页、移动端和后端应用的开关、阈值以及紧急关停开关,数据保存在自己的基础设施中,而不是由 Google 托管。
nona-config 可以免费使用吗?用的什么许可证?
nona-config 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
nona-config 还在维护吗?
活跃维护中。nona-config 最近一次提交是在 2026年11月3日。
nona-config 适合用来做什么?
在生产环境中通过紧急开关数秒内关闭故障功能。 无需等待应用商店审核,即可更新移动端应用配置。 在保留数据自有部署的前提下,替代 Firebase Remote Config。 让使用不同语言编写的多个服务共享同一份配置来源。
nona-config 怎么安装和运行?
使用 Docker 运行 Nona 容器: docker run -d --name nona --restart unless-stopped -p 18080:8080 -v nona-data:/var/lib/nona rywaredev/nona:latest 打开网页界面,创建项目、环境和 API 密钥 使用 API 密钥获取一个参数: curl "http://localhost:18080/api/environments/production/parameters/Features%3ACheckout" -H "X-Api-Key: your-api-key"
在哪里获取 nona-config?
源代码和安装说明在 GitHub 上:https://github.com/Ryware/nona-config

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目