feat(web-portal): serve on port 80, drop Mainsail/Fluidd socat redirects - #68
Open
martinbogo wants to merge 1 commit into
Open
feat(web-portal): serve on port 80, drop Mainsail/Fluidd socat redirects#68martinbogo wants to merge 1 commit into
martinbogo wants to merge 1 commit into
Conversation
…luidd socat redirects The Rinkhals web portal (65-rinkhals-web) now binds port 80 directly, so the printer's bare IP opens the portal. It also keeps listening on :8090 for one transition cycle so existing bookmarks and the Vite dev workflow keep working. Because the portal owns port 80, the per-connection socat processes that Mainsail and Fluidd used to redirect :80 to their own web servers are removed; Mainsail stays on :4409 and Fluidd on :4408. The printer's kernel has no netfilter (no nat/filter tables, no loadable modules), so a kernel-level redirect is not available; binding the port directly in the Go process, which runs as root, is the lightest option and removes the per-connection socat cost. Docs updated: the bare IP is now the web portal, Mainsail and Fluidd move to their own ports, and the OrcaSlicer guide points slicer uploads at Moonraker's OctoPrint-compatible API on port 7125 (OrcaSlicer's OctoPrint host type defaults to port 80, which is now the password-protected portal).
martinbogo
force-pushed
the
feature/webui-port-80
branch
from
July 6, 2026 23:54
3ecf1e3 to
2454e7c
Compare
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.
Summary
Moves the Rinkhals web portal to port 80 so the printer's bare IP opens it directly, and removes the per-connection socat redirects that Mainsail and Fluidd used to put themselves on port 80.
Why
The socat redirect (
socat TCP-LISTEN:80,reuseaddr,fork TCP:localhost:44xx) forks a process per connection and copies every byte through userspace. It was only ever a convenience to reach the human Mainsail/Fluidd UI at the bare IP; slicer and automation uploads go to Moonraker, not through it.The kernel-level alternative (iptables/nftables REDIRECT) is not available on this hardware: the vendor kernel has no netfilter at all (no
nator evenfiltertable, no loadable modules, nomodprobe), same as the missing swap/cron/ftrace. Sincerinkhals-webis our own process running as root, the lightest possible solution is to bind port 80 directly, which is what this does.Changes
65-rinkhals-web/web_server.go: listen on:80(primary) and keep:8090(goroutine) for one transition cycle, so existing bookmarks and the Vite dev workflow keep working.25-mainsail/app.sh,26-fluidd/app.sh: remove the socat:80redirect and its pid handling. Mainsail stays on:4409, Fluidd on:4408.:7125.User-facing impact (call out in the release notes and Discord)
admin/rinkhals), not Mainsail.:4409/:4408.http://<printer-ip>:7125(Moonraker). OrcaSlicer defaults to port 80, which is now the password-protected portal, so the old bare-IP setup will fail. The OrcaSlicer guide is updated accordingly.:8090still works this cycle and can be dropped in a later release.Testing notes
go build/go vetclean.:80bind + socat removal end-to-end; worth confirming on a printer that the portal answers on the bare IP, Mainsail is reachable on:4409, and an OrcaSlicer upload to:7125works, before this rides into a stable release.Follow-up
:8090in a subsequent release once users have migrated.