Self-hosted
Self-hosted mode runs the LongLink Platform and managed application workloads on infrastructure you operate. You register Kubernetes compute, PostgreSQL, and S3-compatible object storage independently, then assign one registry of each kind to every Organization. The Kubernetes service must implement type: LoadBalancer; LongLink derives the public TLS gateway address and reconciles Organization and Application resources asynchronously. The cluster CNI must enforce Kubernetes NetworkPolicy because Application-to-Application isolation depends on it.
The LongLink Platform container is published at ghcr.io/xlonglink/longlink(opens in new tab).
Release images carry an immutable vX.Y.Z LongLink Platform version. On startup, the reconciler migrates active compute targets to that release and records the version only after Kubernetes, database, and storage work succeeds. Operation history reports failures and retry progress. Platform releases are forward-only for now: a binary older than any recorded compute or Operation release refuses to start. Recover by deploying the recorded release or a newer release, or by restoring a database backup that matches the older binary.
API Environment Variables
| Variable | Purpose |
|---|---|
RECONCILE_INTERVAL_SECONDSDefault: 300 | Interval used to enqueue compute drift repair. Multiple Platform containers may scan safely; the Operation queue coalesces concurrent requests per compute target. |
SESSION_KEYRequired | Secret key used to sign LongLink browser sessions. Use a high-entropy deployment secret; rotating it invalidates existing sessions. |
DATABASE_URLRequired | Control-plane database URL used by the API and Alembic migrations. PostgreSQL URLs preservesslmode when they are normalized for asyncpg. |
DATABASE_SSLMODEDefault: require | PostgreSQL SSL mode used when DATABASE_URL omits one and when the API provisions organization databases and application schemas. The same mode is injected into managed LongLink Application database connections. |
PUBLIC_URLRequired | Public web origin used for account verification, password reset, and OAuth completion links. |
AUTH_REGISTRATION_ENABLEDDefault: true | Enables local email and password registration. Production registration also requires SMTP_HOST; verification and reset messages are logged when running locally without SMTP. |
GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRETOptional | Enables GitHub OAuth login as an additional authentication method. |
INITIAL_ADMIN_EMAILRecommended for new installations | Grants the platform administrator role when this exact email address completes registration. The account must still verify ownership of the address before it can sign in. |
OIDC_ISSUER, OIDC_CLIENT_ID, and OIDC_CLIENT_SECRETOptional | Enables a generic OIDC provider for internal SSO or a hosted B2B identity broker. Configure the provider callback as /auth/oidc/callback on the LongLink API origin. |