🪣Deploying JSONkeeper on PythonAnywhere with HTTP API Only — A Self-Hosted Save Backend for the IIIF Curation Viewer
A reproducible runbook for self-hosting JSONkeeper — the save backend for the IIIF Curation Viewer / Editor / Manager / Board — on PythonAnywhere's free Beginner plan, using only HTTP API calls except for two one-time browser actions (API token issuance and first-time Bash console attach). Covers Flask 1.0 / apscheduler 3.5 incompatibility with modern Python, Firebase Admin SDK service-account key handling, the 100 CPU-second/day cap, CORS, and patching the Viewer-side codh-mirror repository.
pythonanywherejsonkeeperflaskfirebase