35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
---
|
||
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.
|