self-host/ bundle runs without application source or cloud
accounts on the server. Images and corresponding source currently require
authorized private-beta access.
- Obtain the bundle from the exact release. Verify its signed manifest using the supplied publisher public key. Set the four image references to the manifest’s immutable digests, never a moving tag.
- Copy
config.env.exampletoconfig.env. Use separate random migration and runtime database passwords and set your public HTTPS origin. - Copy each application’s
*.env.sampleto its own*.env. Fill your Discord application identity, bot token, OAuth secret and session secret. Restrict populated files to mode0600; do not create a repository-root.env. - Enable Guild Members and Message Content intents. Register your HTTPS origin
followed by
/api/auth/callback/discordand/api/internal/install/callback. Install with the bot and application-command scopes. - Authenticate to the private image registry using read-only package access.
From
self-host/, start the bundle:
127.0.0.1:3000. Database and backend services
stay internal. Telemetry is disabled by default. Retain the PostgreSQL 18 volume
mount at /var/lib/postgresql.
For the first intended account, temporarily enable API signups, restart the API,
and sign in through Discord. Close the signup window and restart the API again.
Account creation does not grant an application administrator role. Validate
Modules, Health, Cases and authorization in a disposable guild before enforcement.
Configuration password values initialize database roles; editing them does not
rotate existing database credentials. Follow backup and recovery
before upgrading or changing persistent state.
Optional public progress snapshot
Without extra configuration, the roadmap uses its bundled public catalog. An operator may mount an atomically updated, validated snapshot file and setPUP_ROADMAP_SNAPSHOT_PATH in the API environment. No planning-service account
or credential is required by the application. Invalid snapshots are rejected.