--- title: "Deployment options" description: "Explore deployment options for self hosting Infisical" --- To meet various compliance requirements, you may want to self-host Infisical instead of using [Infisical Cloud](https://app.infisical.com/). Self-hosted Infisical allows you to maintain your sensitive information within your own infrastructure and network, ensuring complete control over your data. This deployment option will use AWS Cloudformation to auto deploy an instance of Infisical on a single EC2 via Docker Compose. **Resources that will be provisioned** - 1 EC2 instance - 1 DocumentDB cluster - 1 DocumentDB instance - Security groups This deployment option is highly available Coming soon This deployment option is highly available **Prerequisites** - You have understanding of [Kubernetes](https://kubernetes.io/) - You have understanding of [Helm package manager](https://helm.sh/) - You have [kubectl](https://kubernetes.io/docs/reference/kubectl/kubectl/) installed and connected to your kubernetes cluster #### 1. Install Infisical Helm repository ```bash helm repo add infisical-helm-charts 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/' helm repo update ``` #### 2. Install the Helm chart By default, the helm chart will be installed on your default namespace. If you wish to install the Chart on a different namespace, you may specify that by adding the `--namespace ` to your `helm install` command. ```bash ## Installs to default namespace helm install infisical-helm-charts/infisical --generate-name ``` #### 3. Access Infisical Allow 3-5 minutes for the deployment to complete. Once done, you should now be able to access Infisical on the IP address exposed via Ingress on your load balancer. If you are not sure what the IP address is run `kubectl get ingress` to view the external IP address exposing Infisical. #### Custom configuration To configure environment variables, database and deployments, you'll need to set the parameters in a `values.yaml` file. To view all available parameters [visit here](https://github.com/Infisical/infisical/tree/main/helm-charts/infisical#parameters) 1. Install Docker on your VM ```bash # Example in ubuntu apt-get update apt-get upgrade apt install docker-compose ``` 2. Download the required files ```bash # Download env file template wget -O .env https://raw.githubusercontent.com/Infisical/infisical/main/.env.example # Download docker compose template wget -O docker-compose.yml https://raw.githubusercontent.com/Infisical/infisical/main/docker-compose.yml # Download nginx config mkdir nginx && wget -O ./nginx/default.conf https://raw.githubusercontent.com/Infisical/infisical/main/nginx/default.dev.conf ``` 3. Tweak the `.env` according to your preferences. Refer to the available [environment variables](/self-hosting/configuration/envars) ```bash # update environment variables like mongo login nano .env ``` 4. Get the service up and running. ```bash # Start up services in detached mode docker-compose -f docker-compose.yml up -d ``` 5. Your Infisical installation is complete and should be running on [http://localhost:80](http://localhost:80). Please note that the containers are not exposed to the internet and only bind to the localhost. It's up to you to configure a firewall, SSL certificates, and implement any additional security measures.