From 6eecc377a8ddb04fc96f0e5634093e4d4d9e95ff Mon Sep 17 00:00:00 2001 From: baldnerd Date: Mon, 7 Jul 2025 16:16:56 +0000 Subject: [PATCH] Update README.md --- README.md | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 87 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 63b777f..36c7766 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,88 @@ -# docker +# Docker Appliance -A Linux-powered Docker host appliance. \ No newline at end of file +A simple, powerful Debian-based Docker server with a beautiful web interface powered by [Portainer](https://www.portainer.io/). 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`: + +```bash +./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://: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: + +1. Point a domain (e.g., `docker.yourdomain.com`) to your server's IP. +2. Run as `root`: + +```bash +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 for `docker.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](./LICENSE) for details. + +--- + +## © Copyright + +© Robbie Ferguson +https://baldnerd.com +All rights reserved. \ No newline at end of file