mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
add redis why docs & update redis notice
This commit is contained in:
@@ -144,13 +144,12 @@
|
||||
"self-hosting/deployment-options/aws-ec2",
|
||||
"self-hosting/deployment-options/docker-compose",
|
||||
"self-hosting/deployment-options/standalone-infisical",
|
||||
"self-hosting/deployment-options/fly.io",
|
||||
"self-hosting/deployment-options/render",
|
||||
"self-hosting/deployment-options/digital-ocean-marketplace"
|
||||
]
|
||||
},
|
||||
"self-hosting/configuration/envars",
|
||||
"self-hosting/configuration/email",
|
||||
"self-hosting/configuration/redis",
|
||||
"self-hosting/faq"
|
||||
]
|
||||
},
|
||||
|
||||
76
docs/self-hosting/configuration/redis.mdx
Normal file
76
docs/self-hosting/configuration/redis.mdx
Normal file
@@ -0,0 +1,76 @@
|
||||
---
|
||||
title: "Configure Redis"
|
||||
description: "How to add Redis to your self-hosted Infisical."
|
||||
---
|
||||
|
||||
## Why Redis?
|
||||
As the features and use case of Infisical have grown, the need for a fast and reliable in-memory data storage has become clear.
|
||||
By adding Redis to Infisical, we can now support more complex workflows such as queuing system to run long running asynchronous tasks, cron jobs, and access reliable cache to speed up frequently used resources.
|
||||
|
||||
<Info>
|
||||
Starting with Infisical version v0.XX.X, Redis will be required to fully use Infisical
|
||||
</Info>
|
||||
|
||||
### Adding Redis to your self hosted instance of Infisical
|
||||
To add Redis to your self hosted instance, follow the instructions for the deployment method you used.
|
||||
|
||||
<Tabs>
|
||||
<Tab title="Kubernetes Helm chart">
|
||||
### In cluster Redis
|
||||
By default, new versions of the Infisical Helm chart already comes with an in-cluster Redis instance. To deploy a in-cluster Redis instance along with your Infisical instance, update your Infisical chart then redeploy/upgrade your release.
|
||||
This will spin up a Redis instance and automatically configure it with your Infisical backend.
|
||||
|
||||
1. Update Infisical Helm chart
|
||||
```bash
|
||||
helm repo update
|
||||
```
|
||||
|
||||
2. Upgrade Infisical release
|
||||
```bash
|
||||
helm upgrade <infisical release name> infisical-helm-charts/infisical --values <path to your values file>
|
||||
```
|
||||
### External Redis
|
||||
If you want to use an external Redis instance, please add a Redis connection URL under the backend environments variables and then upgrade/redeploy your Infisical instance.
|
||||
|
||||
1. Update your helm values file
|
||||
```yaml your-values.yaml
|
||||
backendEnvironmentVariables:
|
||||
REDIS_URL=<your redis connection string>
|
||||
```
|
||||
|
||||
2. Upgrade Infisical release
|
||||
```bash
|
||||
helm upgrade <infisical release name> infisical-helm-charts/infisical --values <path to your values file>
|
||||
```
|
||||
</Tab>
|
||||
<Tab title="Docker compose">
|
||||
### Internal Redis service
|
||||
By default, new versions of the docker compose file already comes with a Redis service. To use the prefigured Redis service, please update your docker compose file to the latest version.
|
||||
|
||||
1. Download the new docker compose file
|
||||
```
|
||||
wget -O docker-compose.yml https://raw.githubusercontent.com/Infisical/infisical/main/docker-compose.yml
|
||||
```
|
||||
|
||||
2. Restart your docker compose services
|
||||
</Tab>
|
||||
<Tab title="Standalone Docker image">
|
||||
This standalone version of Infisical does not have an internal Redis service. To configure Redis with your Infisical instance, you must connect to a external Redis service by setting the connection string as an environment variable.
|
||||
|
||||
Example:
|
||||
|
||||
```bash
|
||||
docker run -p 80:80 \
|
||||
-e ENCRYPTION_KEY=f40c9178624764ad85a6830b37ce239a \
|
||||
-e JWT_SIGNUP_SECRET=38ea90fb7998b92176080f457d890392 \
|
||||
-e JWT_REFRESH_SECRET=7764c7bbf3928ad501591a3e005eb364 \
|
||||
-e JWT_AUTH_SECRET=5239fea3a4720c0e524f814a540e14a2 \
|
||||
-e JWT_SERVICE_SECRET=8509fb8b90c9b53e9e61d1e35826dcb5 \
|
||||
-e REDIS_URL=<> \
|
||||
-e MONGO_URL="<>" \
|
||||
infisical/infisical:latest
|
||||
```
|
||||
|
||||
Redis environment variable name: `REDIS_URL`
|
||||
</Tab>
|
||||
</Tabs>
|
||||
@@ -92,7 +92,7 @@ ingress:
|
||||
|
||||
#### Database
|
||||
Infisical uses a document database as its persistence layer. With this Helm chart, you spin up a MongoDB instance power by Bitnami along side other Infisical services in your cluster.
|
||||
When persistence is enabled, the data will be stored a Kubernetes Persistence Volume. View all [properties for mongodb](https://github.com/Infisical/infisical/tree/main/helm-charts/infisical).
|
||||
When persistence is enabled, the data will be stored as Kubernetes Persistence Volume. View all [properties for mongodb](https://github.com/Infisical/infisical/tree/main/helm-charts/infisical).
|
||||
|
||||
```yaml simple-values-example.yaml
|
||||
mongodb:
|
||||
|
||||
@@ -65,6 +65,7 @@ docker run -p 80:80 \
|
||||
-e JWT_AUTH_SECRET=5239fea3a4720c0e524f814a540e14a2 \
|
||||
-e JWT_SERVICE_SECRET=8509fb8b90c9b53e9e61d1e35826dcb5 \
|
||||
-e MONGO_URL="<>" \
|
||||
-e REDIS_URL="<>" \
|
||||
infisical/infisical:latest
|
||||
```
|
||||
|
||||
|
||||
@@ -4,4 +4,5 @@ export type ServerStatus = {
|
||||
emailConfigured: boolean;
|
||||
inviteOnlySignup: boolean;
|
||||
secretScanningConfigured: boolean
|
||||
redisConfigured: boolean
|
||||
};
|
||||
@@ -39,6 +39,7 @@ import {
|
||||
import { TabsObject } from "@app/components/v2/Tabs";
|
||||
import { useSubscription, useUser, useWorkspace } from "@app/context";
|
||||
import { fetchOrgUsers, useAddUserToWs, useCreateWorkspace, useUploadWsKey } from "@app/hooks/api";
|
||||
import { useFetchServerStatus } from "@app/hooks/api/serverDetails";
|
||||
import { usePopUp } from "@app/hooks/usePopUp";
|
||||
|
||||
import { encryptAssymmetric } from "../../../../components/utilities/cryptography/crypto";
|
||||
@@ -274,6 +275,8 @@ export default function Organization() {
|
||||
const createWs = useCreateWorkspace();
|
||||
const { user } = useUser();
|
||||
const uploadWsKey = useUploadWsKey();
|
||||
const { data: serverDetails } = useFetchServerStatus();
|
||||
|
||||
|
||||
const onCreateProject = async ({ name, addMembers }: TAddProjectFormData) => {
|
||||
// type check
|
||||
@@ -345,18 +348,18 @@ export default function Organization() {
|
||||
<title>{t("common.head-title", { title: t("settings.members.title") })}</title>
|
||||
<link rel="icon" href="/infisical.ico" />
|
||||
</Head>
|
||||
<div className="mb-4 flex flex-col items-start justify-start px-6 py-6 pb-0 text-3xl">
|
||||
{!serverDetails?.redisConfigured && <div className="mb-4 flex flex-col items-start justify-start px-6 py-6 pb-0 text-3xl">
|
||||
<p className="mr-4 mb-4 font-semibold text-white">Announcements</p>
|
||||
<div className="w-full border border-blue-400/70 rounded-md bg-blue-900/70 p-2 text-base text-mineshaft-100 flex items-center">
|
||||
<FontAwesomeIcon icon={faExclamationCircle} className="text-2xl mr-4 p-4 text-mineshaft-50"/>
|
||||
Note: you do not have Redis configured. Please find the documentation to set it up
|
||||
Attention: New versions of Infisical require setting up Redis to function properly. Learn how to configure it
|
||||
<Link href="/">
|
||||
<span className="pl-1 text-white underline underline-offset-2 hover:decoration-blue-400 hover:text-blue-200 duration-100 cursor-pointer">
|
||||
here
|
||||
</span>
|
||||
</Link>.
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
<div className="mb-4 flex flex-col items-start justify-start px-6 py-6 pb-0 text-3xl">
|
||||
<p className="mr-4 font-semibold text-white">Projects</p>
|
||||
<div className="mt-6 flex w-full flex-row">
|
||||
|
||||
Reference in New Issue
Block a user