ABACAXI.DEV

// latest transmissions from the small production machine

build: DEPLOYED
coffee: CRITICAL
sanity: NULL
health: 204
IT WORKS ON MY VPS SLIM ROUTES ARE REAL TWIG OWNS THE HTML NOW SQLITE IS ENOUGH FOR TODAY FRANKENPHP DID NOT BETRAY ME ROBOTS.TXT HAS ENTERED THE CHAT IT WORKS ON MY VPS SLIM ROUTES ARE REAL
// latest transmissions
01
DEPLOYMENT REPORT - VPS ONLINE - ROOT CAUSE: AMBITION

A tiny blog became Slim, Twig, SQLite, FrankenPHP, Docker, a private VPS registry, and a GitHub Actions deploy pipeline.

slug: /posts/deploying-php-ssr-vps category: deployment / confession published: Apr 10, 2026 // generated from sqlite, rendered by twig, served by frankenphp
PRODUCTION CONFIDENCE STABLE ENOUGH (7.8/10)
02
SERVER RENDERED HTML - CLIENT JAVASCRIPT STILL UNDER CONTROL

Routes stay explicit, templates stay server-rendered, and HTMX only patches the parts that need motion.

slug: /posts/slim-ssr-without-spa category: boilerplate published: Apr 10, 2026 // generated from sqlite, rendered by twig, served by frankenphp
HYDRATION DEBT LOW (2/10)
03
DATABASE STATUS - ONE FILE - NO DRAMA DETECTED

Use a file-backed database first, keep the schema small, and postpone operational complexity.

slug: /posts/sqlite-is-enough category: sqlite published: Apr 10, 2026 // generated from sqlite, rendered by twig, served by frankenphp
OPERATIONAL COMPLEXITY POSTPONED (3/10)
04
FRAGMENT SWAP COMPLETE - SPA AVOIDED

The feed below is server-rendered and refreshed via HTMX, so the UI stays dynamic without hydration debt.

slug: /posts/fragments-not-state-machines category: htmx published: Apr 10, 2026 // generated from sqlite, rendered by twig, served by frankenphp
CLIENT STATE CONTAINED (2.5/10)
05
CONTAINER RESTARTED - CADDY CERTIFICATES STILL ALIVE

FrankenPHP serves the public folder, runs PHP, handles HTTPS, and lets Compose keep the runtime boring.

slug: /posts/one-container-one-restart category: frankenphp published: Apr 09, 2026 // generated from sqlite, rendered by twig, served by frankenphp
MOVING PARTS ACCEPTABLE (4/10)
06
REQUEST IN - HTML OUT - EVERYONE SURVIVED

The request comes in, the template renders, the response leaves. That is still a good model.

slug: /posts/php-still-wins-for-html category: php published: Apr 09, 2026 // generated from sqlite, rendered by twig, served by frankenphp
FRAMEWORK FOMO IGNORED (1.5/10)
07
VPS DEPLOYMENT - PREDICTABLE ENOUGH TO SLEEP

Dockerized PHP on a VPS is easier to reason about than a custom runtime spread across shell scripts.

slug: /posts/hostinger-vps-predictable-deployments category: ops published: Apr 09, 2026 // generated from sqlite, rendered by twig, served by frankenphp
SHELL SCRIPT SURFACE AREA REDUCED (3.5/10)