Docker Appliance
A simple, powerful Debian-based Docker server with a beautiful web interface powered by Portainer. This appliance provides a dedicated server running Docker, Docker Compose, Portainer, NGINX reverse proxy, and optional SSL via Certbot, all managed from within your browser. Whether you're looking for a private Docker server to host your applications, or a way to host projects for customers, this project is perfect for you.
🚀 Features
- 🔧 Installs Docker Engine + Compose plugin
- 🌐 Web-based UI with Portainer Community Edition
- 🔁 Reverse proxy via NGINX (http://docker.local)
- 🔐 Certbot-ready for optional HTTPS
- 🐳 Runs directly on Debian - no container nesting
- 🔒 No desktop UI - lean, clean, and secure, all controlled within your browser
📦 Installation
On a fresh Debian 12 VM, as root
:
./install-docker-appliance.sh
The script installs:
- Docker Engine
- Docker Compose
- Portainer (listens on port
9000
) - NGINX with a reverse proxy for
docker.local
- Certbot (installed but not auto-run)
🔑 Access Portainer
Once installed:
- Go to
http://<your-server-ip>:9000
Or, if using local DNS:http://docker.local
Portainer will prompt you to create an admin user on first launch.
🔒 Optional: Enable HTTPS
To secure your web UI with HTTPS:
- Point a domain (e.g.,
docker.yourdomain.com
) to your server's IP. - Run as
root
:
certbot --nginx
Certbot will configure your reverse proxy with a free Let's Encrypt certificate.
🛠 System Requirements
- Debian 12 (bare metal or VM)
- Internet access to fetch Docker and Certbot
- Local DNS or
/etc/hosts
entry fordocker.local
(if not using a real domain)
⚠️ Security Notes
- Portainer users are managed inside Portainer - not tied to Linux system accounts.
- It is recommended to firewall access or restrict to a private network.
- Consider enabling HTTPS or using VPN if deploying on a public IP.
📄 License
Apache License 2.0 See LICENSE for details.
© Copyright
© Robbie Ferguson
https://baldnerd.com
All rights reserved.