---
title: "Deploy Unleash | Open-Source LaunchDarkly, FlagSmith Alternative"
description: "Self Host Unleash, control feature releases without touching your codebase"
category: "Observability"
url: https://railway.com/deploy/unleash
---

# Deploy Unleash | Open-Source LaunchDarkly, FlagSmith Alternative

Self Host Unleash, control feature releases without touching your codebase

**[Deploy Unleash | Open-Source LaunchDarkly, FlagSmith Alternative on Railway](https://railway.com/template/unleash)**

- **Creator:** Heimdall
- **Category:** Observability
- **Total deploys:** 5

## Template content

### Unleash https://avatars.githubusercontent.com/u/23053233?s=200&v=4

- **Image:** unleashorg/unleash-server:latest
- **Health check:** /health
- **Public domain:** Yes

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

## Documentation

![Unleash dashboard screenshot](https://mms.businesswire.com/media/20220324005046/en/1398787/5/Logo_DarkBlue_Back_Horizontal.jpg?download=1)

# Deploy and Host Unleash on Railway

Self-host Unleash — the most popular open-source feature flag platform on GitHub, with over 18 million Docker pulls — on Railway in minutes. This template deploys the full Unleash stack: the `unleashorg/unleash-server` container wired to a managed PostgreSQL database, giving you a production-ready feature management instance without any manual infrastructure work.

Run Unleash on Railway and get gradual rollouts, kill switches, targeting strategies, and A/B testing under your own roof — with no data ever leaving your environment.

![Unleash dashboard screenshot](https://res.cloudinary.com/asset-cloudinary/image/upload/v1773509647/nleash_railway_architecture_bsleaf.png)

## Getting Started with Unleash on Railway

Once the Railway deploy is live, open your Unleash public URL (set via the `UNLEASH_URL` environment variable). You will be prompted to log in with the default credentials:

- **Username:** `admin`
- **Password:** `unleash4all`

> ⚠️ **Change these immediately.** Navigate to your profile (top-right avatar) → **Profile settings** → 

From there, create your first project, define environments, and generate an API token under **Settings → API Access** to connect your application SDKs.

![Unleash dashboard screenshot](https://res.cloudinary.com/asset-cloudinary/image/upload/v1773509634/Unleash_Dashboard_lfysf1.png)

## About Hosting Unleash

Unleash is a feature management platform that lets you decouple deployments from feature releases. Instead of redeploying code to toggle behaviour, you flip flags in the Unleash UI and your applications respond instantly via the SDK.

**Key features:**
- Gradual rollouts by percentage, user ID, or custom strategy
- Kill switches for instant rollback without a redeploy
- Targeting by user segments, IP ranges, and custom context fields
- 12+ official SDKs (Go, Java, Node.js, Python, Ruby, Rust, .NET, PHP) and 10+ community SDKs
- Integrations with Slack, Datadog, Prometheus, Sentry, Jira, and Microsoft Teams
- Privacy-first: flag evaluation happens in your app — end-user data never reaches Unleash

**Architecture:** The Unleash server (Node.js) connects to PostgreSQL over Railway's private network. SDKs in your application poll or stream flag state directly from the Unleash server. No Redis or cache layer is required for the open-source tier.

## Why Deploy Unleash on Railway

Deploy Unleash on Railway and skip the ops overhead:

- No Docker config, volume management, or SSL certificate wiring
- Private networking between Unleash and Postgres out of the box
- Managed Postgres with auto-generated credentials
- One-click redeploys when a new Unleash image is released
- Custom domains and managed TLS included

## Common Use Cases

- **Progressive delivery** — roll out a new API endpoint to 5% of users, watch error rates, then widen the rollout without redeploying
- **Kill switches for critical paths** — instantly disable a payment flow or third-party integration that starts misbehaving in production
- **Beta programs** — enable features only for a named list of user IDs or a specific plan/segment
- **Trunk-based development** — merge incomplete features to main behind a flag; ship without feature branches

## Dependencies for Unleash

- **Unleash Server** — `unleashorg/unleash-server:latest` ([Docker Hub](https://hub.docker.com/r/unleashorg/unleash-server), [GitHub](https://github.com/Unleash/unleash))
- **PostgreSQL** — Railway managed Postgres (provisioned automatically by this template)

### Environment Variables Reference

| Variable | Description | Required |
|---|---|---|
| `DATABASE_HOST` | Postgres hostname — set to `${{Postgres.PGHOST}}` | Yes |
| `DATABASE_PORT` | Postgres port — set to `${{Postgres.PGPORT}}` | Yes |
| `DATABASE_NAME` | Database name — set to `${{Postgres.PGDATABASE}}` | Yes |
| `DATABASE_USERNAME` | DB user — set to `${{Postgres.PGUSER}}` | Yes |
| `DATABASE_PASSWORD` | DB password — set to `${{Postgres.PGPASSWORD}}` | Yes |
| `DATABASE_SSL` | Set to `true` — Railway Postgres requires SSL | Yes |
| `DATABASE_SSL_REJECT_UNAUTHORIZED` | Set to `false` — Railway uses self-signed certs | Yes |
| `UNLEASH_URL` | Public URL of your Unleash instance (e.g. `https://your-app.up.railway.app`) — used for email links and integrations | Yes |
| `PORT` | HTTP port Unleash listens on. Default: `4242` | No |
| `LOG_LEVEL` | Logging verbosity: `info`, `warn`, `error`, `debug` | No |

### Deployment Dependencies

- **Runtime**: Node.js 20+ (bundled in the Docker image)
- **Database**: PostgreSQL 13+
- **Docker image**: `unleashorg/unleash-server:latest`
- **GitHub**: [github.com/Unleash/unleash](https://github.com/Unleash/unleash)
- **Docs**: [docs.getunleash.io](https://docs.getunleash.io)

---

## Minimum Hardware Requirements for Self-Hosting Unleash

| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 0.5 vCPU | 1 vCPU |
| RAM | 512 MB | 1 GB |
| Storage (Postgres) | 1 GB | 5 GB+ |
| Node.js | 18+ | 20+ |
| PostgreSQL | 13+ | 15+ |

For teams with high flag evaluation volume, consider deploying [Unleash Edge](https://docs.getunleash.io/unleash-edge) as a caching proxy between your SDKs and the Unleash server to avoid overloading the main instance.

---

## Unleash vs LaunchDarkly vs Flagsmith

| Feature | Unleash OSS | LaunchDarkly | Flagsmith |
|---|---|---|---|
| Open source | ✅ Apache 2.0 | ❌ | ✅ BSD 3-Clause |
| Self-hostable | ✅ | ❌ | ✅ |
| Free self-hosted tier | ✅ Unlimited flags | N/A | ✅ Unlimited flags |
| Paid cloud tier | $75/seat/month | Contact sales | From $99/month |
| Official SDKs | 12+ | 20+ | 12+ |
| Gradual rollouts | ✅ | ✅ | ✅ |
| Custom activation strategies | ✅ | ❌ | ❌ |
| Data stays in your infra | ✅ | ❌ | ✅ (self-hosted) |

Unleash is the strongest choice when data sovereignty matters — flag evaluations happen inside your app, and no user context is ever sent to an external service.

---

## Self-Hosting Unleash Outside Railway

**Docker (quickest):**

```
docker run -d \
  -e DATABASE_HOST=your-postgres-host \
  -e DATABASE_PORT=5432 \
  -e DATABASE_NAME=unleash \
  -e DATABASE_USERNAME=unleash_user \
  -e DATABASE_PASSWORD=yourpassword \
  -e DATABASE_SSL=false \
  -e UNLEASH_URL=http://localhost:4242 \
  -p 4242:4242 \
  unleashorg/unleash-server:latest
```

**With Docker Compose (Unleash + Postgres together):**

```
services:
  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: unleash
      POSTGRES_USER: unleash_user
      POSTGRES_PASSWORD: password
    volumes:
      - pgdata:/var/lib/postgresql/data

  unleash:
    image: unleashorg/unleash-server:latest
    depends_on:
      - postgres
    environment:
      DATABASE_HOST: postgres
      DATABASE_PORT: 5432
      DATABASE_NAME: unleash
      DATABASE_USERNAME: unleash_user
      DATABASE_PASSWORD: password
      DATABASE_SSL: "false"
      UNLEASH_URL: http://localhost:4242
    ports:
      - "4242:4242"

volumes:
  pgdata:
```

Navigate to `http://localhost:4242` and log in with `admin` / `unleash4all`.

---

## Is Unleash Free?

The Unleash open-source server (`unleashorg/unleash-server`) is completely free to self-host under the Apache 2.0 license — unlimited flags, unlimited users, no expiry. On Railway, you pay only for the infrastructure (compute + Postgres storage).

For teams needing unlimited environments, SSO, RBAC, change requests, and audit logs, Unleash Enterprise starts at $75 per seat per month (5-seat minimum), available as cloud-hosted or self-hosted. A 14-day free trial is available at [getunleash.io](https://www.getunleash.io).

---

## FAQ

**What is Unleash?**
Unleash is the most widely used open-source feature flag and feature management platform. It lets engineering teams control feature rollouts, run gradual deployments, and manage kill switches without redeploying code — all from a central UI with SDKs available for every major language.

**What does this Railway template deploy?**
It deploys two Railway services: the `unleashorg/unleash-server` Docker image (the Unleash API and admin UI) and a managed PostgreSQL database for persistent storage. Everything is pre-wired — you get a running Unleash instance at a public Railway URL immediately after deploy.

**What are the default login credentials?**
The default username is `admin` and the default password is `unleash4all`. These are hardcoded in the open-source image and **cannot be changed via environment variables** — you must log in and update the password manually through the admin UI (Profile → Change password) immediately after your first login.

**Why does this template include PostgreSQL?**
Unleash requires PostgreSQL to store all feature flag configuration, user accounts, activation strategies, and audit history. Without a persistent database, all data is lost on container restart. Railway's managed Postgres is the simplest way to provision this with automatic credentials and backups.

**Can I use Unleash in production with this setup?**
Yes. The `unleashorg/unleash-server` image is the same one used by teams in production globally. For production use, set `UNLEASH_URL` to your custom domain, rotate the default admin password immediately, and consider scaling Postgres storage as your flag count grows.

**Which SDK should I use to connect my app?**
Unleash has official SDKs for Node.js, Python, Go, Java, .NET, Ruby, PHP, and Rust on the server side, and JavaScript, React, Android, iOS, Flutter, Svelte, and Vue on the client side. After deploying, generate a client API token under **Settings → API Access** and follow the SDK quickstart for your language at [docs.getunleash.io/sdks](https://docs.getunleash.io/sdks).

## Similar templates

- [Pyroscope profiling](https://railway.com/deploy/pyroscope-profiling) — Protected continuous profiling with durable Pyroscope storage.
- [SigOnly](https://railway.com/deploy/sigonly) — Deploy SigNoz with a working demo app & config in one click
- [Unwrapped Spotify Music Stats](https://railway.com/deploy/wide-bold) — Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Open this page in a browser: https://railway.com/deploy/unleash
