Replace
voidauthwith your own app name (for example:b4iterdev-voidauth) in commands where needed.
Create a Postgres cluster:
fly postgres create --name voidauth-pg --region iadSave these values from the output (you will use them in Step 4):
- Postgres host
- Postgres password
- Postgres user/database (usually
postgres)
fly apps create voidauth
fly volumes create voidauth_config --app voidauth --region iad --size 1Use the fly.toml in this repo, then update:
app = "voidauth" # change to your Fly app name
primary_region = "sin" # change to your preferred regionfly secrets set -a voidauth \
APP_URL="https://auth.yourdomain.com" \
STORAGE_KEY="$(openssl rand -hex 32)" \
DB_HOST="<flycast-postgres-host>" \
DB_PASSWORD="<postgres-password>"Edit files under:
customization/branding/custom.csscustomization/email_templates/**
At image build time, these are copied into /app/customization-seed.
(Do not put these files under /opt because the hardened base image may not preserve/execute those paths as expected.)
At startup, they are copied into /app/config (your Fly volume mount) before VoidAuth starts.
fly deploy -a voidauth --ha=falseGet startup logs:
fly logs -a voidauth --no-tailOn first startup, VoidAuth prints initial admin credentials in logs. Use those credentials to sign in, then create/update your permanent admin user immediately.