25 min read

Set Up HivePaaS on Docker Swarm with Localtonet

Install and verify HivePaaS on Linux, check its Traefik web ingress, and access the working dashboard remotely through a Localtonet HTTP tunnel.

Remote browser traffic reaching HivePaaS through Localtonet, Traefik, and Docker Swarm.
Localtonet carries remote HTTP traffic to the Traefik ingress serving HivePaaS on the Linux host.
Self-Hosted Applications ยท HivePaaS ยท Localtonet ยท 2026

Deploy a Docker Swarm application platform, validate its Traefik ingress, and plan safe remote dashboard access

HivePaaS is a self-hosted platform for deploying applications, databases, and functions through Docker Swarm. This guide starts with the official Linux installation workflow, explains the domain and port requirements, and shows how to verify the dashboard before adding any tunnel. We then configure a Localtonet HTTP tunnel as a separate remote-access step, with special attention to Traefik host routing, redirects, and HTTPS behavior. Because HivePaaS does not document a universal loopback endpoint, we will verify the real local listener instead of assuming an address or port mapping.

๐Ÿ”’ Verify authentication and domain routing before exposure ๐ŸŒ Traefik ingress uses ports 80 and 443 โšก Install HivePaaS first, then add Localtonet

How HivePaaS, Docker Swarm, Traefik, and Localtonet fit together

Topology showing a remote HTTP request passing through Localtonet and Traefik to HivePaaS in Docker Swarm.
Traefik routes tunneled HTTP requests to the HivePaaS service running in Docker Swarm.

HivePaaS is a lightweight, open-source, self-hosted Platform-as-a-Service built on Docker Swarm. Its control plane manages applications, databases, functions, deployments, domains, logs, backups, and other platform operations. Applications are deployed as Docker Swarm services, while Traefik v3 provides the HTTP and HTTPS ingress layer.

In the documented architecture, the primary control-plane node hosts Traefik, the HivePaaS application, and PostgreSQL. Worker nodes can run application workloads and the HivePaaS agent. A shared overlay network allows Traefik to reach publicly exposed containers, while project and environment networks isolate internal application communication.

For this guide, the most important part is the web request path. A browser normally connects to the dashboard domain on port 443. Traefik receives that request, examines information such as the requested hostname, and routes it to the appropriate HivePaaS service. Port 80 may handle plain HTTP requests, certificate validation, or redirection to HTTPS, depending on the active configuration.

๐Ÿณ Docker Swarm orchestration HivePaaS configures Docker Swarm and deploys its required services. The documented minimum Docker version is 29.5, and the installer can install or upgrade Docker when needed.
๐ŸŒ Traefik web ingress Traefik v3 handles dashboard and application routing through ports 80 and 443, including domains, TLS, redirects, and per-application rules.
๐Ÿงญ Domain-based routing The dashboard is opened through the domain entered during installation. A request sent under a different hostname may not match the intended Traefik route.
๐Ÿ”— Localtonet HTTP access Our client can establish an outbound connection and expose a verified local HTTP target through a public URL without inbound router port forwarding or a public IP address.

Localtonet does not replace the HivePaaS installation or its internal ingress configuration. HivePaaS must already be installed, its services must be running, and the intended Traefik route must work before a tunnel can provide useful access.

The official HivePaaS prerequisites also require ports 80 and 443 to be free and open to the internet. This guide does not reinterpret or remove that requirement. Even if a tunnel is added later, follow the project's documented installation conditions unless HivePaaS documentation explicitly provides a supported alternative for your version and deployment.

A tunnel and a reverse proxy solve different problems

Traefik decides which HivePaaS service receives an HTTP request. Localtonet carries traffic from a public endpoint to a local IP address and port. A working network connection does not guarantee a matching Traefik route, especially when the public Localtonet hostname differs from the dashboard domain configured in HivePaaS.

Prerequisites for installing HivePaaS

Prepare the server and domain before running the installer. Changing these foundations after deployment can affect certificate issuance, redirects, routing, and dashboard availability.

