Self-hosting Unleash the easy way

Self-hosting Unleash the easy way

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
5 min

Unleash is the leading open-source feature flag management platform. It lets you roll out features gradually, run A/B tests, and kill-switch broken releases in seconds. Unleash Cloud works, but pricing scales with seats and feature flags, and you hand over control of a critical deployment primitive to a third party.

Sliplane is a managed container platform that makes self-hosting painless. With one-click deployment, you can get Unleash up and running in minutes - no server setup, no reverse proxy config, no infrastructure to maintain.

Prerequisites

Before deploying, ensure you have a Sliplane account (free trial available).

You also need a PostgreSQL database. Unleash stores all its data in Postgres, so you need a running instance before deploying. You can deploy PostgreSQL on Sliplane with just a few clicks using the Postgres preset.

Quick start

Sliplane provides one-click deployment with presets.

SliplaneDeploy Unleash >
  1. Click the deploy button above
  2. Select a project
  3. Select a server (If you just signed up you get a 48-hour free trial server)
  4. Click Deploy!

About the preset

The one-click deploy above uses Sliplane's Unleash preset. Here's what it includes:

  • Official unleashorg/unleash-server image at version 7.6.4
  • Healthcheck configured on /health
  • Default admin password (auto-generated, visible in your service settings)
  • Pre-configured frontend and client API tokens for quick SDK setup
  • LOG_LEVEL set to warn to keep logs clean
  • UNLEASH_URL auto-configured to your Sliplane domain

The preset expects you to provide your own PostgreSQL connection via the DATABASE_URL environment variable. After deploying, update this value to point to your Postgres instance.

Next steps

Once Unleash is running, open the domain Sliplane provided (e.g. unleash-xxxx.sliplane.app).

Default credentials

Log in with:

  • Username: admin
  • Password: the value of UNLEASH_DEFAULT_ADMIN_PASSWORD in your service settings

Change the admin password after your first login.

Connecting to PostgreSQL

The preset ships with a placeholder DATABASE_URL. You need to update it to point to your actual PostgreSQL instance. If you deployed Postgres on the same Sliplane server, use the internal hostname:

postgres://postgres:YOUR_PASSWORD@YOUR-POSTGRES-SERVICE.internal:5432/unleash

Replace YOUR_PASSWORD with your Postgres password and YOUR-POSTGRES-SERVICE with the name of your Postgres service (visible in your Sliplane dashboard). Make sure the unleash database exists on your Postgres instance before starting Unleash.

API tokens

The preset includes two pre-configured API tokens for development:

Token typeToken value
Frontend APIdefault:default:development.unleash-insecure-frontend-api-token
Client APIdefault:development.unleash-insecure-api-token

These are fine for testing, but you should create new tokens in the Unleash admin panel for production use.

Environment variables

Here are the key environment variables you might want to customize:

VariableDefaultDescription
UNLEASH_DEFAULT_ADMIN_PASSWORD(auto-generated)Admin login password
DATABASE_URL(placeholder)PostgreSQL connection string
DATABASE_SSLfalseEnable SSL for database connections
LOG_LEVELwarnLog verbosity (debug, info, warn, error)

Logging

Unleash logs to STDOUT by default, which works well with Sliplane's built-in log viewer. If you need more detail for debugging, change LOG_LEVEL to info or debug. For general Docker log tips, check out our post on how to use Docker logs.

Troubleshooting

If Unleash fails to start, check these common issues:

  • Database connection: Make sure DATABASE_URL is correct and the Postgres service is running
  • Database not created: Unleash needs an existing database. Connect to Postgres and run CREATE DATABASE unleash;
  • Port conflict: Unleash listens on port 4242 by default. The preset sets this via the PORT variable

Cost comparison

You can also self-host Unleash with other cloud providers. Here is a pricing comparison for the most common ones:

ProvidervCPURAMDiskMonthly CostNote
Sliplane22 GB40 GB€9 (~$10.65)Flat rate, 1 TB bandwidth, SSL included
Fly.io22 GB40 GB~$18Disk and bandwidth billed separately
Render12 GB40 GB~$35100 GB bandwidth, Disk billed separately
Railway22 GB40 GB~$67 + $20 planPro plan floor, usage-based, bandwidth billed separately
Click here to see how these numbers were calculated.

(Assuming an always-on instance running 730 hrs/month)

  • Sliplane: flat €9/month for the Base server. Unlimited services on the same server, 1 TB egress and SSL included.
  • Fly.io: shared-cpu-2x 2 GB = $11.83/mo + 40 GB volume × $0.15/GB = $6 -> ~$17.83/mo. Egress billed separately ($0.02/GB in EU).
  • Render: closest match is Standard ($25, 1 vCPU / 2 GB) plus 40 GB disk × $0.25/GB = $10 -> ~$35/mo. Stepping up to Pro (2 vCPU / 4 GB) costs $85/mo + disk.
  • Railway (Pro plan): CPU 2 × $0.00000772/s × 2,628,000 s = $40.57; RAM 2 × $0.00000386/s × 2,628,000 s = $20.29; volume 40 × $0.00000006/s × 2,628,000 s = $6.31 -> ~$67/mo compute, plus the $20/mo Pro plan floor and $0.05/GB egress.

Bandwidth costs can add up fast on usage-based providers. Use our bandwidth cost comparison tool to see what your egress would cost on each platform.

FAQ

What can I use Unleash for?

Unleash is used for feature flag management. You can gradually roll out new features to a percentage of users, run A/B tests, toggle features on and off without redeploying, and create kill-switches for broken releases. It supports SDKs for all major languages and frameworks.

How do I connect my app to Unleash?

Install the Unleash SDK for your language (Node.js, Python, Java, Go, .NET, Ruby, etc.) and point it at your Unleash instance URL. Use the client API token from your service settings to authenticate. The Unleash SDK docs cover setup for each language.

How do I update Unleash?

Change the image tag in your Sliplane service settings (e.g. from 7.6.4 to a newer version) and redeploy. Check Docker Hub for the latest stable version. Unleash handles database migrations automatically on startup.

Does Unleash need a lot of resources?

No. Unleash is lightweight and runs well on small instances. A 2 vCPU / 2 GB RAM server handles thousands of feature flag evaluations per second. The bottleneck is usually the database, not the Unleash server itself.

Can I use Unleash without PostgreSQL?

No. PostgreSQL is the only supported database for Unleash. You can use a managed Postgres service or self-host PostgreSQL on Sliplane on the same server. Both Unleash and Postgres fit comfortably on a single Sliplane Base server for most workloads.

Self-host Unleash now - It's easy!

Sliplane gives you all the tools you need to run Unleash without server hassle.