Skip to main content

Introducing Replane - Self-Hosted Config Management

· 3 min read
Replane Team
Replane Core Team

We're excited to announce Replane, a self-hosted solution for managing application configuration with version history, instant rollback, and realtime updates.

Why Replane?

When building applications, you often need to change behavior without deploying new code:

  • Feature flags to toggle features on/off
  • Operational tuning to adjust rate limits, cache TTLs, or batch sizes
  • Gradual rollouts to release features to a percentage of users
  • Incident response to quickly revert problematic changes

Existing solutions are either too complex (full-featured feature flag platforms) or too simple (environment variables in spreadsheets).

Replane finds the sweet spot: focused, auditable, and self-hosted.

Key Features

Version History & Instant Rollback

Every config change creates an append-only snapshot. When something goes wrong, revert to any previous version with one click. No guessing, no manual edits.

Realtime Updates via SSE

Changes propagate to your applications instantly via Server-Sent Events. No polling, no delays. Your apps stay synchronized automatically.

const flags = await client.watchConfigValue('feature-flags');

// Later, when someone changes the config:
flags.get(); // Returns the new value automatically

JSON Schema Validation

Attach JSON schemas to prevent invalid configurations. Block out-of-range values and enforce structure before changes are saved.

{
"type": "object",
"properties": {
"rate-limit": {
"type": "integer",
"minimum": 1,
"maximum": 10000
}
},
"required": ["rate-limit"]
}

Role-Based Access Control

Granular permissions with owner, editor, and viewer roles. Control who can modify configs and who can only view them. Create API keys for programmatic access.

Self-Hosted

Run on your infrastructure with full data ownership. Simple Docker deployment with PostgreSQL. No external dependencies, no vendor lock-in.

Getting Started

Deploy with Docker Compose in under 5 minutes:

services:
db:
image: postgres:17
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: replane
volumes:
- replane-db:/var/lib/postgresql/data

app:
image: ghcr.io/replane-dev/replane:latest
depends_on:
- db
environment:
DATABASE_URL: postgresql://postgres:postgres@db:5432/replane
BASE_URL: http://localhost:3000
SECRET_KEY_BASE: your-secret-key
GITHUB_CLIENT_ID: your-github-client-id
GITHUB_CLIENT_SECRET: your-github-client-secret
ports:
- "3000:3000"

volumes:
replane-db:

Check out the Quickstart Guide for detailed instructions.

Use Cases

Feature Flags

Toggle features without deploying:

{
"new-onboarding": true,
"dark-mode": false,
"billing-v2": false
}

Operational Tuning

Adjust behavior in realtime:

{
"api-requests-per-minute": 100,
"cache-ttl-seconds": 300,
"max-concurrent-connections": 50
}

Gradual Rollouts

Release features to a percentage of users:

{
"new-checkout-percentage": 25
}

Increase over time as you gain confidence.

SDK

We provide a lightweight SDK for JavaScript/TypeScript:

npm install replane-sdk
import { createReplaneClient } from 'replane-sdk';

const client = createReplaneClient({
apiKey: process.env.REPLANE_API_KEY,
baseUrl: 'https://config.company.com',
});

const flags = await client.getConfigValue('feature-flags');

Status & Roadmap

Replane is early but usable. We're running it in production for our own projects. Expect changes to schemas and endpoints before v1.0.

Upcoming features:

  • Config templates
  • Webhook notifications
  • More authentication providers (Google, Azure AD)
  • Advanced RBAC with custom roles

Get Involved

We'd love to hear your feedback! Open an issue or discussion on GitHub.


Ready to give it a try? Start with the Quickstart Guide.