Web Dashboard Setup

Monitor and control SwiftMiner from any browser. Configure local network access, or set up secure internet tunnels with Twitch OAuth so your friends can log in and manage their own miners.

The Web Dashboard is a browser-based companion built directly into SwiftMiner. It provides a clean web interface containing overview stats, miner toggles, drop inventories, and log details. It is perfect if you run SwiftMiner on a headless Mac mini or want to let friends manage their own Twitch connections remotely.

What is the Web Dashboard?

By default, SwiftMiner is controlled via the macOS app window. When you enable the Web Dashboard, SwiftMiner spins up a lightweight, embedded web server on your Mac. You can interact with the app locally through a username and password, or externally via secure authentication protocols.

What friends see

A friend who signs in sees their own miner: what it is mining now, recent completed Drops, and the priority list it follows. They can keep following your shared list, add their own games ahead of it, or use only their own. View priorities opens the full shared list, and a series wildcard carries a Wildcard badge with the newest game's artwork, just as in the app.

The Web Dashboard's Shared Priorities list, with a Call of Duty wildcard badge at priority 2
The shared priority list in the Web Dashboard, including the Call of Duty wildcard.

Enable the Dashboard

You can enable the Web Dashboard with a single miner or multiple miners. Follow these steps to turn on the embedded web server:

SwiftMiner Web settings
Settings › Web enables the dashboard and configures the username and password used for local sign-in.
  1. Open SwiftMiner Settings (⌘,) and click the Web tab.
  2. Toggle Enable Web Dashboard to ON.
  3. Restart SwiftMiner to apply the changes.

Local Network Access

To access the dashboard from the same Mac or other devices on your home Wi-Fi network:

  1. Click Set Username and Password in the Local Access section.
  2. Choose a Username and a strong Password to secure the local page.
  3. Choose a port number (default is 8080). If port 8080 is already in use by another app, you can customize it to any value (e.g. 8082).
  4. Click Save Credentials. You can now access the dashboard by navigating to http://localhost:8080 (or http://[Your-Macs-IP]:8080 from another device on your network) in your browser.

To update these details later, choose Change Credentials. Enter a new password only when you want to replace it; leaving the new-password field blank keeps the current password.

Internet Access & Twitch OAuth

You can expose the Web Dashboard over the internet using a secure connection, including on a server with only one miner. This lets you and your friends log in using your own Twitch accounts, enter device activation codes, and check your miners without needing direct access to your Mac.

Public Address

Use your own custom domain for internet access. You can register a dashboard subdomain on your paired SwiftBot's existing Cloudflare tunnel, or configure your own tunnel or reverse proxy. A single miner is enough; the Discord/SwiftBot integration is only needed when using SwiftBot's tunnel or Discord sign-in.

Step 1: Set up a Twitch Developer App

To verify external logins, you must register a Twitch Developer Application to generate Twitch sign-in credentials:

  1. Go to the Twitch Developer Console and sign in.
  2. Click Register Your Application.
  3. Set the following values:
    • Name: SwiftMiner [Your Server Name]
    • OAuth Redirect URLs: Add the exact redirect URL shown in SwiftMiner's Web settings page, using your custom domain (e.g. https://swiftminer.example.com/oauth/callback).
    • Category: Application Integration
  4. Click Create. Copy the generated Client ID and click New Secret to generate a Client Secret.

Step 2: Input credentials in SwiftMiner

  1. In the Web settings tab, choose Twitch OAuth Setup.
  2. Paste your copied Twitch Client ID and Twitch Client Secret.
  3. Click Save.

Step 3: Register the secure tunnel

If you use SwiftBot, first finish Internet Access setup in SwiftBot with your own custom domain. SwiftMiner can then register the dashboard on SwiftBot's existing Cloudflare tunnel:

  1. In the Web settings tab under Internet Access, click Set Up Internet Access.
  2. Choose a dashboard subdomain under the custom domain configured in your paired SwiftBot (e.g. swiftminer.example.com), then click Register on SwiftBot's tunnel.
  3. SwiftMiner asks your SwiftBot to register the route and DNS on its existing Cloudflare tunnel. The dashboard is then available over HTTPS at the public URL shown in Web settings.
  4. Share this URL with your friends. When they visit it, they will see a Twitch sign-in prompt. After signing in, they will only be able to view and manage their own Twitch miners.

Running behind a Reverse Proxy

You can also host the Web Dashboard on your own domain using a self-managed reverse proxy or tunnel (like Nginx, Caddy, Apache, or Cloudflare Tunnel). Since SwiftMiner runs a standard HTTP server on your local network port, it is fully compatible with standard proxy routing.

Configuration Recommendations:

  • Set your Base URL: In the Web settings tab, you must set the Base URL to your public domain (e.g. https://dashboard.example.com). This ensures Twitch OAuth redirection validation and secure session cookie scopes align correctly.
  • Forward standard headers: Configure your reverse proxy to forward standard HTTP headers, specifically the Host and Cookie headers, so SwiftMiner can validate user sessions.
  • No WebSockets needed: The dashboard utilizes standard HTTP request polling and API routes, so you do not need to configure connection hijacking or WebSocket upgrades in your proxy configurations.

Caddy is the simplest option because it obtains and renews HTTPS certificates itself. A complete Caddyfile for a dashboard on the default port:

dashboard.example.com {
    reverse_proxy 127.0.0.1:8080
}

If Twitch sign-in fails, check that the exact callback URL (e.g. https://dashboard.example.com/oauth/callback) is registered in your Twitch Developer Console application, and keep your Mac's firewall closed to direct outside connections on the dashboard port so the proxy is the only way in.