Repolode
Ryware

Ryware/nona-config

Self-hosted feature flags and remote config service, a Firebase Remote Config alternative exposed through one REST API.

Open-source alternative to:Firebase Remote ConfigLaunchDarkly

Stars
51
Forks
14
Open issues
1
Last commit
4 days ago

What is it?

Nona is a self-hosted service for feature flags and remote configuration. Teams use it to change values such as toggles, limits and kill switches in web, mobile and backend apps without redeploying, keeping the data on their own infrastructure instead of a Google-hosted service.

It ships as a single Docker container that runs an admin web UI and HTTP API on one port, with SQLite for standalone use and embedded libSQL when a primary/replica setup is configured. Values are organized by project, environment and release, and clients fetch them with a project-scoped API key. Plain HTTP works from any language, and official clients are provided for JavaScript, .NET, Kotlin/Android and Swift, plus OpenFeature providers for server and browser. A CLI includes a migration command that imports parameters from Firebase Remote Config and AWS Parameter Store.

Reads are keyed by project, environment, scope and key. The HTTP read path has no built-in user targeting, percentage rollouts or per-user evaluation.

Key features

  • 01Toggle feature flags and config values from a web dashboard without redeploying.
  • 02Fetch values through one REST API that works from any language.
  • 03Organize values by project, environment and release version.
  • 04Official clients for JavaScript, .NET, Kotlin/Android and Swift, with OpenFeature providers.
  • 05Runs as a single Docker container with SQLite, with optional libSQL primary/replica replication.
  • 06Built-in CLI command to migrate from Firebase Remote Config.

Use cases

  • Turning off a broken feature in production within seconds using a kill switch.
  • Updating mobile app configuration without waiting for an app store release.
  • Replacing Firebase Remote Config while keeping data on your own servers.
  • Sharing one configuration source across services written in different languages.

Quick start

  1. 1

    Run the Nona container with Docker

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

    Open the web UI and create a project, environment and API key

  3. 3

    Fetch a parameter with your API key

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

Things to know

  • Reads are keyed only by project, environment and key, with no built-in per-user targeting or percentage rollouts.
  • Self-hosting requires running and maintaining your own Docker container and storage.
  • The project is young, with 51 stars, so it has a small community.

In collections

Topics

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

FAQ

What is nona-config?
Self-hosted feature flags and remote config service, a Firebase Remote Config alternative exposed through one REST API. Nona is a self-hosted service for feature flags and remote configuration. Teams use it to change values such as toggles, limits and kill switches in web, mobile and backend apps without redeploying, keeping the data on their own infrastructure instead of a Google-hosted service.
Is nona-config free to use? What license does it have?
nona-config is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is nona-config still maintained?
Actively maintained. The last commit to nona-config was on Nov 3, 2026.
What can I use nona-config for?
Turning off a broken feature in production within seconds using a kill switch. Updating mobile app configuration without waiting for an app store release. Replacing Firebase Remote Config while keeping data on your own servers. Sharing one configuration source across services written in different languages.
How do I install nona-config?
Run the Nona container with Docker: docker run -d --name nona --restart unless-stopped -p 18080:8080 -v nona-data:/var/lib/nona rywaredev/nona:latest Open the web UI and create a project, environment and API key Fetch a parameter with your API key: curl "http://localhost:18080/api/environments/production/parameters/Features%3ACheckout" -H "X-Api-Key: your-api-key"
Where can I get nona-config?
The source code and installation instructions are on GitHub: https://github.com/Ryware/nona-config

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects