Server setup

Operator guide for running Ignis as a self-hosted server. Walks through the order of operations and links to detailed pages for each step.

[!IMPORTANT] Ignis is experimental and not intended for production use. Treat this guide as a reference for evaluation deployments.

What you are deploying

ServiceRoleDocs
Ignis.ApiFHIR endpoint + OAuth 2.0 / OIDC authorization server (OpenIddict)Ignis.Auth README
Ignis.WebBrowser-facing BFF (React Router) that fronts the API for usersIgnis.Web README
MongoDBShared storage for FHIR resources and OpenIddict stateInfrastructure guide

OAuth flow between API and Web: Authentication.

Setup checklist

Do the steps in order — later steps assume earlier ones are in place.

#StepWhatReference
1Provision MongoDBDatabase used by APIInfrastructure guide
2Decide public URLsOne hostname for API, one for Web — they cannot share an originUsed by AllowedHosts, Issuer, IGNIS_WEB_APP_URL, OAuth redirect URIs
3Configure the APIAllowedHosts, StoreSettings, AuthSettings:IssuerAPI configuration
4Generate certificatesPFX signing + encryption keys for OpenIddict (prod only)Certificates
5Register clientsauthorization_code for the Web BFF; others as neededIgnis.Auth README
6Wire an external IdPGitHub is the only built-in provider todayAuthenticate with GitHub
7Configure the Web BFFIGNIS_WEB_* env vars (session, client creds, issuer, app URL)Web configuration
8Trust reverse proxyOnly if behind a proxy / load balancer / ingressAPI config: ForwardedHeaders

[!NOTE] AuthSettings:ExternalProviders[].Type accepts OIDC in config, but it is unimplemented — selecting it throws NotSupportedException at startup.

Reference pages

PageCovers
API configurationEvery config key the API reads, with env var mapping
Web configurationEvery IGNIS_WEB_* env var the BFF reads
Local development setupLocal API/Web HTTPS, certs, OAuth, and imports
Authentication flowOAuth / PAR / PKCE sequence diagram
Authenticate with GitHubGitHub OAuth App setup
Ignis.Auth READMEClient definitions and signing certificates
Infrastructure guideKubernetes / Helm, TLS, Argo CD
Admin UIEnabling the maintenance pages
ScopesEvery OAuth scope and how user/client assignment works
collected from docs/server/README.md