Deployment
Production Checklist
Required changes before deploying Trackr to production
Overview
The default .env file ships with placeholder secrets that are not safe for production. Before exposing Trackr to the internet, regenerate every secret listed below.
Secrets to Regenerate
| Variable | What It Does | How to Generate |
|---|---|---|
ANON_KEY | Public JWT for anonymous API access | Generate with Supabase JWT tool using your JWT_SECRET |
SERVICE_ROLE_KEY | Privileged JWT for server-side API access | Generate with Supabase JWT tool using your JWT_SECRET |
JWT_SECRET | Signs and verifies all JWTs | openssl rand -base64 32 |
POSTGRES_PASSWORD | Database superuser password | openssl rand -base64 32 |
DASHBOARD_USERNAME | Supabase Studio login username | Choose a unique username |
DASHBOARD_PASSWORD | Supabase Studio login password | openssl rand -base64 32 |
SECRET_KEY_BASE | Application secret for sessions | openssl rand -base64 64 |
VAULT_ENC_KEY | Encryption key for Supabase Vault (min 32 chars) | openssl rand -base64 32 |
PG_META_CRYPTO_KEY | Encryption key for pg_meta (min 32 chars) | openssl rand -base64 32 |
S3_PROTOCOL_ACCESS_KEY_ID | S3 protocol access key | openssl rand -hex 16 |
S3_PROTOCOL_ACCESS_KEY_SECRET | S3 protocol secret key | openssl rand -hex 32 |
After changing
JWT_SECRET, you must regenerate bothANON_KEYandSERVICE_ROLE_KEYto match.
Quick Generate
Run this to generate all random secrets at once:
echo "JWT_SECRET=$(openssl rand -base64 32)"
echo "POSTGRES_PASSWORD=$(openssl rand -base64 32)"
echo "DASHBOARD_PASSWORD=$(openssl rand -base64 32)"
echo "SECRET_KEY_BASE=$(openssl rand -base64 64)"
echo "VAULT_ENC_KEY=$(openssl rand -base64 32)"
echo "PG_META_CRYPTO_KEY=$(openssl rand -base64 32)"
echo "S3_PROTOCOL_ACCESS_KEY_ID=$(openssl rand -hex 16)"
echo "S3_PROTOCOL_ACCESS_KEY_SECRET=$(openssl rand -hex 32)" Copy the output into your .env file.
Other Steps
- Configure your domain — see Custom Domain
- Set up email delivery — see Email Setup
- Set
DISABLE_SIGNUP=trueif you want to restrict registration after creating your admin account