mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
improve docker compose and add standalone docs
This commit is contained in:
@@ -123,9 +123,9 @@
|
|||||||
"self-hosting/deployment-options/kubernetes-helm",
|
"self-hosting/deployment-options/kubernetes-helm",
|
||||||
"self-hosting/deployment-options/aws-ec2",
|
"self-hosting/deployment-options/aws-ec2",
|
||||||
"self-hosting/deployment-options/docker-compose",
|
"self-hosting/deployment-options/docker-compose",
|
||||||
|
"self-hosting/deployment-options/standalone-infisical",
|
||||||
"self-hosting/deployment-options/fly.io",
|
"self-hosting/deployment-options/fly.io",
|
||||||
"self-hosting/deployment-options/render",
|
"self-hosting/deployment-options/render",
|
||||||
"self-hosting/deployment-options/standalone-infisical",
|
|
||||||
"self-hosting/deployment-options/digital-ocean-marketplace"
|
"self-hosting/deployment-options/digital-ocean-marketplace"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Docker Compose"
|
|||||||
description: "Learn to install Infisical using our Docker Compose template"
|
description: "Learn to install Infisical using our Docker Compose template"
|
||||||
---
|
---
|
||||||
|
|
||||||
1. Install Docker on your VM
|
## Install Docker on your VM
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Example in ubuntu
|
# Example in ubuntu
|
||||||
@@ -12,7 +12,7 @@ apt-get upgrade
|
|||||||
apt install docker-compose
|
apt install docker-compose
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Download the required files
|
## Download the required files
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Download env file template
|
# Download env file template
|
||||||
@@ -25,18 +25,23 @@ wget -O docker-compose.yml https://raw.githubusercontent.com/Infisical/infisical
|
|||||||
mkdir nginx && wget -O ./nginx/default.conf https://raw.githubusercontent.com/Infisical/infisical/main/nginx/default.dev.conf
|
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)
|
## Update .env file
|
||||||
|
Tweak the `.env` according to your preferences. Refer to the available [environment variables](/self-hosting/configuration/envars)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# update environment variables like mongo login
|
# update environment variables like mongo login
|
||||||
nano .env
|
nano .env
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Get the service up and running.
|
<Info>
|
||||||
|
Infisical assumes that you have configured HTTPS. If you didn't configure HTTPS, set `HTTPS_ENABLED` to `false` in the .env file to avoid frequent logouts.
|
||||||
|
</Info>
|
||||||
|
|
||||||
|
## Get the service up and running.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Start up services in detached mode
|
# Start up services in detached mode
|
||||||
docker-compose -f docker-compose.yml up -d
|
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.
|
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.
|
||||||
|
|||||||
@@ -3,4 +3,71 @@ title: "Docker"
|
|||||||
description: "Learn to install Infisical purely on docker"
|
description: "Learn to install Infisical purely on docker"
|
||||||
---
|
---
|
||||||
|
|
||||||
Documentation coming soon
|
The Infisical standalone version combines all the essential components of the application into a single container, making deployment and management more straightforward than using Kubernetes or Docker Compose.
|
||||||
|
|
||||||
|
Since all the components are bundled into one image, running this version of Infisical requires a minimum of **230MB of memory**.
|
||||||
|
|
||||||
|
This guide assumes you have basic knowledge of Docker and have it installed on your system. If you don't have Docker installed, please follow the official installation guide: https://docs.docker.com/get-docker/
|
||||||
|
|
||||||
|
## Pull the Infisical Docker image
|
||||||
|
|
||||||
|
Open your terminal or command prompt and enter the following command to pull the Infisical Docker image:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker pull infisical/infisical:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create a .env file
|
||||||
|
The Infisical Docker image requires a .env file to manage environment variables.
|
||||||
|
Create a new file called .env in your preferred location. Add the required environment variables listed below. View [all configurable environment variables](../configuration/envars)
|
||||||
|
|
||||||
|
<ParamField query="JWT_SIGNUP_SECRET" type="string" default="none" required>
|
||||||
|
Must be a random 16 byte hex string. Can be generated with `openssl rand -hex 16`
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField query="JWT_REFRESH_SECRET" type="string" default="none" required>
|
||||||
|
Must be a random 16 byte hex string. Can be generated with `openssl rand -hex 16`
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField query="JWT_AUTH_SECRET" type="string" default="none" required>
|
||||||
|
Must be a random 16 byte hex string. Can be generated with `openssl rand -hex 16`
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField query="JWT_MFA_SECRET" type="string" default="none" required>
|
||||||
|
Must be a random 16 byte hex string. Can be generated with `openssl rand -hex 16`
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField query="JWT_SERVICE_SECRET" type="string" default="none" required>
|
||||||
|
Must be a random 16 byte hex string. Can be generated with `openssl rand -hex 16`
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
<ParamField query="MONGO_URL" type="string" default="none" required>
|
||||||
|
*TLS based connection string is not yet supported
|
||||||
|
</ParamField>
|
||||||
|
|
||||||
|
|
||||||
|
```env .example-env
|
||||||
|
ENCRYPTION_KEY=f40c9178624764ad85a6830b37ce239a
|
||||||
|
JWT_SIGNUP_SECRET=38ea90fb7998b92176080f457d890392
|
||||||
|
JWT_REFRESH_SECRET=7764c7bbf3928ad501591a3e005eb364
|
||||||
|
JWT_AUTH_SECRET=5239fea3a4720c0e524f814a540e14a2
|
||||||
|
JWT_SERVICE_SECRET=8509fb8b90c9b53e9e61d1e35826dcb5
|
||||||
|
MONGO_URL=<>
|
||||||
|
```
|
||||||
|
|
||||||
|
<Warning>
|
||||||
|
The sample environment variables listed above are only to be used as an example and should not be used in production
|
||||||
|
</Warning>
|
||||||
|
|
||||||
|
## Run the Infisical Docker container:
|
||||||
|
|
||||||
|
In the terminal or command prompt, navigate to the directory containing the .env file you created. Run the following command to start the Infisical Docker container:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run --name infisical-app --env-file ./.env -p 80:80 infisical/infisical:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
This command will create a new container named infisical-app using the Infisical Docker image. It will also load the environment variables from the .env file and map the container's port 80 to the host's port 80.
|
||||||
|
|
||||||
|
## Verify the installation:
|
||||||
|
Once the container is running, open a web browser and navigate to http://localhost:80. That's it! You have successfully installed the Infisical application using a single Docker image.
|
||||||
Reference in New Issue
Block a user