Host a test server for the web app (HTTPS) #71
Labels
No labels
area/ci
area/desktop
area/packaging
area/protocol
area/reading
area/ui
area/web
area/writing
kind/bug
kind/feature
kind/infra
kind/request
needs/user
parked
perf
security
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
littlefox/neokom#71
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The installable web app (#51) only works over HTTPS (browsers allow service workers only on HTTPS or localhost), and trying it on a real Android phone and a friend's iPhone needs an address they can reach.
User, 2026-10-17: "I can probably figure out hosting of a test server. But that will take some time. Tag it as depending on user and we'll see how far I've come when it comes to that"
What the host needs (to be filled in when it exists):
Until then, development uses localhost, and the Android phone over USB with Chrome's port forwarding.
Blocks: #51 (the real-device checks). Related: roadmap question 1 (a public NeoKOM at Lysator).
User (2026-10-18): "Provided that the local docker HTTPS thing works for us, we can remove issue #71 from the 0.2 milestone. It will be needed in the future, but it is not blocking for closing that milestone." Once #98 is verified on a real phone, this leaves the 0.2 milestone and stays open for later (recorded as a D-entry with #98).
Moved out of the 0.2 milestone (D-038): the Docker image's HTTPS mode (#98) works on the user's Android phone, so 0.2 doesn't wait for a public server. Stays open for later.
Before a public deployment, the Docker image needs (from a review of the package, 2026-10-18):
To talk over with Lysator: all users reach lyskomd from the relay's one address; IP addresses in the relay log need a retention policy; the image is x86-64 only.
User's answers (D-040): Let's Encrypt is what Lysator uses (Caddy's automatic HTTPS fits); other relays already run against kom.lysator.liu.se, so one address for many users is fine; logs are kept 24 h for abuse. For the deployment: Docker's log driver rotates by size, not time, so 24 h retention needs the host's logging (journald driver with a retention setting, or a size cap sized for a day).
Done: NeoKOM runs on Lysator's Kubernetes at https://neokom.lysator.liu.se (D-050, #173), HTTPS by the cluster's gateway, the relay at wss://neokom.lysator.liu.se/relay. Checked from outside: the page with a valid certificate and our security headers, and a logged-out Protocol A handshake through the relay to kom.lysator.liu.se. It follows releases via autoroll on :latest, which only moves when a release's image has passed its checks (#201, D-053).