Install & configure Mole Hash
This guide takes you from nothing to a farm that reports live, has its racks drawn, its team invited and its first alerts and schedules in place. Count about an hour, most of it waiting for scans. If you only want the short version, use the checklist.
The seven steps of a first setup.
1. What you need
Mole Hash is a hosted platform; only the small Mole agent runs in your farm.
| Item | Requirement |
|---|---|
| A browser | Any recent Chrome, Edge, Firefox or Safari, on a computer or a phone. |
| A computer for the agent | A Linux box inside the farm network: a small server, a VM, or a Raspberry Pi. For an ASIC fleet plan 2 CPU cores, 4 GB RAM, 20 GB disk and a wired 1 Gbps port. Debian / Ubuntu are the usual choice; any distribution with Python 3 and systemd works. Docker and Windows are possible too (see step 4). |
| Network | The agent must reach the miners' IP ranges directly (same network, or routed without a firewall in between) and must be able to open outbound HTTPS to the platform. Nothing has to be opened inbound. |
| Miner access | For stock Antminer firmware, the web password of the miners if you changed it (the agent needs it to read wattage and run commands). |
| Your IP plan | The list of IP ranges your miners live in, in CIDR notation (10.20.1.0/24), ideally one range per rack or cabinet. |
2. Create your account
- Open the sign-up page, fill in the form, complete the CAPTCHA and click Create Account.
- Enter the code received by e-mail on the Verify Email step: the account is activated.
- You are offered two-factor authentication. Enable it now with an authenticator app, or Skip for now and turn it on later in Settings → Security.
- Sign in. With no site yet, the onboarding wizard opens automatically.
Details in Account & login.
3. Create the site (onboarding wizard)
The wizard remembers where you stopped; you can close it and come back.
- Welcome — what will be created.
- Facility Details — the site name (required), location, description and time zone. The time zone sets day boundaries in Energy, Reports and scheduled tasks, so pick the farm's local zone, not yours.
- Subnetworks — one line per IP range the agent must scan, in CIDR form, with the rack or cabinet names living in that range. You can paste an
nmapoutput and the wizard extracts the ranges. Ranges can be changed later from the agent's Configure dialog. - Scan Config — automatic scanning on or off, the scan interval (the wizard proposes 300 s; 120 s is a good value for a normal farm, see step 6) and the ports to probe (4028, 4029 and 80 by default; 4028 is the one that matters for ASICs).
- Mole Hole Setup — the wizard shows your credentials, the installer downloads and a connection check that waits for the agent's first report. Install the agent now (next step) and come back; or register a miner manually / seed demo data from the optional last step to look around first.
If you prefer, the same site can be created from Site → Site Management → Add Site; see Site Management.
4. Install the Mole agent
Everything the agent needs is on Miners → Mole Agents: the Site ID, the API key, and under Setup Guide the exact commands with your credentials already filled in. Copy from there rather than from this page.
On Linux, as a service (recommended)
- Log in to the farm box with a user that can
sudo. - In Mole Agents → Setup Guide, choose ASIC Miner Cluster and Linux (Systemd) and copy the one-line command. It has this shape:
(curl -fsSL https://<platform>/api/v1/moles/installer || wget -qO- https://<platform>/api/v1/moles/installer) \
| sudo env MOLE_INSTALL_METHOD=native MOLE_APP_URL=https://<platform> MOLE_SITE_ID=<site id> \
MOLE_SCAN_RANGE=10.20.1.0/24 MOLE_API_KEY=<api key> MOLE_CLIENT_ID=<client id> MOLE_PICKAXE_ID=<agent id> bash- Paste it and press Enter. The installer:
- installs Python 3 and its dependencies with the system package manager (apt or yum);
- creates
/opt/molewith a private Python environment and the configuration file/opt/mole/config.yamlbuilt from the variables above (MOLE_SITE_ID,MOLE_API_KEY,MOLE_CLIENT_ID,MOLE_PICKAXE_ID,MOLE_APP_URL,MOLE_SCAN_RANGE); - downloads the agent program from the platform, so the version always matches;
- registers and starts the
mole-agentsystemd service, set to restart automatically (this is also what makes automatic updates seamless).
- Check it:
systemctl status mole-agentshould say active (running);journalctl -u mole-agent -fshows the first scan cycle.
Running the same command again later updates the configuration (for instance a new range) and keeps the service. An optional MOLE_LOOP_INTERVAL=<seconds> sets the starting scan interval; once the agent is online, the interval you set in the dashboard takes over.
On Linux, with Docker
Use the same one-line command with MOLE_INSTALL_METHOD=docker. The installer writes /opt/mole/config.yaml, builds a local image named mole-agent and starts a container of the same name with --restart always and the configuration file mounted inside. Logs: docker logs -f mole-agent. The Setup Guide also shows the bare docker run line for an image you built yourself.
On Windows
Install Python 3 first (from python.org, ticking Add Python to PATH). Then open an Administrator PowerShell and run the command shown under Windows in the Setup Guide: it downloads install_mole.ps1, installs the Python dependencies, creates C:\ProgramData\MoleAgent\config.yaml and registers a scheduled task named MoleMinerScanner that runs the agent silently every 5 minutes. The Windows script does not know your credentials: open that config.yaml and fill in the Site ID, API key, client id, agent id and scan ranges shown on the Mole Agents panel (the Create Config File block gives you the complete file to paste).
WARNING
On Windows the agent runs as a task every 5 minutes, one scan at a time. Commands from the dashboard (reboots, pool changes, firmware installs) are only carried out by an agent running continuously, i.e. the Linux service or the Docker container. Use Windows for a quick trial, Linux for production.
5. Verify the first scan
- Miners → Mole Agents: within one scan interval the agent card appears ONLINE with its version, Monitored Miners and Scan Duration.
- Miners → Machines fills with the discovered miners: model, firmware, IP, status, hashrate, temperature. Boards and chips appear with agent v3.285.0 or newer (the agent updates itself if the platform has a newer version).
- Dashboard → Fleet Manager shows total hashrate and power. Stock Antminer firmware reports no wattage until the agent knows the web password; the per-model power defaults are used in the meantime.
Nothing after ten minutes? Open Mole Agents → Diagnostics, pick the agent and Run Connection Test Suite; on the box check journalctl -u mole-agent -f. The usual causes are a mistyped key, a range the box cannot reach, or HTTPS blocked by a firewall.
6. Configure the agent from the dashboard
On the agent card click Configure, tab network:
- Subnet Ranges — add every rack VLAN, keep ranges tight (a
/25per rack beats a/16). - Scan Interval (seconds) — how often the agent re-reads every miner and uploads. 120 s is recommended: the dashboard stays fresh and the load on the miners stays low. Below 60 s only makes sense for a small test rack.
- Scan Ports — leave the defaults unless your miners answer on unusual ports.
- Click Apply. Changes reach the agent within two minutes.
Full reference: Mole Agents.
7. Set the site's capacity and electricity price
Open Site → Site Management, click your site, tab Settings, then Edit on Site Information:
- Energy Cost in $/kWh — used by the Energy and Earnings panels and the daily power-cost tile;
- Max Capacity in MW — the sidebar and Energy show your load as a percentage of it;
- Target Power Cap in MW — optional; the Power tab of the same site lets you apply it as an active cap that asks miners to step down when exceeded. Click Save. Transformers (name, capacity, phases) are added on the Power tab, or from the Site Map's layout editor.
8. Map your racks
Open Miners → Site Map, click the sliders icon to open the layout editor, then Edit Mine Layout:
- Add New Rack for each rack; click its pencil to name it, and in Rack Configuration set its rows × columns, its transformer and its VLAN subnet (miners found in that subnet appear in the rack at once).
- Place miners in slots with Map Miners (arm a slot, press the miner's IP Report button or type its IP / serial), or import a CSV with Upload locations.
- Describe the change and Publish.
From then on, selecting a rack on the map scopes Machines, Commands and the charts to that rack. See Site Map.
9. Invite your team
Site → Site Management → your site → Access, then Invite Member: enter the e-mail address and the Assigned Role, Send Invitation. The person receives a link; signing up or in with that address joins them to the site.
| Role | Typical use |
|---|---|
| Owner | You. Everything, including billing and ownership transfer. |
| Admin | Runs the site day to day: miners, commands, layout, members. |
| Operator | Monitors and sends commands, no member or role management. |
| Repair Technician | Tickets, repair and planning. |
| Viewer | Read-only. |
Custom roles, and the exact permission of each role, are in Roles & permissions and the Permissions matrix. To hide money figures from a role, remove revenue:view from it.
10. Alerts and a first scheduled task
- Alerts → Alerts & Triggers → Add Trigger: choose the issues that should notify you (offline miners, low hashrate, high temperature, lost boards…), how many miners must trip, a cooldown, and one or more channels (e-mail, Telegram, Discord, Slack, Google Chat, webhook, in-app). Send a test checks the channel. See Alerts & Triggers.
- Per-miner thresholds (hash rate, temperature, fans) default from the model; adjust them in Edit miner when a model runs hotter or slower than its spec.
- Operations → Scheduled Tasks → Create Task: a name, a command (for instance Get Data or a nightly Reboot), when (every day at a time in your zone, or a cron expression) and which miners (by transformer, building, rack or one by one). See Scheduled Tasks. Power curtailment windows live next door in Power & Curtailment.
What to check on day one
| Panel | Look for |
|---|---|
| Machines | Status badges other than Mining; the Chips column for boards that lost chips; firmware families you did not expect. |
| Mole Agents | Scan Duration well below the scan interval; one agent ONLINE per site. |
| Issues | Miners flagged by the default thresholds — tune per miner before adding triggers, or you will be notified for known cases. |
| Energy | Reported versus estimated power; load as a percentage of the capacity you set. |
| Site Map | Every miner placed; no +n badges left on racks. |