docker compose up command starts the Go API, Postgres database, Redis cache, and the React frontend — no Kubernetes cluster required.
Complete the Prerequisites first. You need a Supabase project and Docker Compose v2 before starting.
Step 1: Clone the repository
Step 2: Create your .env file
Copy the example environment file:
.env and fill in your values. The template below shows every variable you need for a working deployment:
Step 3: Start the stack
| Container | Port | Purpose |
|---|---|---|
api | 8080 | InfraAudit Go backend |
postgres | 5432 | Primary database |
redis | 6379 | Cache layer |
frontend | 5173 | React web UI |
SUPABASE_JWT_SECRET is required, the Supabase values in .env are missing or incorrect.
Step 4: Verify the deployment
Run the health checks:http://localhost:5173 in your browser and sign up.
Optional: enable monitoring
Add Prometheus and Grafana with the monitoring profile:| Container | Port | Purpose |
|---|---|---|
prometheus | 9090 | Metrics scraper |
grafana | 3000 | Dashboard UI |
admin / admin and change the password on first login.
Managing the stack
Updating to a new version
Pull the latest images and restart:Production considerations
Before exposing your deployment to the internet:- Place a reverse proxy (nginx, Caddy) in front of port 8080 to terminate TLS.
- Set
ENVIRONMENT=production— this disables the Swagger UI and debug endpoints. - Set
ALLOWED_ORIGINSto your frontend domain instead of the default*. - Store secrets in environment variables or a secrets manager rather than the
.envfile. - Read Secrets and encryption before going live.