docs: capture exploration — backend-deployment

This commit is contained in:
Jakub Zych
2026-09-28 01:27:19 +02:00
parent cbb5a516ef
commit a64d5aaaa7
5 changed files with 100 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
---
title: Go vs PHP on plytarium.com — what stays, what swaps, why login is not the flip
date: 2026-09-28
context: /gsd-explore after a working Phase 10 admin login; asked how deployment of that backend will look
---
# Go vs PHP on plytarium.com
The login that already worked is the Phase 10 admin SPA inside the `fonoteka` binary, talking to local Postgres. That is not a DNS flip of `https://plytarium.com`.
## What stays on the production box
- Operator-owned nginx vhost. Merge snippets after `nginx -t`. Do not overwrite the vhost in the dark (`fonoteka/docs/deploy/plytarium.com.md`).
- `vue-fonoteka-app` and `fonoteka-mcp` — unchanged. Same origin `https://plytarium.com`. CORS stays a fallback, not the model.
- Centrifugo and Typesense — same servers. Go only publishes and issues tokens.
## What actually swaps
- php-fpm / Winter → one `fonoteka` binary. Admin SPA is already `embed.FS` in the binary (Phase 10 D-01). No separate admin deploy.
- MariaDB → Postgres with Polish ICU `pl-PL`. This is a data move, not a config tweak. Boot already refuses a non-`pl-PL` database.
- Redis `queue:work` → River on that same Postgres (Phase 11, not built yet).
## When the flip is allowed
Phase 15, after jobs/search (11) and the remaining API routes (12–14). Success criteria: parity harness green on all 154 routes; Nuxt and MCP complete a real session against Go.
Until then, pointing plytarium.com at this binary would take the public app and MCP offline. A side host running admin-only Go is a different, earlier picture and was not chosen as the first deploy target.
## Docs that were stale when this was discussed
- `summercms.go/README.md` still said nothing runs.
- `fonoteka.go/README.md` still described the Phase 3 genre slice and never mentioned admin login.
Intended split: `fonoteka.go` stays a short run card; `summercms.go` is the onboarding README and includes an honest "not a PHP flip yet" cutover section.