Skip to content
Daniel Heinen edited this page Mar 27, 2026 · 6 revisions

ankerctl Wiki

Welcome to the ankerctl wiki. ankerctl is a Go reimplementation of ankermake-m5-protocol -- a CLI and web UI for monitoring, controlling, and interfacing with AnkerMake M5 3D printers.

Why Go?

  • Security -- Strict type system, no dynamic eval, compiled binary
  • Performance -- Single binary, fast startup, low memory footprint
  • Deployment -- ~50 MB Docker image (vs ~300 MB Python), no runtime dependencies except ffmpeg
  • Concurrency -- Native goroutines for MQTT, PPPP, and WebSocket streams

Pages

Quick Start

Option 1: Download the Binary (fastest)

Download the latest release from Releases (v0.9.24+), make it executable, and run:

chmod +x ankerctl-linux-amd64
./ankerctl-linux-amd64 webserver --listen 0.0.0.0:4470

Option 2: Docker

docker run -d \
  --name ankerctl \
  --network host \
  -v ~/.ankerctl:/root/.ankerctl \
  -e ANKERCTL_HOST=0.0.0.0 \
  ghcr.io/django1982/ankerctl:latest

Option 3: Build from Source

git clone https://github.com/Django1982/ankerctl_go_remake.git
cd ankerctl_go_remake

# Download vendor assets (Bootstrap, Chart.js etc.) — required before building!
# Linux/macOS:
bash scripts/prepare-web-vendor.sh
# Windows (PowerShell):
# .\scripts\prepare-web-vendor.ps1

go build -o ankerctl ./cmd/ankerctl/
./ankerctl webserver --listen 0.0.0.0:4470

Note: Without the vendor script the web UI will be a blank page. The script downloads frontend vendor libraries from CDN and embeds them into the binary via //go:embed.

Navigate to http://localhost:4470 and log in with your AnkerMake email and password.

Quick Links

Clone this wiki locally