Database

The panel keeps its state in a Django-managed database: PostgreSQL in the component of the hosting provider, and sqlite in the development shell, the checks, and the NixOS module when nothing sets DATABASE_URL. Deployment is the panel's own model; the rest of the tables come from the Django apps it enables -- auth for the operator accounts, admin, sessions, contenttypes, and social_django for the OIDC login. The db-diagram package migrates a throwaway database and reads the schema back out of it, so the picture below shows what manage migrate creates at the revision that built this page: