Docker for Self-Hosting: A Beginner's Complete Guide
Docker is how modern self-hosting works. Here's what you need to know.
What is Docker?
Docker runs applications in isolated containers. Each container has everything it needs — no dependency conflicts.
Installing Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
Key Commands
# Run a container
docker run -d --name myapp -p 8080:80 nginx
# List containers
docker ps
# View logs
docker logs myapp
# Stop/remove
docker stop myapp
docker rm myapp
Docker Compose
Define your setup in a YAML file:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- data:/app/data
volumes:
data:
Run with: docker compose up -d
Tips
- Always use
restart: unless-stopped - Use named volumes for data
- Keep compose files in version control
That's Docker basics. Now go deploy something!