Skip to content

Docker

Docker powers the majority of services in my homelab. From media servers to monitoring stacks, almost everything runs in containers.

My Setup

Environment Overview

  • Runtime: Docker CE with Compose v2
  • Management: Portainer for visualization, CLI for everything else
  • Networking: Custom bridge networks with macvlan where needed
  • Storage: Bind mounts to organized directory structures

Topics

Guide Description Status
Getting Started Docker installation and base configuration In Progress
Compose Patterns Reusable docker-compose patterns Planned
Networking Bridge, macvlan, and multi-host networking Planned
Self-Hosted Apps Deploying common self-hosted services Planned
Troubleshooting Common issues and solutions Planned

Quick Reference

Common Commands

# View running containers with resource usage
docker stats --no-stream

# Clean up unused resources
docker system prune -af --volumes

# View logs with timestamps
docker logs -f --tail 100 --timestamps <container>

# Exec into a running container
docker exec -it <container> /bin/sh

# Restart all compose services
docker compose up -d --force-recreate

My Standard Compose Structure

/opt/docker/
├── appname/
│   ├── docker-compose.yml
│   ├── .env
│   └── config/
│       └── ... (app-specific configs)