Hosted collaboration (single server)
Copy page
What you deploy
Section titled “What you deploy”One Plan Desk API process with a database:
- Local:
plandesk serve(auto-migrates SQLite) - Self-host: Docker / your host with
PLANDESK_DB_URL— see Docker and topologies
The portal SPA is the same web app in guest mode at /p/:shareToken. It talks only to this API (/api/v1/share/...). There is no VITE_SYNC_URL and no second portal backend.
Configure authentication
Section titled “Configure authentication”Auth is better-auth (sessions + API keys + organization membership). Self-hosting does not require a GitHub app.
- Without GitHub: the dashboard offers token entry; operators sign in with a CLI owner key. CLI: human pastes a dashboard-minted owner key via
plandesk login --server <url>, thenplandesk connect --to <org>mints a project-scoped agent key. - With GitHub: web users sign in with GitHub social (better-auth session). CLI auth remains paste-a-token only (no browser device-code login). Generate a CLI token in the dashboard while signed in, then
plandesk login.
Local loopback remains zero-auth (owner). See CLI Reference — Hosted login and Server configuration.
Promote and share
Section titled “Promote and share”plandesk login --server https://your-host.example # paste owner key from dashboardplandesk push --to <org-id>plandesk share create --audience "Acme" --public --allow-submitParticipants open the share link, join with a name, and submit issues through the portal. Those submissions appear in the owner’s triage inbox on the same server (list + accept/reject). No separate pull hop is required when owner and portal share the API database.
Keep tokens and database credentials in the runtime environment or git-ignored local files. Do not commit them.