Skip to main content
Before deploying InfraAudit, you need a Supabase project, a container runtime, and enough system resources. The Supabase requirement is the most common blocker for first-time self-hosters — set it up first, before you touch Docker or Kubernetes.

1. Supabase project (required)

InfraAudit delegates all authentication to Supabase. The backend validates every incoming JWT against your Supabase project and will refuse to start without valid connection details. You cannot substitute another auth provider in the current release.
1

Create a Supabase account

Go to supabase.com and create a free account. The Free tier is sufficient for development; the Pro tier is recommended for production.
2

Create a new project

Create a new project in any region. Wait for it to finish provisioning (about one minute).
3

Copy your API credentials

In your project, go to Settings → API and copy:
  • Project URLSUPABASE_URL
  • anon public key → SUPABASE_ANON_KEY
  • service_role secret → SUPABASE_SERVICE_ROLE_KEY
4

Copy the JWT secret

Still in Settings → API, scroll to JWT Settings and copy:
  • JWT SecretSUPABASE_JWT_SECRET
Keep all four values — you’ll paste them into your .env file or Kubernetes Secret during installation.
Supabase handles user accounts, OAuth logins (Google, GitHub), session management, and JWT signing. InfraAudit does not maintain its own user store.

2. Container runtime

For Docker Compose deployments, you need:
  • Docker 24.0 or later
  • Docker Compose v2 — the docker compose subcommand (not the legacy docker-compose binary)
Verify both are installed:
docker --version
# Docker version 24.x.x, build ...

docker compose version
# Docker Compose version v2.x.x
Docker Compose v1 (docker-compose) is not supported. Make sure you’re using the v2 docker compose subcommand.

3. System requirements

ResourceMinimumRecommended
RAM2 GB4 GB
CPU1 core2 cores
Disk10 GB20 GB
OSLinux, macOSLinux
The 2 GB minimum covers the API, Postgres, and Redis containers running simultaneously. If you enable the optional Prometheus and Grafana monitoring profile, add another 512 MB.

4. Optional: Gemini API key

InfraAudit uses Google Gemini to generate AI-powered cost, security, and compliance recommendations. Without a key, it falls back to rule-based recommendations — all other features work normally. To enable AI recommendations:
  1. Go to ai.google.dev and create a project.
  2. Generate an API key.
  3. Set GEMINI_API_KEY in your .env or Kubernetes Secret.

5. Optional: cloud provider credentials

To scan your infrastructure, you need credentials for at least one cloud provider. Read-only credentials are sufficient and recommended for initial setup: You can add provider credentials after the platform is running — you don’t need them to complete the initial deployment.

Next steps

Once you have a Supabase project and Docker installed, choose your deployment path:

Docker Compose

Deploy with a single command. Recommended for getting started.

Kubernetes

Deploy using the provided manifests for production environments.