For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
13.5kProductPricingSign inStart free trialBook a demo
DocsAPIsSDKsEnterprise EdgeGuidesAcademyRelease notes
DocsAPIsSDKsEnterprise EdgeGuidesAcademyRelease notes
    • Home
  • Get started
    • Quickstart
    • Introduction to feature flags
    • Unleash architecture overview
  • Core concepts
    • Overview
    • Import and export
      • Unleash hosting options
        • Getting started
        • Configuring Unleash
        • Upgrading Unleash
        • License keys
        • HTTPS
        • Synchronize Unleash instances
      • Developer Toolbar

Unleash reduces the risk of releasing new features, drives innovation by streamlining the software release process, and increases revenue by optimizing end-user experience. While we serve the needs of the world's largest, most security-conscious organizations, we are also rated the “Easiest Feature Management system to use” by G2.

GitHubGitHubLinkedInLinkedInX (Twitter)X (Twitter)SlackSlackStack OverflowStack OverflowYouTubeYouTube

Server SDKs

  • Node.js
  • Java
  • Go
  • Rust
  • Ruby
  • Python
  • .NET
  • PHP
  • All SDKs

Frontend SDKs

  • JavaScript
  • React
  • Next.js
  • Vue
  • iOS
  • Android
  • Flutter

Feature Flag use cases

  • Secure, scalable feature flags
  • Rollbacks
  • FedRAMP, SOC2, ISO2700 compliance
  • Progressive or gradual rollouts
  • Trunk-based development
  • Software kill switches
  • A/B testing
  • Feature management
  • Canary releases

Product

  • Quickstart
  • Unleash architecture
  • Pricing
  • Product vision
  • Open live demo
  • Open source
  • Enterprise feature management platform
  • Unleash vs LaunchDarkly

Support

  • Help center
  • Status
  • Changelog
Made in a cosy atmosphere in the Nordic countries.Copyright © 2026 Unleash
LogoLogo
13.5kProductPricingSign inStart free trialBook a demo
On this page
  • Start Unleash server
  • Using Docker Compose
  • Using Docker CLI
  • Log in to the Unleash Admin UI
  • Install your license
  • Test your server connection
  • Disable version check
Integrate and deploySelf-hosting Unleash

Getting started

||View as Markdown|
Was this page helpful?

Last updated May 11, 2026

Previous

Configure Unleash

Next
Built with

Unleash offers several hosting options, including fully self-hosted setups. This guide helps you set up Unleash Open Source or Unleash Enterprise in your own environment using Docker.

Alternatively, for Unleash Enterprise, you can sign up for a cloud-hosted instance.

You can set up Unleash in your environment using two main approaches with Docker:

  • Docker Compose: This method relies on a Docker Compose file to define and manage the Unleash server and its database, simplifying the setup and startup process.
  • Docker CLI: This method gives you more direct control by using individual docker commands to set up the network and run the Unleash and database containers separately.

Start Unleash server

Using Docker Compose

To start the Unleash server, clone the Unleash repository and start the server with Docker Compose:

$git clone git@github.com:Unleash/unleash.git
$
$cd unleash
$docker compose -f docker-compose-enterprise.yml up -d

This step uses docker compose (V2 syntax). If you have the older docker-compose (V1), use that command syntax instead.

Using Docker CLI

This method involves running separate containers for PostgreSQL and Unleash and connecting them manually via a Docker network.

Create Docker network

This allows the Unleash container to communicate with the database container by name.

$docker network create unleash

Start PostgreSQL database container

This command starts a PostgreSQL container, sets up the necessary user, unleash_user and database unleash, assigns a password, and connects it to the unleash network.

$docker run -d \
> -e POSTGRES_PASSWORD=your_secure_password \
> -e POSTGRES_USER=unleash_user \
> -e POSTGRES_DB=unleash \
> --network unleash \
> --name postgres \
> postgres:17 # or any 14+ version

Start Unleash server container

This command starts the Unleash server, maps port 4242 on your host to the container, connects to the PostgreSQL database you started, disables database SSL, connects to the unleash network, and ensures you have the latest image.

$docker run -d -p 4242:4242 \
> -e DATABASE_HOST=postgres \
> -e DATABASE_NAME=unleash \
> -e DATABASE_USERNAME=unleash_user \
> -e DATABASE_PASSWORD=your_secure_password \
> -e DATABASE_SSL=false \
> --network unleash \
> --name unleash \
> --pull=always \
> unleashorg/unleash-enterprise

Log in to the Unleash Admin UI

Test your server connection

You can quickly test if your server is running and accepting API requests using curl. For example, you can attempt creating a feature flag via the Admin API. Replace <API_TOKEN> with a valid API token and adjust the URL http://localhost:4242 if needed.

$curl --location --request POST 'http://localhost:4242/api/admin/features' \
>--header 'Authorization: <API_TOKEN>' \
>--header 'Content-Type: application/json' \
>--data-raw '{
> "name": "Test Feature Flag",
> "description": "Feature flag for testing",
> "type": "release",
> "enabled": false,
> "stale": false,
> "strategies": [
> {
> "name": "default",
> "parameters": {}
> }
> ]
>}'

Disable version check

By default, your self-hosted Unleash instance periodically checks https://version.unleash.run to inform you about new releases. This check sends a unique, anonymous instance ID.

If you prefer to disable this version check, set the environment variable CHECK_VERSION to false before starting the Unleash server.