mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
105 lines
4.6 KiB
Plaintext
105 lines
4.6 KiB
Plaintext
---
|
|
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.
|
|
|
|
<Tabs>
|
|
<Tab title="Quick deploy AWS">
|
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/jR-gM7vIY2c" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
|
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
|
|
|
|
<a href="https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://ec2-instance-cloudformation.s3.amazonaws.com/infisical-ec2-deployment.template&stackName=infisical">
|
|
<img width="200" src="../images/deploy-aws-button.png" />
|
|
</a>
|
|
|
|
</Tab>
|
|
<Tab title="Quick deploy Digital Ocean">
|
|
<Note>This deployment option is highly available</Note>
|
|
Coming soon
|
|
</Tab>
|
|
<Tab title="Helm Kubernetes">
|
|
<Note>This deployment option is highly available</Note>
|
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/ugJZSCcZaV8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
|
|
|
**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 <namespace-to-install-to>` 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)
|
|
|
|
</Tab>
|
|
<Tab title="Bare Docker Compose">
|
|
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.
|
|
|
|
</Tab>
|
|
</Tabs>
|