Deploy Portunus Server
Portunus server with Web UI, SQLite state, HTTP and TCP proxy.
zingerlittlebee/portunus-server:latest
Just deployed
/var/lib/portunus
Deploy and Host Portunus Server on Railway
Portunus is a Rust control-plane server for managing port-based TCP and UDP forwarding. This template deploys the server directly from its prebuilt multi-arch image on GHCR — nothing is built on Railway. It ships the embedded Web UI, operator HTTP API, persistent SQLite state, and a TCP proxy endpoint for client gRPC connections.
About Hosting Portunus Server
The template pulls ghcr.io/zingerlittlebee/portunus-server:latest (a distroless multi-arch image) and runs it as a single service. Railway exposes the Web UI / operator API over HTTP on port 7080 and the control-plane gRPC listener over a TCP proxy on port 7443. A mounted volume at /var/lib/portunus stores the SQLite database, self-signed TLS material, and server state.
The advertised gRPC endpoint is wired automatically: PORTUNUS_ADVERTISED_ENDPOINT is set to ${{RAILWAY_TCP_PROXY_DOMAIN}}:${{RAILWAY_TCP_PROXY_PORT}}, so Railway resolves the public TCP proxy address for you — no manual step. The server self-signs its TLS certificate against that host and regenerates it if the host changes.
Image Auto Updates is enabled against the :latest tag, so the service redeploys automatically when a new image is published (the volume is backed up first; expect a short downtime).
First login
After the first deploy, open the service Deploy Logs and copy the line Portunus onboarding setup token: . Visit the HTTP domain — the Web UI routes the empty store to an onboarding page where you paste the token and create the first superadmin. From the Clients page (or the provision-client CLI) generate a client bundle; it already embeds the TCP proxy endpoint and pinned cert fingerprint, so portunus-client dials the public gRPC endpoint directly.
Common Use Cases
- Self-host a lightweight TCP/UDP forwarding control plane.
- Manage forwarding clients and rules from a Web UI.
- Keep Portunus state persistent across Railway deploys.
Dependencies for Portunus Server Hosting
- The prebuilt GHCR image
ghcr.io/zingerlittlebee/portunus-server:latest. - A Railway volume mounted at
/var/lib/portunus. - Railway HTTP networking on port 7080.
- Railway TCP Proxy on application port 7443.
Deployment Dependencies
- Image: https://github.com/ZingerLittleBee/Portunus/pkgs/container/portunus-server
- Source: https://github.com/ZingerLittleBee/Portunus
- Railway deployment docs: https://docs.railway.com
Why Deploy Portunus Server on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Portunus Server on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
zingerlittlebee/portunus-server:latest
ghcr.io/zingerlittlebee/portunus-server:latest