← Back to Blog

Docker For A Small Business — Generate The Compose File You Actually Need

Docker For A Small Business — Generate The Compose File You Actually Need

Docker is one of those tools that's either invisible (everything works) or catastrophic (nothing works, and the error is four layers deep). The difference, almost always, is a handful of small decisions made at the compose-file level. Volumes on the right path, restart policies set, healthchecks present, secrets not in git, Traefik labels wired so HTTPS just happens.

The Docker Generator bakes those decisions in. Pick the services your business actually runs. Static site, Node API, WordPress + database, Ghost, Postgres, Redis, n8n, Ollama for local AI, BTCPay for self-hosted crypto payments, Traefik for auto-HTTPS, a nightly S3 backup sidecar. And the tool outputs a production-shaped docker-compose.yml, a multi-stage Dockerfile for any Node workload, an .env.template, and an LLM deploy walk-through.

What the generator includes by default

Every compose entry the tool emits has:

  • restart: unless-stopped. Survives reboots without running forever if manually stopped.
  • Named volumes where state matters. No bind-mounting over /var/lib/postgresql/data and losing it on the next docker-compose down.
  • Healthchecks on every service that can return one.
  • Traefik labels that auto-fetch Let's Encrypt certs. One label = HTTPS. No manual cert juggling.
  • Separated networks. web for public traffic, internal for service-to-service. Database never exposed to the internet.
  • Environment variables referenced from .env, never hardcoded. The template includes the required vars with comments.

When compose beats Kubernetes

Most small-business writing about Docker eventually argues for Kubernetes. The Container Visualizer makes the counter-argument visual. Short version: unless you genuinely need multi-node failover, zero-downtime deploys, or you're already running K8s for other reasons, compose on a single $10/month VM does the same job with ~5% of the operational complexity.

The deploy walk-through prompt

Once you've generated the files, the tool emits a prompt that asks Claude for the full deploy path. Provisioning a Hetzner CPX21 or DO 2GB, installing Docker + ufw with only 80/443 open, cloning, filling .env, first docker compose up -d, DNS records for Let's Encrypt, and a runbook for the specific failures you'll hit (OOM, cert renewal failure, volume full).

That runbook is the piece people skip. A running stack is easy; a running stack you can debug at 11pm on a Saturday is the actual goal.

Methodology: the book-length companion is Chapter 1 of The $97 Launch, Your Digital Home Base (free hosting + domain + accessibility) for simple workloads, and Chapter 40 (netlify.toml. Security Headers and Configuration) for the config patterns. Chapter 6 of The $100 Network, The Provider Stack, is where Docker fits in a multi-site setup.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026