Requirement Documented expectation What to check
Operating system Linux with root access Supported families include Debian, Ubuntu, Fedora, RHEL, Rocky, AlmaLinux, Amazon Linux, SLES, openSUSE, Arch, and Alpine.
Server resources 4 CPUs, 8 GB memory, and 100 GB disk are recommended HivePaaS can run with less, but actual capacity depends on the applications, databases, builds, logs, and backups hosted on the server.
Administrative access Root access is required The official installation command invokes the installer through sudo.
Docker Docker 29.5 or newer The installer installs or upgrades Docker if needed, but existing Docker workloads should be reviewed before allowing infrastructure changes.
Ingress ports Ports 80 and 443 must be free and open to the internet Confirm that another web server, proxy, container, or service is not already occupying either port.
Dashboard domain A domain is requested by the installer Configure the domain according to your DNS provider and current HivePaaS guidance so it resolves to the intended server.
Administrator credentials An administrator email and password are requested Choose a unique password and store it securely. Do not place credentials in shell history, screenshots, tickets, or tunnel configuration.

Check ports 80 and 443 before installation

A port conflict can prevent Traefik from starting or accepting traffic. On Linux systems that provide the ss utility, the following command can show listening TCP sockets associated with ports 80 and 443:

sudo ss -ltnp | grep -E ':(80|443)\s'

No output usually means that this particular check did not find a matching listener. It is not a complete firewall or internet reachability test. Some distributions may not include ss, and container publishing or host security controls may require separate inspection.

If a service is already listening, identify it before proceeding. Do not stop an existing web server blindly on a production machine. Determine whether it serves another application, whether it can be migrated, and whether HivePaaS is meant to become the host's primary ingress layer.

Prepare the dashboard domain

The installer asks for the dashboard domain. Use a hostname that you control, such as hivepaas.example.com. Configure it using the record type and values appropriate for your DNS provider and server network. The supplied HivePaaS evidence establishes that the domain should point at the server, but it does not provide one universal DNS record recipe for every IPv4, IPv6, proxy, or DNS-provider configuration.

DNS changes may require time to propagate. Before installation, check that the hostname resolves to the intended public server address from an independent network. Also make sure upstream cloud firewalls, security groups, host firewalls, and routers permit the documented web traffic.

Review the server before running a root-level remote installer

The official command downloads a script and sends it to a shell with elevated privileges. Use it only on a server you intend to configure for HivePaaS, and confirm that the hostname belongs to the official HivePaaS installation endpoint. Back up important data and understand the effect of Docker installation or upgrades on existing workloads.

Install HivePaaS on the Linux server

The official quick-start workflow is intentionally short. It installs HivePaaS on the server, collects the administrator credentials and dashboard domain, configures Docker Swarm, and deploys the platform. The documented quick start then opens the dashboard and explains the recovery behavior for settings that could lock out the administrator.

1

Run the official installer

Connect to the Linux server with an account that can use sudo, then run the documented installation command. The installer asks for the administrator email, administrator password, and dashboard domain. It sets up Docker Swarm and deploys HivePaaS.

curl -fsSL https://get.hivepaas.com | sudo bash
2

Open the configured dashboard domain

After installation completes, open the HTTPS dashboard domain supplied to the installer, such as https://hivepaas.example.com. Sign in with the administrator email and password created during installation.

3

Use recovery behavior if a later change locks you out

HivePaaS applies certain potentially disruptive settings on a trial basis. Changes to the Traefik startup command and HivePaaS routing or proxy settings are automatically undone unless they are confirmed. If automatic recovery cannot run, use the recovery procedure appropriate to the installed HivePaaS version rather than repeatedly changing unrelated network settings.

A successful installer completion is not, by itself, proof that the dashboard is reachable. DNS, firewall rules, Traefik startup, certificate issuance, and hostname matching all affect the final result. Complete the verification section before configuring Localtonet.

Verify HivePaaS and the Traefik dashboard route

Three checks for Docker Swarm services, the Traefik route, and the HivePaaS dashboard.
Verification proceeds from running services to a healthy Traefik route and a loaded HivePaaS page.

Verification should proceed from the documented public interface toward the local listener. This separates HivePaaS installation problems from Localtonet configuration problems.

