Update README.md

This commit is contained in:
2025-07-07 16:16:56 +00:00
parent 093239aa08
commit 6eecc377a8

View File

@ -1,3 +1,88 @@
# docker
# Docker Appliance
A Linux-powered Docker host appliance.
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://<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:
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.