Media & migration·2026
Qazaq Gazetteri — a holding of 13 publications
Migrating the “Qazaq Gazetteri” publishing holding from legacy Laravel 7.30 to a unified multi-tenant platform on Next.js 16 + NestJS 11. A single application serves 13 publications (Ana tili, Aqiqat, Aq Jelken, Baldyrgan, Ulan, Mysl, Uigur Avazi and more) via dynamic Host-header routing with individual branding and settings per subdomain.
Next.jsNestJSTypeScriptPostgreSQLPrismaRedisDocker

Project goals
- Migrate the holding’s 13 publications from legacy Laravel 7.30 onto one platform
- Serve all subdomains from a single application via the Host header
- Give each publication its own branding, themes and navigation
- Support multilingual content (Kazakh, Russian, Uyghur)
Tasks
- Design a multi-tenant model with a shared news pool
- Implement Host-based routing for 13 subdomains in one Web container
- Store per-subdomain settings in the database with a Redis cache
- Build hierarchical rubrics with visual customization
- Implement filtering, pagination and a publishing workflow
- Introduce auditing and real-time updates over WebSocket
- Deploy via Docker/Dokploy behind a reverse proxy (Nginx/Caddy)
Results
Measurable performance indicators
- 13 publications on one platform instead of legacy Laravel 7.30
- All subdomains routed from a single application by Host
- Individual branding and settings for each publication
- Multilingual content: Kazakh, Russian and Uyghur
- A shared news pool with per-edition data isolation
Key metrics
Specific performance indicators of the project
13
Publications on the platform
13
Subdomains
3
Content languages
Laravel → NestJS
Migration stack