Railway

Deploy Unleash | Open-Source LaunchDarkly, FlagSmith Alternative

Self Host Unleash, control feature releases without touching your codebase

Deploy Unleash | Open-Source LaunchDarkly, FlagSmith Alternative

/var/lib/postgresql/data

Unleash dashboard screenshot

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

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

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 Serverunleashorg/unleash-server:latest (Docker Hub, GitHub)
  • PostgreSQL — Railway managed Postgres (provisioned automatically by this template)

Environment Variables Reference

VariableDescriptionRequired
DATABASE_HOSTPostgres hostname — set to ${{Postgres.PGHOST}}Yes
DATABASE_PORTPostgres port — set to ${{Postgres.PGPORT}}Yes
DATABASE_NAMEDatabase name — set to ${{Postgres.PGDATABASE}}Yes
DATABASE_USERNAMEDB user — set to ${{Postgres.PGUSER}}Yes
DATABASE_PASSWORDDB password — set to ${{Postgres.PGPASSWORD}}Yes
DATABASE_SSLSet to true — Railway Postgres requires SSLYes
DATABASE_SSL_REJECT_UNAUTHORIZEDSet to false — Railway uses self-signed certsYes
UNLEASH_URLPublic URL of your Unleash instance (e.g. https://your-app.up.railway.app) — used for email links and integrationsYes
PORTHTTP port Unleash listens on. Default: 4242No
LOG_LEVELLogging verbosity: info, warn, error, debugNo

Deployment Dependencies


Minimum Hardware Requirements for Self-Hosting Unleash

ResourceMinimumRecommended
CPU0.5 vCPU1 vCPU
RAM512 MB1 GB
Storage (Postgres)1 GB5 GB+
Node.js18+20+
PostgreSQL13+15+

For teams with high flag evaluation volume, consider deploying Unleash Edge as a caching proxy between your SDKs and the Unleash server to avoid overloading the main instance.


Unleash vs LaunchDarkly vs Flagsmith

FeatureUnleash OSSLaunchDarklyFlagsmith
Open source✅ Apache 2.0✅ BSD 3-Clause
Self-hostable
Free self-hosted tier✅ Unlimited flagsN/A✅ Unlimited flags
Paid cloud tier$75/seat/monthContact salesFrom $99/month
Official SDKs12+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.


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.


Template Content

More templates in this category

View Template
SigOnly
Deploy SigNoz with a working demo app & config in one click

zoeyjones
View Template
OpenTelemetry Collector and Backend
OpenTelemetry Collector with Backend Stack

Melissa
View Template
pgweb | Postgres UI
View and query your Postgres instance with a sleek and minimalistic UI.

Cory "GH5T" James