docs/self-hosting/configuration/requirements.mdx
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.
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.
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.
Infisical is stateless and scales horizontally by running across multiple containers/instances. Each instance typically does not need more than 2–4 CPU cores and 4–8 GB of memory. If you need additional capacity, simply increase the number of containers/instances running in parallel.
| Deployment Size | CPU (Cores, per container) | Memory (GB, per container) | Recommended Number of Containers |
|---|---|---|---|
| Small | 2 | 4 | 2+ |
| Medium | 2–4 | 4–8 | 5+ |
| Large | 2–4 | 4–8 | 10+ |
Note:
- Adding more containers (horizontal scaling) is generally the best way to handle spikes in secret operations.
- If you prefer, you can increase CPU/memory on a single container (vertical scaling), but horizontal scaling is more flexible and resilient.
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. The compute required for Postgres is largely dependent on the number of secret operations (reads and writes) you expect. The more frequently you read and write secrets, the more compute you will need. You'll notice that storage requirements are high and this is because audit logs are by default stored in the database.
Recommended resource allocation based on deployment size. You may require more resources if you have a large number of secrets or high transaction volume:
Infisical treats Redis as a required, persistent datastore. Beyond caching, it holds the background job queue, distributed locks, cross-instance coordination state for scheduled jobs, and rate-limit counters. An instance refuses to start unless a Redis connection is configured, and a running instance is degraded for as long as Redis is unreachable.
<Info> **Active-passive** setup is recommended for Redis. **Active-active** setup for Redis has not been tested. </Info>Redis requirements:
noeviction. Because Redis holds queue and coordination state,
evicting keys under memory pressure would silently drop work. This setting is required, not a
tuning suggestion.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.