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

View File

@@ -1,5 +1,5 @@
---
title: "Environment variables"
title: "Configurations"
description: "Configure environment variables for self-hosted Infisical"
---
@@ -26,7 +26,7 @@ Used to configure platform-specific security and operational settings
The platform utilizes Postgres to persist all of its data and Redis for caching and backgroud tasks
<ParamField query="DB_CONNECTION_URI" type="string" default="" required>
Postgres database connection string.
Postgres database connection string.
</ParamField>
<ParamField query="DB_ROOT_CERT" type="string" default="" optional>
@@ -36,7 +36,7 @@ The platform utilizes Postgres to persist all of its data and Redis for caching
</ParamField>
<ParamField query="REDIS_URL" type="string" default="none" required>
Redis connection string
Redis connection string.
</ParamField>

View File

@@ -1,24 +1,28 @@
---
title: "Installation Requirements"
title: "Requirements"
description: ""
---
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
## **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.
The actual resource requirements will vary in direct proportion to the operations performed by Infisical and the level of utilization by the end users.
### **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.
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.
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
- **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.
@@ -36,7 +40,9 @@ Recommended minimum memory hardware for different sizes of deployments:
- **small:** 4-8 GB is the **recommended** minimum
- **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.
@@ -44,7 +50,7 @@ Recommended resource allocation based on deployment size:
- **small:** 1 vCPU / 2 GB RAM / 10 GB Disk
- **large:** 4vCPU / 16 GB RAM / 100 GB Disk
## **Redis**
### Redis
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 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.

View File

@@ -18,7 +18,7 @@ The guide below outlines a step-by-step guide to help you through this process.
```bash
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 title="Set Up the Environment Variable">

View File

@@ -67,7 +67,8 @@ View all available configurations [here](/self-hosting/configuration/envars).
<Warning>
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>
## Start Infisical

View File

@@ -7,9 +7,9 @@ Prerequisites:
- 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/).
Infisical is available as a single Docker image for effortless deployment.
This Docker image solely 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.
Infisical is available as a single Docker image to ease deployment.
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 with Docker.
<Steps>
<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 title="Run Postgres schema migration ">
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>
```
</Step>
<Step title="Start Infisical">
For a minimal installation of Infisical, you need to configure `ENCRYPTION_KEY`, `AUTH_SECRET`, `DB_CONNECTION_URI`, and `REDIS_URL`.
View all available environment variables [here](/self-hosting/configuration/envars).
For a minimal installation of Infisical, you must configure `ENCRYPTION_KEY`, `AUTH_SECRET`, `DB_CONNECTION_URI`, and `REDIS_URL`.
[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.
@@ -55,10 +55,7 @@ The following guide provides a detailed step-by-step walkthrough on how you can
</Step>
</Steps>
<AccordionGroup>
<Accordion title="What are the system requirements for running Infisical?">
To have a functional deployment, we recommended compute with 2GB of RAM and 1 CPU.
However, depending on your usage, you may need to further scale up system resources to meet demand.
</Accordion>
</AccordionGroup>
### Additional discussion
It's important to note that the above is a basic example of deploying Infisical using Docker.
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.