Open-source feature flag and experimentation system that manages flags, A/B variations and remote config declaratively in Git.
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 Config
LaunchDarkly
- 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
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
Open the web UI and create a project, environment and API key
- 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
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
Open-source feature flag platform for remote config, A/B testing and gradual rollouts, self-hostable via Docker or available as hosted cloud.
Open-source feature flag platform for controlling feature rollouts, A/B tests and kill switches across services, with SDKs for many languages.
Git-native feature flag platform that stores flags in your own Git repositories and deploys them alongside code.
Self-hostable feature flag platform with SDKs for .NET, JavaScript, Python, Java, Go and more, plus A/B experimentation.
Open-source feature flagging, A/B experimentation, and product analytics platform that can run on your own data warehouse.