Infisical

Infisical is an open-source secrets management platform.

Self-Hosting Setup

Create Database

sudo -i -u postgres psql
CREATE USER infisical WITH PASSWORD '<your_password>';
CREATE DATABASE infisical OWNER infisical;
GRANT ALL PRIVILEGES ON DATABASE infisical TO infisical;
\q

Generate Secrets

openssl rand -hex 16      # ENCRYPTION_KEY
openssl rand -base64 32   # AUTH_SECRET

Create Files

sudo mkdir -p /opt/quadlet/infisical
sudo nano /opt/quadlet/infisical/.env
DB_CONNECTION_URI=postgresql://infisical:<your_password>@localhost:5432/infisical
ENCRYPTION_KEY=<your_encryption_key>
AUTH_SECRET=<your_auth_secret>
NODE_ENV=production
PORT=50007
SITE_URL=https://secrets.yourdomain.com
TELEMETRY_ENABLED=false
REDIS_URL=redis://localhost:6379

Create Quadlet

sudo nano /etc/containers/systemd/infisical.container
[Unit]
Description=Infisical Secrets Manager
After=network.target postgresql.service
Requires=postgresql.service
 
[Container]
Image=docker.io/infisical/infisical:latest-postgres
ContainerName=infisical
Network=host
EnvironmentFile=/opt/quadlet/infisical/.env
 
[Service]
Restart=always
RestartSec=10
TimeoutStartSec=300
 
[Install]
WantedBy=multi-user.target

Start

sudo systemctl daemon-reload
sudo systemctl start infisical
sudo journalctl -u infisical -f