Skip to content
  • MangoFly

    A self-hosted WireGuard mesh. Devices connect straight to each other; the coordination server is one binary and a SQLite file, and never sees their traffic.

    encrypted WireGuard · peer to peerLaptopbehind home NATServerin a datacentrePhoneon mobile datacoordination serverone binary · one SQLite filecontrol plane only (TLS)keys · tunnel addresses · peer lists · sealed ICE candidatesholds no private keys · carries no traffic · cannot decryptdatacontrol
  • MangoDock

    Docker management with nothing on the hosts. Reaches each daemon over an ordinary SSH session — no agent to install, no port to open.

    The MangoDock dashboard showing three host cards with container state counts, CPU and memory gauges, a usage history and recent events
  • MangoWiFi

    A Wi-Fi 6/7/8 test bench. One binary runs as Console or Agent either side of the access point under test, measuring latency under real load.

    AP under testWi-Fi 6 / 6E / 7Agentstation side · real radioLAN receiveriperf3 -sConsoleUI · orchestrates · probes
  • Blog
  • Nothing phones home

    No telemetry, no analytics, no crash reporter, no account login. Check it with a packet capture on your own network.

    Download MangoSSH
  • Project
  • Download
  • Running it

    Updating and uninstalling

    Both are one command, and neither touches what MangoDock manages.

    Updating

    bash
    docker compose pull
    docker compose up -d

    Your data and every configured host survive an update untouched — they live in the mangodock_data volume, not the image.

    Uninstalling

    bash
    docker compose down          # or: docker stop mangodock && docker rm mangodock
    docker volume rm mangodock_data   # only if you also want the data gone

    Removing the container never touches anything it was managing. Every host and container MangoDock connected to keeps running exactly as it was.

    Air-gapped

    • Offline, update by unpacking a newer bundle and running its install.sh instead of pulling.