docs: capture exploration — backend-deployment
This commit is contained in:
34
.planning/notes/go-vs-php-on-plytarium.md
Normal file
34
.planning/notes/go-vs-php-on-plytarium.md
Normal 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.
|
||||
Reference in New Issue
Block a user