docs: how to deploy the gateway beside its Postgres - #26
Merged
Conversation
The README covered running it locally and never covered running it for real, so anyone self-hosting had to work out the shape from the Dockerfile. Written from an actual deploy rather than from memory: podman quadlet under systemd, Postgres on the same host and only on localhost, a reverse proxy in front. Includes why the unit uses host networking, and the crun version mismatch that kills the build at `RUN npm ci` while looking like an npm fault.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The README explained how to run Selat on a laptop and stopped there. Anyone
self-hosting had to infer the production shape from the Dockerfile.
This is written from a deploy that is actually running, not from memory. One
container under a podman quadlet, Postgres on the same host bound to localhost,
a reverse proxy terminating TLS. It says why the unit uses
Network=host, whichis the line that keeps Postgres off any interface the container network can see.
It also names the failure that cost the most time: podman writes an OCI spec that
older crun rejects, and the build dies at
RUN npm ciwithunknown version specified. That points at npm and the fix is a crun upgrade.The section opens by saying why this is a server and not a serverless function,
since that is the first thing a reader will ask, and the answer is the shared
connection ceiling plus a database that would have to face the internet.
Docs only, no code touched.
npm teststill 366 passed.