DPanel: the lightweight Docker panel with a domain-forwarding standard edition
轻量化 docker 可视化管理面板。lightweight panel for docker
At a glance
- What is it?
- DPanel is donknap's Go-based lightweight container management panel for Docker and Podman, shipped as standard and lite Docker images, the standard edition bundling domain forwarding and certificate issuance while the lite edition is container management only. The UI is React with Ant Design over a Gin backend speaking the Docker SDK, an Aliyun mirror serves the images in China, and v1.10.10 is the current release on a near-weekly cadence.
- Who is it for?
- Use DPanel when a single-host or small-fleet Docker setup wants a web panel that includes reverse proxying and certificate issuance, not just container listings, and when the standard image's ports 80 and 443 can be spared. Choose the lite image when a proxy already fronts the host, since it drops the domain forwarding and needs only port 8807.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Two editions split by a reverse proxy
DPanel's edition split is functional rather than cosmetic. The standard image includes domain forwarding and certificate issuance functionality, binding ports 80 and 443 so the panel itself can front other containers as a reverse proxy with automated certificates. The lite edition removes the domain forwarding entirely, requiring the user to forward domains and bind containers themselves, needing only port 8807 for the panel's own interface. The image table adds a Debian build beside the Alpine default for each edition, plus pe variants for the Pro edition, and both Docker Hub and an Aliyun registry in Hangzhou serve every tag, the mirror being the practical path for mainland China users where Docker Hub access is unreliable.
Three install paths, one socket mount
The standard edition runs as one docker run command with restart always, ports 80, 443 and 8807 published, APP_NAME set, the Docker socket mounted, and /home/dpanel mounted for persistence:
docker run -d --name dpanel --restart=always \
-p 80:80 -p 443:443 -p 8807:8080 -e APP_NAME=dpanel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/dpanel:/dpanel dpanel/dpanel:latestThe lite variant drops the 80 and 443 ports and uses dpanel/dpanel:lite. An integrated script covers Debian, Ubuntu and Alpine with other distributions untested and issue reports invited:
curl -sSL https://dpanel.cc/quick.sh -o quick.sh && sudo bash quick.shThe one caveat flagged as important is macOS, where the socket path differs, mounting /Users/username/.docker/run/docker.sock to /var/run/docker.sock.
The panel surface, from overview to Compose
The screenshot section names the interface's areas, overview, container management, file management, image management, image creation, Compose creation and deployment, and system administration, with a Pro custom skin shown first. The feature set visible there matches the dependency list, compose-spec's compose-go library drives the Compose handling, the Docker SDK speaks to the daemon, go-webauthn adds passkey authentication, pquerna's otp adds two-factor codes, gorilla websocket powers the terminal and log streaming, creack's pty attaches to container consoles, mholt's archives handles file uploads and downloads, and pkg sftp with afero's sftpfs extends file management to remote connections. The overview's metrics come from gopsutil.
Pro as enhancement, not paywall
The Pro edition's positioning is stated with unusual care, it is only an enhancement and supplement to the community edition, and general, widely needed features will not be added to Pro, which strengthens, upgrades or personalizes some community features instead. The comparison page on the site details the split, and the custom skin shown in the screenshots is one of the visible Pro items. For an evaluator this means the community edition is the complete panel by the project's own definition, and the Pro purchase buys personalization and priority features rather than unlocking core functionality, an open-core boundary drawn explicitly.
A Go backend on the Rangine framework
The backend is Go 1.25 on the author's own Rangine framework, we7coreteam's w7-rangine-go, with a registry SDK from the same organization handling image registry operations. Gin serves the HTTP layer with gzip, viper manages configuration, cobra the CLI, zap logging, robfig's cron the scheduled tasks, and a go-cache in-process store beside the database directory's persistence. The frontend is React with UmiJS over Ant Design, Ant Design Pro and Ant Design Charts, the standard Chinese enterprise stack, and a dpanel-app agent module in the dependencies hints at remote host management. Microsoft's go-winio in the tree marks the Windows path for the socket connection.
A Makefile that manages its own matrix
The Makefile documents the release matrix in its header, mode A for beta builds without APP_VERSION producing beta, beta-lite and their Debian variants, and mode B for releases with a version number producing the latest, lite, versioned and Debian tags together. Cross-compilation toolchain paths are declared for macOS hosts building musl and GNU targets across amd64, arm64 and armv7, with colored output macros for the build log, and the whole file warns itself to stay small so template sync cannot break. A reload.sh at the root serves the development loop, and an .air.toml configuration marks hot-reload for the Go side during development.
Community in the Chinese Docker circle
The project positions itself for the Chinese Docker community explicitly, hoping to bring some small surprises to the Docker Chinese circle, with the site, documentation and Pro comparison all in Chinese and an English readme in the docs directory. Support runs through a QQ group numbered 837583876, sponsorship through the Aifadian platform and WeChat tips, and the sponsor wall names LaiKa Cloud as the computing provider and JetBrains for IDEs. A HelloGitHub badge marks its curation there, related repositories cover the base images and docs, and releases are frequent, v1.10.8 on September 7, v1.10.9 on September 11 and v1.10.10 on 2026-09-14, with the master branch pushed 2026-09-29.
Editorial conclusion
Use DPanel when a single-host or small-fleet Docker setup wants a web panel that includes reverse proxying and certificate issuance, not just container listings, and when the standard image's ports 80 and 443 can be spared. Choose the lite image when a proxy already fronts the host, since it drops the domain forwarding and needs only port 8807. Before deploying, mount the Docker socket as the commands show, using the macOS-specific path on Mac, verify Podman compatibility if that is your runtime, and check the Pro edition comparison page to understand which features are enhancements rather than community defaults.
Frequently asked questions
what is d panel?
DPanel is a lightweight, Go-based container management panel for Docker and Podman, offering container, image, file and Compose management through a React web UI. It ships as standard and lite Docker images, the standard edition adding domain forwarding and certificate issuance, with a Pro edition for enhanced features.
How does DPanel compare to Portainer?
Both are Docker management panels, and DPanel's distinguishing structure is its edition split, a standard edition bundling domain forwarding and certificate issuance on ports 80 and 443, and a lite edition with container management only on port 8807 for hosts that already run a proxy, plus a Pro tier positioned as enhancements rather than community features.
How do you install DPanel?
Run the standard image with docker run, publishing ports 80, 443 and 8807, mounting /var/run/docker.sock and /home/dpanel, or use the lite image without ports 80 and 443. On macOS, mount the socket from /Users/username/.docker/run/docker.sock instead, or use the quick.sh install script on Debian, Ubuntu and Alpine.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/donknap-dpanel)