Verify the normal HTTPS dashboard first

Open the exact dashboard domain entered during installation. The expected result is an HTTPS page that allows you to sign in with the administrator email and password. Do not use a raw server IP as a substitute for this check. Traefik may select routes according to the hostname, and an HTTPS certificate is normally issued for a domain rather than an arbitrary address.

A command-line HTTP header request can provide a second check:

curl -I https://hivepaas.example.com

Replace the example hostname with your actual dashboard domain. A successful response, or an intentional redirect followed by a successful browser page, confirms more than basic port reachability. It indicates that DNS, TCP connectivity, TLS, and at least part of the hostname route are functioning.

Interpret redirects carefully. A response redirecting HTTP to the configured HTTPS dashboard may be expected. Repeated redirects, a redirect to an unexpected hostname, a certificate warning, or a generic Traefik response requires investigation before adding a tunnel.

Confirm the local listener rather than assuming loopback access

The supplied HivePaaS documentation establishes that Traefik accepts ingress on ports 80 and 443. It does not establish a universal loopback URL or promise that every installation binds those ports to 127.0.0.1. Inspect the active listener:

sudo ss -ltnp | grep -E ':(80|443)\s'

Look at the local address associated with each listener. A wildcard IPv4 address, wildcard IPv6 address, specific interface address, and loopback-only address have different implications. The Localtonet client must be able to reach the exact local IP and port selected as the tunnel target.

If port 80 appears reachable through loopback, test the route while preserving the configured dashboard hostname:

curl -I -H 'Host: hivepaas.example.com' http://127.0.0.1

Replace the example domain. If the listener is bound to a different local address, use that verified address instead of 127.0.0.1. Do not assume that a failed loopback test means HivePaaS itself is down. It may mean only that Traefik is not listening on loopback.

For HTTPS, this form of test keeps the hostname available for both TLS certificate validation and HTTP routing while sending the connection to loopback:

curl -I --resolve hivepaas.example.com:443:127.0.0.1 https://hivepaas.example.com/

Use this only if the listener inspection confirms that port 443 is reachable at that address. Replace both instances of the example domain. If the certificate, route, or listener does not match, curl should report the problem rather than silently proving a different path.

Preserve the hostname during local testing

Testing only http://127.0.0.1 can produce a default route, an error, or a redirect unrelated to the configured dashboard. Sending the dashboard hostname in the request tests the Traefik routing condition that matters to this workflow.

Record the verified backend details

Before opening our dashboard, record four facts: the reachable local IP address, the working port, whether the backend request uses HTTP or HTTPS, and the hostname Traefik expects. The first three determine the basic tunnel target. The fourth determines whether a generated Localtonet hostname can work as-is or whether a compatible custom-domain configuration is needed.

Access the verified HivePaaS endpoint with Localtonet

Once the dashboard works normally and a local Traefik target has been verified, you can add a Localtonet HTTP tunnel. Our client establishes an outbound connection to a Localtonet relay server, so the tunnel does not require inbound router port forwarding, firewall changes, a VPN, or a public IP address for the tunnel connection itself.

This does not cancel HivePaaS's documented prerequisite that ports 80 and 443 be free and open to the internet. Treat Localtonet as a distinct access path added after the supported HivePaaS deployment, not as an undocumented substitute for its installer requirements.

A generated public hostname may not match the HivePaaS route

Traefik can route the dashboard by the configured domain. A request arriving with a generated Localtonet hostname may fail to match that route, redirect to the original dashboard domain, or encounter HTTPS hostname differences. Do not disable TLS validation or weaken HivePaaS routing to hide this mismatch. Test the behavior and use a compatible domain strategy only when its current DNS requirements are understood.

1

Install and run the Localtonet client

Install our client on the HivePaaS server or on another trusted device that can reach the verified Traefik listener. Keep the client running for as long as remote access is required. Consult the current Localtonet documentation for the installation method applicable to the operating system and current client version.

2

Authenticate and select the client device

Use the device-specific authentication token associated with the client that can reach HivePaaS. Never copy the token into this article's commands, public logs, screenshots, or shared configuration. Confirm that the selected device is connected before continuing.

