The Twelve-Factor App is a methodology Adam Wiggins and colleagues at Heroku wrote down for building services that are easy to deploy, scale and hand over. It was written for the cloud, but it fits a single self-hosted machine just as well. Every project here follows it; this is our reading of each factor for a Ruby stack run by systemd with ngrok in front.
Twelve-factor apps keep the parts that change (config, backing services, the machine) outside the code. That is
the same idea as owning your stack: when a database, an AI model or a host is
attached by a URL in config, swapping it is an edit to .env, not a rewrite.
Gemfile with a committed Gemfile.lock,
run through bundle exec. Nothing works only because a gem happened to be installed system-wide..env (see Secrets). Code holds no settings that differ between
machines.PORT from config, bound to
127.0.0.1. ngrok or another proxy is what makes it public.bin/, run with the
same code and config as the app.These rules are section 14 of AGENTS.md, which every coding agent working here follows. A new project that breaks one of them needs a stated reason.
Provided as is, for information only, with no warranty and no liability. Not legal or professional advice. Security and radio material is for authorized, lawful use only. Full disclaimer.
Visits are logged on our own server: IP address, browser and device details, and pages viewed. We use them to understand traffic and spot attacks, and never share or sell them.