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 commands to set up the network and run the Unleash and database containers separately.To start the Unleash server, clone the Unleash repository and start the server with Docker Compose:
This step uses docker compose (V2 syntax). If you have the older docker-compose (V1), use that command syntax instead.
This method involves running separate containers for PostgreSQL and Unleash and connecting them manually via a Docker network.
This allows the Unleash container to communicate with the database container by name.
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.
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.
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.
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.