selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

3m-ui logo

Self-host 3m-ui

v1.4.3

Lightweight self-hosted panel for Mihomo proxy management

ReleaseOpen SourceGPL-3.0
Updated10 hours ago
LanguageGo
Setup difficultyModerate
Stars
180
Port
8080 (web panel HTTP)
Docker
ghcr.io/kazeyukiro/3m-ui
Install with Docker Compose

What is 3m-ui?

3m-ui is a lightweight, self-hosted web management panel for the Mihomo proxy core. It lets administrators create and manage inbound listeners across many protocols with features like Reality, TLS, one-click certificates, and traffic multipliers. Users can be created with random credentials, bound to nodes, given traffic limits and expiry dates, and grouped with tags. Subscriptions are generated in multiple client formats with automatic UA detection. The panel handles configuration validation and rollback, provides Telegram bot alerts and admin commands, supports multi-node clustering with node mirroring and subscription merging, and includes JWT authentication, forced password change on first login, TOTP two-factor authentication, optional GitHub OAuth, and a web-path prefix. Operational features include core start/stop/update, GeoIP updates, panel SSL/ACME with wildcard support via Cloudflare, backup, and one-click Cloudflare WARP registration. It runs as a single statically-linked Go binary with embedded React frontend and modernc SQLite, or via Docker on Linux amd64/arm64, with additional architectures available as standalone binaries. The default panel port is 8080. Licensed under GPL-3.0.

Should you self-host 3m-ui?

3m-ui scores 47/100 on selfhost.directory (how scoring works) and ranks #38 of 56 in VPN. It has 180 GitHub stars.

It shipped 9 stable releases in the past year. The latest, v1.4.3, came out on 23 October 2026. New versions land roughly every 4 days.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Go.

Its closest alternative on selfhost.directory is Tailscale (84/100, 38 215 stars). It scores higher overall, so compare the two before you pick. See 3m-ui vs Tailscale side by side.

Features

  • Backup and Restore
  • Cloudflare WARP registration
  • Configuration validation and rollback
  • Forced password change on first login
  • GitHub OAuth Login
  • Multi-format subscription generation
  • Multi-node clustering
  • Multi-protocol listener management
  • Panel SSL/ACME with wildcard support
  • REST API
  • Telegram Bot Integration
  • TOTP two-factor authentication
  • User and traffic management

3m-ui README

How to install 3m-ui

Install 3m-ui with Docker Compose

Docker and Docker Compose
Environment variables
THREE_M_UI_IMAGE, TZ, THREE_M_UI_CONFIG

docker compose up -d docker compose logs 3m-ui

Uses host network by default; bridge network template also available; volumes for config, data, logs

How to configure 3m-ui

  • PANEL_PORT8080Panel listen port for install script

    Panel listen port for install script

  • THREE_M_UI_CHANNELstableUpdate channel (stable or pre)

    Update channel (stable or pre)

    values: stable, pre

  • THREE_M_UI_CONFIG/etc/3m-ui/config.yamlPath to panel config.yaml

    Path to panel config.yaml

  • THREE_M_UI_IMAGEghcr.io/kazeyukiro/3m-ui:latestDocker image reference (pin version)

    Docker image reference (pin version)

  • THREE_M_UI_MIHOMO_BINARYPath to external Mihomo binary

    Path to external Mihomo binary

  • THREE_M_UI_REPOCustom release repository (owner/repo)

    Custom release repository (owner/repo)

  • THREE_M_UI_SUB_PATHSubscription URL path prefix

    Subscription URL path prefix

  • THREE_M_UI_SUB_PORTSubscription URL port

    Subscription URL port

  • TZUTCTimezone

    Timezone

3m-ui releases & version history

More in Network Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…