update self config/docker guide

This commit is contained in:
Maidul Islam
2024-02-22 04:42:39 -05:00
parent 45772f0108
commit 74d9a76f75
5 changed files with 36 additions and 32 deletions
+2 -2
View File
@@ -1,5 +1,5 @@
--- ---
title: "Environment variables" title: "Configurations"
description: "Configure environment variables for self-hosted Infisical" description: "Configure environment variables for self-hosted Infisical"
--- ---
@@ -36,7 +36,7 @@ The platform utilizes Postgres to persist all of its data and Redis for caching
</ParamField> </ParamField>
<ParamField query="REDIS_URL" type="string" default="none" required> <ParamField query="REDIS_URL" type="string" default="none" required>
Redis connection string Redis connection string.
</ParamField> </ParamField>
@@ -1,24 +1,28 @@
--- ---
title: "Installation Requirements" title: "Requirements"
description: "" description: ""
--- ---
This page details the minimum requirements necessary for installing and using Infisical. This page details the minimum requirements necessary for installing and using Infisical.
The actual resource requirements will vary in direct proportion to the operations performed by Infisical and the level of utilization by the end users The actual resource requirements will vary in direct proportion to the operations performed by Infisical and the level of utilization by the end users.
## **Hardware Requirements**
**Small deployment** suitable for most initial production setups, as well as development and testing scenarios.
**Large deployment** suitable for high-demand production environments, characterized by either a high volume of transactions, large number of secrets, or both.
### **Storage**
## Deployment Sizes
**Small** suitable for most initial production setups, as well as development and testing scenarios.
**Large** suitable for high-demand production environments, characterized by either a high volume of transactions, large number of secrets, or both.
## Hardware Requirements
### Storage
Infisical doesn’t require file storage as all persisted data is saved in the database. Infisical doesn’t require file storage as all persisted data is saved in the database.
However, its logs and metrics are saved to disk for later viewing. As a result, we recommend provisioning 1-2 GB of storage. However, its logs and metrics are saved to disk for later viewing. As a result, we recommend provisioning 1-2 GB of storage.
### **CPU** ### CPU
CPU requirements vary heavily on the volume of secret operations (reads and writes) you anticipate. CPU requirements vary heavily on the volume of secret operations (reads and writes) you anticipate.
Processing large volumes of secrets frequently and consistently will require higher CPU. Processing large volumes of secrets frequently and consistently will require higher CPU.
@@ -28,7 +32,7 @@ Recommended minimum CPU hardware for different sizes of deployments:
- **small:** 2-4 core is the **recommended** minimum - **small:** 2-4 core is the **recommended** minimum
- **large:** 4-8 cores are suitable for larger deployments - **large:** 4-8 cores are suitable for larger deployments
### **Memory Allocation** ### Memory Allocation
Memory needs depend on expected workload, including factors like user activity, automation level, and the frequency of secret operations. Memory needs depend on expected workload, including factors like user activity, automation level, and the frequency of secret operations.
@@ -36,7 +40,9 @@ Recommended minimum memory hardware for different sizes of deployments:
- **small:** 4-8 GB is the **recommended** minimum - **small:** 4-8 GB is the **recommended** minimum
- **large:** 16-32 GB are suitable for larger deployments - **large:** 16-32 GB are suitable for larger deployments
## **Database** ## Database & caching layer
### Postgres
PostgreSQL is the only database supported by Infisical. Infisical has been extensively tested with Postgres version 16. We recommend using versions 14 and up for optimal compatibility. PostgreSQL is the only database supported by Infisical. Infisical has been extensively tested with Postgres version 16. We recommend using versions 14 and up for optimal compatibility.
@@ -44,7 +50,7 @@ Recommended resource allocation based on deployment size:
- **small:** 1 vCPU / 2 GB RAM / 10 GB Disk - **small:** 1 vCPU / 2 GB RAM / 10 GB Disk
- **large:** 4vCPU / 16 GB RAM / 100 GB Disk - **large:** 4vCPU / 16 GB RAM / 100 GB Disk
## **Redis** ### Redis
Redis is utilized for session management and background tasks in Infisical. Redis is utilized for session management and background tasks in Infisical.
@@ -54,7 +60,7 @@ Redis requirements:
- Redis Cluster mode is currently not supported; use Redis Standalone, with or without High Availability (HA). - Redis Cluster mode is currently not supported; use Redis Standalone, with or without High Availability (HA).
- Redis storage needs are minimal: a setup with 1 vCPU, 1 GB RAM, and 1GB SSD will be sufficient for most deployments. - Redis storage needs are minimal: a setup with 1 vCPU, 1 GB RAM, and 1GB SSD will be sufficient for most deployments.
## **Supported Web Browsers** ## Supported Web Browsers
Infisical supports a range of web browsers. However, features such as browser-based CLI login only work on Google Chrome and Firefox at the moment. Infisical supports a range of web browsers. However, features such as browser-based CLI login only work on Google Chrome and Firefox at the moment.
@@ -18,7 +18,7 @@ The guide below outlines a step-by-step guide to help you through this process.
```bash ```bash
docker pull infisical/infisical:<version> docker pull infisical/infisical:<version>
``` ```
Replace `<version>` with the specific version number you intend to deploy. Replace `<version>` with the specific version number you intend to deploy. View available versions [here](https://hub.docker.com/r/infisical/infisical/tags)
</Step> </Step>
<Step title="Set Up the Environment Variable"> <Step title="Set Up the Environment Variable">
@@ -67,7 +67,8 @@ View all available configurations [here](/self-hosting/configuration/envars).
<Warning> <Warning>
The default .env file contains credentials that are intended solely for testing purposes. The default .env file contains credentials that are intended solely for testing purposes.
For production use, please generate a new `ENCRYPTION_KEY` and `AUTH_SECRET`. Instructions to do so, can be found [here](/self-hosting/configuration/envars) Please generate a new `ENCRYPTION_KEY` and `AUTH_SECRET` for use outside of testing.
Instructions to do so, can be found [here](/self-hosting/configuration/envars).
</Warning> </Warning>
## Start Infisical ## Start Infisical
@@ -7,9 +7,9 @@ Prerequisites:
- Basic knowledge of [Docker](https://www.docker.com/) - Basic knowledge of [Docker](https://www.docker.com/)
- Have Docker installed on your system. If not, follow the installation guide [here](https://docs.docker.com/get-docker/). - Have Docker installed on your system. If not, follow the installation guide [here](https://docs.docker.com/get-docker/).
Infisical is available as a single Docker image for effortless deployment. Infisical is available as a single Docker image to ease deployment.
This Docker image solely includes the application code, meaning you must supply a connection to a Postgres database and a Redis instance. This Docker image only includes the application code, meaning you must supply a connection to a Postgres database and a Redis instance.
The following guide provides a detailed step-by-step walkthrough on how you can deploy Infisical. The following guide provides a detailed step-by-step walkthrough on how you can deploy Infisical with Docker.
<Steps> <Steps>
<Step title="Pull the Infisical Docker image"> <Step title="Pull the Infisical Docker image">
@@ -24,15 +24,15 @@ The following guide provides a detailed step-by-step walkthrough on how you can
</Step> </Step>
<Step title="Run Postgres schema migration "> <Step title="Run Postgres schema migration ">
Before you can start the instance of Infisical, you need to run the database schema migrations. Before you can start the instance of Infisical, you need to run the database schema migrations.
Follow the step by [step guide here](/self-hosting/configuration/schema-migrations) on running schema migrations. Follow the step by [step guide here](/self-hosting/configuration/schema-migrations) on running schema migrations for Infisical.
``` ```
docker pull infisical/infisical:<version> docker pull infisical/infisical:<version>
``` ```
</Step> </Step>
<Step title="Start Infisical"> <Step title="Start Infisical">
For a minimal installation of Infisical, you need to configure `ENCRYPTION_KEY`, `AUTH_SECRET`, `DB_CONNECTION_URI`, and `REDIS_URL`. For a minimal installation of Infisical, you must configure `ENCRYPTION_KEY`, `AUTH_SECRET`, `DB_CONNECTION_URI`, and `REDIS_URL`.
View all available environment variables [here](/self-hosting/configuration/envars). [View all available configurations](/self-hosting/configuration/envars).
Once you have added the required environment variables to your docker run command, execute it in your terminal to get Infisical up and running. Once you have added the required environment variables to your docker run command, execute it in your terminal to get Infisical up and running.
@@ -55,10 +55,7 @@ The following guide provides a detailed step-by-step walkthrough on how you can
</Step> </Step>
</Steps> </Steps>
<AccordionGroup> ### Additional discussion
<Accordion title="What are the system requirements for running Infisical?"> It's important to note that the above is a basic example of deploying Infisical using Docker.
To have a functional deployment, we recommended compute with 2GB of RAM and 1 CPU. In practice, for production deployments, you may want to use container orchestration platforms such as AWS ECS, Google Cloud Run, or Kubernetes.
These platforms offer additional features like scalability, load balancing, and automated deployment, making them suitable for handling production-level traffic and providing high availability.
However, depending on your usage, you may need to further scale up system resources to meet demand.
</Accordion>
</AccordionGroup>