3

Select an available relay server

Select a relay server or region currently available in our dashboard. Availability can vary, so obtain the valid value from the current product rather than copying a server code from an old tutorial.

4

Create an HTTP tunnel for the verified target

Create the appropriate HTTP tunnel and enter the local IP address and port proven during verification. Choose the HTTP or HTTPS behavior supported by the current configuration rather than guessing. For HTTP tunnels, the Process Type can be Random Sub Domain, Custom Sub Domain, or Custom Domain, and each option provides a public HTTPS address.

5

Start the tunnel

Creating a tunnel does not start it. Press Start and wait for the tunnel and selected device to be connected. The public endpoint works only while the client is connected and the tunnel is running.

6

Test the public endpoint, then stop it when finished

Open the assigned public HTTPS address in a private browser window. Confirm the final hostname, redirects, certificate result, and HivePaaS sign-in page. When remote access is no longer required, stop the tunnel or delete it if it will not be reused.

Choose the target based on evidence

Observed local behavior Potential target Important consideration
HTTP on port 80 returns the dashboard route when the correct Host header is present The verified local IP and port 80 The public request must still reach Traefik with a hostname that matches or is accepted by the route.
HTTP on port 80 redirects to the configured HTTPS domain The verified local IP and port 80 may carry the initial request The browser may leave the tunnel endpoint and connect to the original domain after the redirect.
HTTPS on port 443 works only for the configured dashboard hostname The verified local IP and port 443, if supported by the selected current tunnel configuration TLS hostname and certificate handling must remain compatible. Do not bypass validation merely to force a connection.
A generated Localtonet hostname receives a Traefik route error No target change should be assumed This is usually a hostname-routing question, not proof that the tunnel cannot reach the port.
The listener is not reachable from the Localtonet client device No valid target yet Run the client on the HivePaaS host or establish permitted local reachability before exposing anything.

When a custom domain may be necessary

If Traefik accepts only the configured dashboard hostname, a Localtonet endpoint using that same hostname may be more compatible than a generated hostname. HTTP and File Server tunnels can use a custom domain, but the exact DNS requirements must be checked against current Localtonet documentation before changing records.

Domain changes can also affect HivePaaS certificate issuance and its normal public route. Plan the complete request path before modifying DNS. Confirm which system terminates public TLS, what hostname reaches Traefik, and whether the original HivePaaS endpoint must remain available. Do not point production DNS at a new endpoint without a tested rollback plan.

If the generated public hostname displays the correct HivePaaS dashboard and all redirects remain on an intended secure endpoint, a custom domain may be unnecessary. If it does not, stop and diagnose the host routing rather than repeatedly changing ports.

Routine operations after setup

Starting and stopping remote access

A Localtonet tunnel exists independently from the HivePaaS services. The tunnel is reachable only while the selected client device is connected and the tunnel is running. You can stop the tunnel without uninstalling HivePaaS or stopping its Docker Swarm workloads. Delete the tunnel when its configuration is no longer needed.

Conversely, a running tunnel cannot make a stopped or unhealthy HivePaaS backend work. If the dashboard fails, test the local route first. This avoids confusing an application problem with relay connectivity.

Deploying applications through HivePaaS

HivePaaS can deploy from a Docker image or a Git repository. It supports applications built from Dockerfiles, generated build definitions for supported languages and frameworks, functions, and one-click templates. It also provides health checks, resource controls, placement options, scheduled jobs, logs, metrics, backups, projects, environments, and role-based access.

Those application routes are separate from the administrative dashboard route. Exposing the dashboard through one Localtonet tunnel does not automatically prove that every deployed application domain will work through that same public hostname. Each Traefik route can have its own domain, TLS, redirect, authentication, IP, or rate-limit behavior.

Adding worker nodes

HivePaaS supports single-server and multi-node Docker Swarm deployments. The primary control-plane node manages the platform, while worker nodes can run workloads and the agent. Cluster expansion introduces additional network, firewall, and trust considerations. Use the join procedure produced by the active installation and protect Swarm join tokens as secrets.

