Harden infrastructure security.
Self-hosted secrets manager — one encrypted vault for API keys, env vars and certificates, injected into your apps and CI/CD pipelines instead of copied into `.env` files.
Infisical is an open-source secrets management platform whose core is MIT-licensed. It replaces the `.env` files passed around on Slack, the credentials hard-coded in a CI configuration and the copy of production keys sitting on a developer laptop with a single encrypted vault that applications read at startup — through a CLI, an SDK or a Kubernetes operator.
Secrets are organised by project and by environment (development, staging, production), each with its own access rules. Every change is versioned, so you can see who rotated which key and roll a project back to any earlier point; an audit log records every read and write. Machine identities give a CI pipeline or a container its own credentials, separate from any human account, and can be revoked without touching anyone's login.
On a ServOrbit VPS, Infisical runs as three containers — `infisical/infisical` for the application, `postgres:14-alpine` for storage and `redis:alpine` for caching and queues. Telemetry is disabled in the deployed configuration, and the encryption key never leaves your machine: the vault is encrypted at rest with a key generated on your own VPS, which means neither Infisical the company nor ServOrbit can read your secrets.
Instead of mailing an env file to each new developer and hoping the copies stay in sync, everyone runs `infisical run -- npm run dev` and gets the current development values. Rotating a key becomes one edit in the vault rather than a message asking six people to update their local file — and nobody ends up holding production credentials they never needed.
Give each pipeline its own machine identity with read-only access to exactly the environment it deploys. The pipeline pulls secrets at run time rather than storing them as repository variables, so revoking a compromised runner is a single revocation in the vault — and every fetch is in the audit log with a timestamp.
When you have to demonstrate who could reach production credentials and when they were last rotated, the audit log and version history answer it directly: each secret carries its full change history with authors and dates, and RBAC shows which roles can read which environment. That is the evidence a SOC 2 or ISO 27001 reviewer asks for, without reconstructing it from memory.
Guide optimized for ServOrbit Cloud VPS.
Plan for 2 GB of RAM: the Node.js application, PostgreSQL and Redis run side by side, and the API is on the critical path of every deployment you make. A VPS dedicated to Infisical — rather than one shared with heavy workloads — keeps secret retrieval fast and isolates the vault from your other applications.
Infisical requires a domain: SITE_URL is embedded in the web app, in the CLI login flow and in the invitation links sent to your team, and secrets must never travel over plain HTTP. Create an A record such as secrets.example.com pointing to your VPS IP — TLS is issued and renewed automatically after deployment.
Open your ServOrbit dashboard → Marketplace → Security → Infisical → Deploy. Docker pulls the three images, generates ENCRYPTION_KEY and AUTH_SECRET, runs the database migrations and serves the web UI on port 8080 behind the HTTPS vhost. Telemetry is switched off in the shipped configuration.
Open your domain in a browser and register the first account — it becomes the organisation administrator. Create a project, then the environments you actually use (development, staging, production), and paste in your existing secrets or import an .env file directly from the web UI. Invite your team and assign each member a role per environment.
Install the CLI (brew install infisical/get-cli/infisical or the apt/npm package), run infisical login against your own domain, then infisical init in the project directory. Your app now starts with infisical run -- npm start and receives its secrets as environment variables. For CI, create a machine identity in the dashboard and authenticate the pipeline with its client ID and secret instead of a personal account.
Browse our help center and FAQ, or write to our team — support in French, English and Arabic.