This self hosting guide will walk you though the steps to self host Infisical using Docker compose.

Prerequisites

This Docker Compose configuration is not designed for high-availability production scenarios. It includes just the essential components needed to set up an Infisical proof of concept (POC). To run Infisical in a highly available manner, give the Docker Swarm guide.

Verify prerequisites

To verify that Docker compose and Docker are installed on the machine where you plan to install Infisical, run the following commands.

Check for docker installation

docker

Check for docker compose installation

docker-compose 

Download docker compose file

You can obtain the Infisical docker compose file by using a command-line downloader such as wget or curl. If your system doesn’t have either of these, you can use a equivalent command that works with your machine.

curl -o docker-compose.prod.yml https://raw.githubusercontent.com/Infisical/infisical/main/docker-compose.prod.yml

Configure instance credentials

Infisical requires a set of credentials used for connecting to dependent services such as Postgres, Redis, etc. The default credentials can be downloaded using the one of the commands listed below.

  curl -o .env https://raw.githubusercontent.com/Infisical/infisical/main/.env.example

Once downloaded, the credentials file will be saved to your working directly as .env file. View all available configurations here.

The default .env file contains credentials that are intended solely for testing purposes. Please generate a new ENCRYPTION_KEY and AUTH_SECRET for use outside of testing. Instructions to do so, can be found here.

Start Infisical

Run the command below to start Infisical and all related services.

docker-compose -f docker-compose.prod.yml up

Your Infisical instance should now be running on port 80. To access your instance, visit http://localhost:80.