Do not copy a sample Swarm token or manager address from a website into a real deployment. Tokens and addresses are specific to the cluster. A Localtonet HTTP tunnel to the dashboard is also not a replacement for the internal Docker Swarm networking required between cluster nodes.

Backups and observability

HivePaaS supports encrypted, deduplicated backups through Kopia to S3-compatible storage or a volume. Logging and metrics components are optional and can be enabled when required. Before relying on the platform for important workloads, define backup destinations, retention expectations, restore testing, disk monitoring, and administrative access procedures.

A dashboard that loads successfully does not prove that backups can be restored or that worker storage is healthy. Treat access testing, service health, and data protection as separate operational checks.

Troubleshooting HivePaaS and Localtonet access

Decision tree for isolating HivePaaS, Traefik, and Localtonet connection failures.
Testing each layer in order helps identify whether a failure is local, routing-related, or tunnel-related.

The installer cannot bind ports 80 or 443

Check for an existing web server, proxy, development server, or container publishing either port. Identify the owner of the listener before stopping it. HivePaaS documents both ports as free and open prerequisites, so placing it on a server where another ingress already owns those ports requires architectural planning beyond the quick-start workflow.

The dashboard domain does not resolve

Verify the hostname spelling and inspect its current DNS result from more than one network. Confirm that it resolves to the intended server, not an old host or private address that remote users cannot reach. DNS caching may cause different clients to see different results temporarily.

Port 80 works but redirects somewhere unexpected

Inspect the Location response header. A redirect to the configured HTTPS dashboard may be correct. A redirect to a stale hostname indicates that the active HivePaaS or Traefik configuration still references that name. Correct the underlying domain configuration rather than trying to conceal the redirect in Localtonet.

The public Localtonet URL shows a Traefik error or 404

First repeat the local request with the dashboard Host header. If that succeeds while the generated Localtonet hostname fails, the network path is probably reaching Traefik but not matching the dashboard route. Review the hostname strategy and current custom-domain requirements. Changing the local port is unlikely to solve a host-rule mismatch.

The tunnel reports running but the page times out

Confirm that the selected Localtonet device is the device on which the client is actually running. Then verify that this device can reach the configured local IP and port. A target such as 127.0.0.1 refers to the Localtonet client device itself. It does not refer to a different server on the network.

Recheck the listener after restarts or configuration changes. If Traefik moved from one interface to another, a previously valid local target may no longer be reachable.

The browser reports a certificate error

Identify which hostname the browser is opening and which endpoint terminates TLS. Do not proceed through certificate warnings on an administrative dashboard. A certificate issued for the HivePaaS domain does not automatically validate for a generated Localtonet hostname, and the public Localtonet HTTPS endpoint does not automatically prove that an HTTPS backend certificate matches.

The browser enters a redirect loop

Compare the requested scheme and hostname with every redirect response. A loop can occur when one layer considers the request HTTP while another forces HTTPS, or when two different canonical hostnames redirect to each other. Preserve the intended scheme and host information and avoid stacking unverified redirect rules.

A configuration change made the dashboard unreachable

HivePaaS applies certain Traefik startup, routing, and proxy changes on trial and rolls them back unless they are confirmed. Allow the documented recovery behavior to complete. If automatic recovery cannot run, use the recovery procedure matching your installed version. Do not delete platform data, Docker volumes, or Swarm services as an initial troubleshooting step.

Local checks succeed but remote checks fail

Separate the two public paths. The normal HivePaaS domain depends on its DNS and inbound port path. The Localtonet endpoint depends on the Localtonet client, selected device, relay connection, running tunnel, and verified local target. Test each path independently so a cloud firewall problem is not mistaken for a tunnel problem, or vice versa.

Security guidance for an administrative PaaS dashboard

The HivePaaS dashboard controls application deployments, infrastructure settings, logs, terminals, credentials, backups, domains, and other high-impact resources. Treat it as an administrative control plane, not as an ordinary public website.

