Requirements
- Go 1.25.13 or newer in the supported release line.
- PostgreSQL 16 or newer.
- Node.js 22.15 or newer and npm 10.
Create the database and roles
Create an empty database plus separate runtime and maintenance logins. Neither runtime role should be a superuser, database creator, role creator, or RLS bypass role.
createdb amsonia_core
createuser --login --no-superuser --no-createdb \
--no-createrole --no-bypassrls --pwprompt amsonia_runtime
createuser --login --no-superuser --no-createdb \
--no-createrole --no-bypassrls --pwprompt amsonia_maintenanceRun migrations as the database owner, then install the least-privileged grants using the checked-in role-provisioning script. Store binding secrets outside the repository.
Migrate, bootstrap, and start
export AMSONIA_MIGRATION_DSN='postgres://[email protected]:5432/amsonia_core?sslmode=disable'
go run ./cmd/amsonia migrate
go run ./cmd/amsonia bootstrap-admin
go run ./cmd/apiThe API uses the non-superuser runtime DSN and an unpadded base64url tenant-binding secret. Do not expose either value to the Console or commit them.
Start the Console
npm --prefix web ci
VITE_API_PROXY_TARGET='http://127.0.0.1:8080' npm --prefix web run devOpen http://127.0.0.1:3000 and sign in with the administrator created by the operator CLI.
Run the quality gates
make checkThe complete command and environment reference remains in the versioned repository guide.