mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
update self hosting docs layout
This commit is contained in:
@@ -116,7 +116,19 @@
|
||||
{
|
||||
"group": "Self-host Infisical",
|
||||
"pages": [
|
||||
"self-hosting/overview",
|
||||
{
|
||||
"group": "Deployment options",
|
||||
"pages": [
|
||||
"self-hosting/overview",
|
||||
"self-hosting/deployment-options/kubernetes-helm",
|
||||
"self-hosting/deployment-options/aws-ec2",
|
||||
"self-hosting/deployment-options/docker-compose",
|
||||
"self-hosting/deployment-options/fly.io",
|
||||
"self-hosting/deployment-options/render",
|
||||
"self-hosting/deployment-options/standalone-infisical",
|
||||
"self-hosting/deployment-options/digital-ocean-marketplace"
|
||||
]
|
||||
},
|
||||
"self-hosting/configuration/envars",
|
||||
"self-hosting/configuration/email",
|
||||
"self-hosting/faq"
|
||||
|
||||
17
docs/self-hosting/deployment-options/aws-ec2.mdx
Normal file
17
docs/self-hosting/deployment-options/aws-ec2.mdx
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: "AWS EC2"
|
||||
description: "Learn to install Infisical on EC2 using Cloud Formation template"
|
||||
---
|
||||
|
||||
<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>
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Digital Ocean"
|
||||
description: "Learn to install Infisical on Digital Ocean"
|
||||
---
|
||||
|
||||
Documentation coming soon
|
||||
42
docs/self-hosting/deployment-options/docker-compose.mdx
Normal file
42
docs/self-hosting/deployment-options/docker-compose.mdx
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: "Docker Compose"
|
||||
description: "Learn to install Infisical using our Docker Compose template"
|
||||
---
|
||||
|
||||
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.
|
||||
60
docs/self-hosting/deployment-options/fly.io.mdx
Normal file
60
docs/self-hosting/deployment-options/fly.io.mdx
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: "Fly.io"
|
||||
description: "Learn to install Infisical on Fly.io"
|
||||
---
|
||||
|
||||
**Prerequisites**
|
||||
- Familiar with Fly.io deployment
|
||||
- Logged in via fly CLI
|
||||
|
||||
#### 1. Make a copy of the deployment config
|
||||
To begin, you'll to make a copy of the following file on your local machine
|
||||
|
||||
```toml fly.toml
|
||||
# fly.toml app configuration file generated for infisical on 2023-05-05T08:57:03-04:00
|
||||
#
|
||||
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
|
||||
#
|
||||
|
||||
app = "infisical"
|
||||
primary_region = "iad"
|
||||
|
||||
[build]
|
||||
image = "infisical/infisical:latest"
|
||||
|
||||
[env]
|
||||
ENCRYPTION_KEY = <>
|
||||
JWT_AUTH_SECRET = <>
|
||||
JWT_REFRESH_SECRET = <>
|
||||
JWT_SERVICE_SECRET = <>
|
||||
JWT_SIGNUP_SECRET = <>
|
||||
MONGO_URL = <>
|
||||
|
||||
[http_service]
|
||||
internal_port = 80
|
||||
|
||||
```
|
||||
|
||||
#### 2. Add JWT and encryption key
|
||||
|
||||
Before we can deploy Infisical, we'll need to provide values for the keys under `[env]` config block. For each of the following keys
|
||||
|
||||
- `ENCRYPTION_KEY`
|
||||
- `JWT_AUTH_SECRET`
|
||||
- `JWT_REFRESH_SECRET`
|
||||
- `JWT_SERVICE_SECRET`
|
||||
- `JWT_SIGNUP_SECRET`
|
||||
|
||||
you will need to generate a random 16 byte hex string. This can can be generated with `openssl rand -hex 16`.
|
||||
|
||||
|
||||
Lastly, the `MONGO_URL` environment variable requires a document database connection URL.
|
||||
You can obtain this URL by creating a document database using services such as [MongoDB](https://www.mongodb.com/), [AWS DocumentDB](https://aws.amazon.com/documentdb/), and others.
|
||||
|
||||
#### 3. Deploy
|
||||
|
||||
Run `fly launch` in the directory where you have the local version of config from step 1 and follow the instructions.
|
||||
Once done, your very own instance of Infisical should be up and running on Fly.io.
|
||||
|
||||
Please note that this version of Infisical requires at least 250MB of memory to operate smoothly.
|
||||
|
||||
35
docs/self-hosting/deployment-options/kubernetes-helm.mdx
Normal file
35
docs/self-hosting/deployment-options/kubernetes-helm.mdx
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
title: "Kubernetes via Helm Chart"
|
||||
description: "Use our Helm chart to Install Infisical on your Kubernetes cluster"
|
||||
---
|
||||
<iframe width="100%" height="375" 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/)
|
||||
- Installed [Helm package manager](https://helm.sh/) version v3.11.3 or greater
|
||||
- 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)
|
||||
15
docs/self-hosting/deployment-options/render.mdx
Normal file
15
docs/self-hosting/deployment-options/render.mdx
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: "Render.com"
|
||||
description: "Learn to install Infisical Render.com"
|
||||
---
|
||||
|
||||
**Prerequisites**
|
||||
- An account at Render.com
|
||||
- A document DB instance
|
||||
|
||||
Deploying on Render is one of the quickest ways to have Infisical running in production.
|
||||
Before you start deployment, you will need to obtain document db connection string. This will be used for `MONGO_URL` environment variable required during installation.
|
||||
|
||||
You can create a document db database using services such as [MongoDB](https://www.mongodb.com/), [AWS DocumentDB](https://aws.amazon.com/documentdb/), and others. Once done, click the link below to start deployment.
|
||||
|
||||
### **[Deploy to Render](https://render.com/deploy?repo=https://github.com/Infisical/infisical)**
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
title: "Docker"
|
||||
description: "Learn to install Infisical purely on docker"
|
||||
---
|
||||
|
||||
Documentation coming soon
|
||||
@@ -1,142 +1,32 @@
|
||||
---
|
||||
title: "Deployment options"
|
||||
title: "Introduction"
|
||||
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.
|
||||
Self-hosted Infisical allows you to maintain your sensitive information within your own infrastructure and network, ensuring complete control over your data.
|
||||
Choose from a variety of deployment options listed below to get started.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Local machine">
|
||||
## Setup and launch Infisical
|
||||
|
||||
Make sure you have Git and Docker installed and follow the instructions for your system.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Linux/macOS">
|
||||
Run the following command to clone, prepare, and start up Infisical:
|
||||
|
||||
```console
|
||||
git clone https://github.com/Infisical/infisical && cd "$(basename $_ .git)" && cp .env.example .env && docker-compose -f docker-compose.dev.yml up --build
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Windows Command Prompt">
|
||||
Run the following command to clone, prepare, and start up Infisical:
|
||||
|
||||
```console
|
||||
git clone https://github.com/Infisical/infisical && cd infisical && copy .env.example .env && docker-compose -f docker-compose.dev.yml up --build
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Other">
|
||||
Clone the repository back to your machine.
|
||||
|
||||
```console
|
||||
git clone https://github.com/Infisical/infisical
|
||||
```
|
||||
|
||||
Navigate into the root of the repository create a new `.env` file containing the contents of the [.env.example file](https://github.com/Infisical/infisical/blob/main/.env.example).
|
||||
|
||||
Finally run `docker-compose up` to start up Infisical.
|
||||
|
||||
```console
|
||||
docker-compose -f docker-compose.dev.yml up --build
|
||||
```
|
||||
</Tab>
|
||||
</Tabs>
|
||||
Login to the web app at `http://localhost:8080` by entering the test user email `test@localhost.local` and password `testInfisical1`.
|
||||
</Tab>
|
||||
<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/)
|
||||
- Installed [Helm package manager](https://helm.sh/) version v3.11.3 or greater
|
||||
- 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>
|
||||
<Card title="Kubernetes" color="#ea5a0c" href="deployment-options/kubernetes-helm">
|
||||
Use our Helm chart to Install Infisical on your Kubernetes cluster
|
||||
</Card>
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Fly.io" color="#dc2626" href="deployment-options/fly.io">
|
||||
Use our standalone docker image to deploy on Fly.io
|
||||
</Card>
|
||||
<Card title="Render.io" color="#dc2626" href="deployment-options/render">
|
||||
Install on Render using our standalone docker image
|
||||
</Card>
|
||||
<Card title="AWS EC2" color="#0285c7" href="deployment-options/aws-ec2">
|
||||
Install infisical with just a few clicks using our Cloud Formation template
|
||||
</Card>
|
||||
<Card title="Digital Ocean marketplace" color="#16a34a" href="deployment-options/digital-ocean-marketplace">
|
||||
Use our one click installer to deploy Infisical
|
||||
</Card>
|
||||
<Card title="Standard Docker Compose" color="#0285c7" href="deployment-options/docker-compose">
|
||||
Install Infisical using our Docker Compose template
|
||||
</Card>
|
||||
<Card title="Standalone Infisical" color="#0285c7" href="deployment-options/standalone-infisical">
|
||||
Use the fully packaged, single docker image Infisical to deploy anywhere
|
||||
</Card>
|
||||
</CardGroup>
|
||||
Reference in New Issue
Block a user