๐Ÿ”‘ Protect administrator credentials Use a unique password, protect the administrator email account, and enable stronger account controls such as two-factor authentication where appropriate.
๐Ÿ‘ฅ Apply least privilege Use projects, environments, roles, and restricted API keys instead of sharing one unrestricted administrator account among users and automation.
๐Ÿ›ก๏ธ Keep routing controls intact Do not remove TLS checks, authentication, IP restrictions, or rate limits merely to make a tunnel test pass. Diagnose host and scheme handling instead.
โน๏ธ Limit the exposure window Start the Localtonet tunnel only when the remote path is required, and stop or delete it when the access workflow has ended.

Protect the Localtonet device token as a credential. It identifies the client device used to run the tunnel and must not be embedded in articles, public repositories, deployment screenshots, or troubleshooting output. Select relay values from the current dashboard rather than hardcoding old server codes.

Review who can reach the public endpoint and who can authenticate to HivePaaS. A hard-to-guess URL is not an authorization control. Use the access restrictions available in the applicable configuration, maintain strong application authentication, and review platform audit information as part of normal operations.

Do not expose a partially configured control plane

Complete administrator setup, validate HTTPS, review authentication, and confirm the intended route before sharing a public URL. If the dashboard displays a setup screen, default credential, certificate warning, or unexpected service, stop the tunnel and correct the backend first.

Frequently asked questions

What does the HivePaaS installer configure?

The installer asks for the administrator email, administrator password, and dashboard domain. It configures Docker Swarm and deploys HivePaaS. It can also install or upgrade Docker when the documented minimum version is not available.

Which operating systems can host HivePaaS?

The documented Linux families include Debian, Ubuntu, Fedora, RHEL, Rocky, AlmaLinux, Amazon Linux, SLES, openSUSE, Arch, and Alpine. The server needs root access. Verify current version-specific support before using a newly released distribution.

How much CPU, memory, and storage does HivePaaS need?

HivePaaS recommends 4 CPUs, 8 GB of memory, and 100 GB of disk, although it can run with less. Workload requirements can exceed these recommendations when the server performs image builds or hosts multiple applications, databases, logs, metrics, and backups.

Does Localtonet replace the requirement for ports 80 and 443?

No. HivePaaS officially documents ports 80 and 443 as free and open to the internet for this installation workflow. Localtonet should be added after the supported installation and verification steps. Our tunnel uses an outbound client connection, but that does not rewrite the project's documented prerequisites.

Can I always target 127.0.0.1:80 with the Localtonet tunnel?

No. The documented HivePaaS material identifies ingress ports 80 and 443 but does not promise a universal loopback binding. Inspect the actual listener and test the route locally. Use 127.0.0.1 only when the Localtonet client runs on that server and the listener is reachable through loopback.

Why does the generated Localtonet URL show a Traefik 404?

The generated hostname may not match the dashboard domain configured in Traefik. Verify the local target using the expected Host header. If that succeeds, investigate a compatible hostname or custom-domain configuration rather than changing the port at random.

Should the Localtonet tunnel target port 80 or port 443?

Use the endpoint you have verified and that is compatible with the current tunnel configuration. Port 80 may redirect to HTTPS, while port 443 introduces backend TLS hostname and certificate considerations. There is no safe universal answer without inspecting the active HivePaaS listener and route behavior.

Does creating a Localtonet tunnel start it automatically?

No. After creating the tunnel, press Start. The selected client device must remain connected, and the tunnel must remain running, for its public URL to be available.

Will one dashboard tunnel expose every application deployed by HivePaaS?

Not necessarily. Applications can have separate Traefik routes, domains, certificates, redirects, authentication policies, and network behavior. Verify each intended route separately instead of assuming that a working dashboard URL covers every application.

What happens when I stop the Localtonet tunnel?

The Localtonet public endpoint becomes unavailable, but stopping the tunnel does not uninstall HivePaaS or stop its Docker Swarm services. The normal HivePaaS domain continues to depend on its own DNS, ingress, and server configuration.

Add controlled remote access to your verified HivePaaS dashboard

Install HivePaaS, confirm its Traefik listener and hostname route, then use our HTTP tunneling workflow to expose the validated local target. Keep the tunnel active only while it is needed and preserve the dashboard's authentication and TLS controls.

Get Started Free โ†’

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support