Skip to content
← LogEntry 031
Planned
Apr – Jul 2026

Sixteen sites moved off shared hosting onto a private cluster

Education, RO

DockerProxmoxCaddyMariaDB
Sites migrated
16
Isolated stacks
16
Data lost in migration
0
Record

Context

A provider of online school record systems ran sixteen sites on a single shared hosting account: expensive, slow and with no isolation between instances.

Problem

One misbehaving site took all the others with it. There was no isolation, backups had never been tested by restoring them, and the monthly cost grew with every new school.

What I did

  1. 01One isolated Docker stack per site, with its own resources and its own database
  2. 02Consolidated onto a private Proxmox cluster with centralised backup
  3. 03Caddy as the reverse proxy, with certificates renewed automatically
  4. 04Tuned MariaDB and caching for the real traffic profile
  5. 05Staged migration, site by site, with a way back at every step

Result

Consolidated infrastructure, real isolation between sites, lower hosting cost. A site that falls over no longer takes the rest down with it.