Installation
What has to be on the server, how the three parts come together and what runs on first start.
Three parts, one machine
Lyceum consists of three units with separate deployments: the core with the database and the API, the backoffice, and the public site. They sit on the same server under three addresses.
What the server needs
PHP 8.4 or newer, PostgreSQL, a web server able to hand protected files through internally, and ffmpeg for video processing. PostgreSQL is deliberate: the access rules need partial indexes other systems do not offer this way.
Two long-running helpers
Besides the site, a worker runs video processing and email, and a scheduler handles recurring jobs such as expiring time-limited access. If either is missing the site looks normal — but videos stay stuck in processing and reminders never go out. Both belong to the setup, not to the extras.
What to settle before the first real sale
Legal texts, Stripe in live mode, the sender address for email — and the tax treatment of digital products. More on that under Selling.