Sign inSign up

ruseler/espconnect

By ruseler

•Updated about 1 month ago

Self-hosted ESPConnect: manage, flash & back up ESP32/ESP8266 from your browser.

Image
Internet of things
Developer tools
Web servers
0

288

ruseler/espconnect repository overview

⁠ESPConnect

A self-hosted, browser-based control center for ESP32 and ESP8266 boards — packaged as a lightweight Docker image.

ESPConnect lets you inspect hardware details, browse and manage on-chip file systems (SPIFFS, LittleFS, FATFS), back up and restore flash, view partition layouts, and deploy firmware — all from a modern Chromium browser. This image bundles the pre-built web app and serves it over Nginx, so you can run your own private instance on any Docker host or in Portainer.

The web app talks to your board directly from the browser using the Web Serial API. The container only serves the static files, so no USB passthrough into the container is required — the browser handles the device connection.


⁠Features

  • Device info — chip family, MAC, flash size and timing, PSRAM presence, flash ID
  • File system manager — view, read, and write files across SPIFFS, LittleFS, and FATFS
  • Partition map — visual layout with per-region or full-flash backup and restore
  • Flash tools — read and write firmware images
  • Serial console + session log — built-in monitor, no external terminal needed
  • Self-hosted & private — runs on your own server; firmware and backups stay local

⁠Supported tags

  • latest — most recent build

⁠Quick start

docker run -d --name espconnect -p 8080:80 ruseler/espconnect:latest

Then open http://localhost:8080⁠ in a Chromium-based browser (Chrome, Edge, Brave, or Arc — version 89 or newer). Click Connect, pick your device when prompted, and the tools unlock.


⁠Docker Compose

services:
  espconnect:
    image: ruseler/espconnect:latest
    container_name: espconnect
    ports:
      - "8080:80"
    restart: unless-stopped
docker compose up -d

⁠Configuration

SettingValueNotes
Internal port80Nginx serves the app here
Suggested host port8080Change the left side of -p 8080:80 to remap

There are no required environment variables — the app is a static bundle served as-is.


⁠Requirements

  • A Chromium-based browser (Chrome, Edge, Brave, Arc) v89+ with Web Serial support
  • An ESP32 / ESP32-C3 / -S2 / -S3 / -C6 / -H2 / -C5 / -P4 or ESP8266 board connected over USB
  • A USB cable with data lines (charge-only cables won't work)

Firefox and Safari do not support the Web Serial API and are not compatible.


⁠Build from source

git clone --depth 1 https://github.com/thelastoutpostworkshop/ESPConnect.git
cd ESPConnect
docker build -t ruseler/espconnect:latest .
docker run --rm -p 8080:80 ruseler/espconnect:latest

⁠Notes & safety

  • Firmware files, backups, and diagnostics stay on your machine and only leave it if you download them yourself.
  • Always flash firmware from trusted sources.
  • ESPConnect is based on the upstream ESPConnect project and Jason2866's WebSerial ESPTool.

⁠Credits

ESPConnect is created and maintained by The Last Outpost Workshop⁠.

This Docker image simply packages and serves the upstream project. All credit for ESPConnect itself goes to the original author. Please support and star the source repository.


⁠License

ESPConnect is released under the MIT License.

Tag summary

Content type

Image

Digest

sha256:7b94b0b66…

Size

32.9 MB

Last updated

about 1 month ago

docker pull ruseler/espconnect