Docker
The container engine that gives an SMB its own server stack. Apache-2.0 licensed engine, Compose for multi-container services, hard isolation between apps — a concrete alternative to native installation and cloud SaaS.
Project profile
Docker
Container engine for application packaging and isolation
As of: June 1, 2026
GitHub stars
72k
Forks
19k
Open issues
3.8k
License
Apache-2.0
Latest version
v29.5.2
Language
Go
Third-party source · Wikidata (CC0)
Wikidata profile
License
proprietary license
Developer
Docker, Inc.
Initial release
2013-03-14
What is Docker?
is a container engine for Linux: it packages an application together with its dependencies into a single, portable image. At start time a container is created — an isolated runtime that behaves identically on every Linux server with the same kernel version.
The core ( Engine and Compose) is licensed under Apache-2.0 — full open source. Alongside that there are commercial products ( Desktop, Hub Pro) — for a Linux server with Engine + Compose you need none of them.
Why an SMB uses Docker
A typical SMB has 5–15 services that should not — or must not — live in the cloud: wiki, file storage, mail server, password vault, monitoring, workflows. Installed natively, these services share one Ubuntu, one Python version, one PHP extension. A single apt update can disturb several services at once.
With every service gets its own image: its own OS libraries, its own Python, its own PHP. Patches arrive per container, a BookStack update leaves Nextcloud untouched. Backup, rollback and test setup run per stack. This is the foundation of any modern SMB server architecture.
Client case study
Müller Bau GmbH
Construction company, 25 employees, own server in the office cabinet (mini PC, 64 GB RAM, 2 TB SSD). Migrated from a native Ubuntu installation to Compose two years ago. Before: repeated multi-service outages after updates. Now: 8 isolated container stacks, each with its own update cycle.
Service isolation
Configuration as code
Backups cleanly scoped
Fast rollback
Local tests = production parity
No SaaS dependency
Eight containers in production
The concrete stack at Müller Bau GmbH — eight container services on a single server, orchestrated via Compose. Each stack has its own compose.yml in the company Git.
Caddy — reverse proxy + auto-SSL
Nextcloud + PostgreSQL — file cloud
Mailcow stack — mail server
BookStack — internal wiki
Vaultwarden — password manager
Uptime Kuma — monitoring
n8n — workflow automation
Open WebUI + Ollama — local AI
Core capabilities of Docker
What defines the engine as a container platform — and which capabilities matter most in an SMB setup.
Container isolation
Docker Compose — multi-container stacks
Volumes — persistent data
Networking — own bridge networks
Image layering and cache
docker stats / logs — standard observability
Honest alternatives
If Docker is not a fit — what else?
Three alternatives for containers and isolation — each with its own profile. Honest framing here — no marketing romance.
Daemonless
Podman
Red Hat, Apache-2.0
- + No background daemon, rootless out of the box
- + Drop-in compatible with Docker commands
- − Compose support came later, less mature
- − Smaller community, fewer stack templates
System containers
LXC / LXD
Canonical, Apache-2.0
- + Full system containers (own init, multiple services)
- + Very resource efficient as a VM replacement
- − Different mental model (system vs. app containers)
- − No image hub comparable to Docker Hub
Virtualisation
Proxmox VE / KVM
Proxmox, AGPL-3.0
- + Full hardware isolation via VM
- + Separate kernel per workload possible
- − Higher resource cost (RAM, disk)
- − Update cycles like a native installation
Rule of thumb: is the pragmatic default — the largest community, the most documentation, the most out-of-the-box stacks. Podman is the right choice for RHEL/Fedora houses that want to work without a daemon. VMs stay sensible when different kernel versions or real hardware isolation are required.
Pricing
Apache-2.0 for the engine. Asterisks on Docker Desktop.
License
Docker Engine + Docker Compose: Apache-2.0, full open source. Docker Desktop (macOS/Windows GUI): proprietary, paid above 250 employees or $10M revenue. Docker Hub Pro: commercial. For a Linux server with Engine + Compose: no license fees.
Running costs
Hardware only. A mini PC with 32–64 GB RAM and 2 TB SSD is enough for a complete SMB stack — acquisition 1,500–2,500 €. Electricity: around 100 €/year. No cloud fees, no per-container licence.
Effort
Install Docker Engine: 10 minutes (apt install). First container: 5 minutes. Complete SMB setup with 8 container stacks, reverse proxy, backup routine and staff training: 5–10 consulting days.
Important for clarity: = the engine + Compose, Apache-2.0, free on Linux servers. Desktop and Hub Pro are separate, commercial products from the same company — for a classic SMB server stack you need none of them. For developers on macOS or Windows: Colima or Rancher Desktop are free alternatives to Desktop.
Backup routine — all container volumes, weekly
#!/bin/bash
# Weekly backup of all Docker volumes
BACKUP=/srv/backup/$(date +%Y-%m-%d)
mkdir -p $BACKUP
cd /srv/stack && docker compose down
for vol in $(docker volume ls -q); do
tar czf $BACKUP/$vol.tgz \
-C /var/lib/docker/volumes/$vol .
done
docker compose up -d
rclone copy $BACKUP nas:backups/server-stack/Example compose.yml — BookStack wiki with MariaDB
services:
bookstack:
image: lscr.io/linuxserver/bookstack:25.05
container_name: bookstack
environment:
- APP_URL=https://wiki.muellerbau.de
- DB_HOST=bookstack-db
- DB_USER=bookstack
- DB_PASS=${BOOKSTACK_DB_PASS}
volumes:
- ./bookstack-data:/config
depends_on:
- bookstack-db
restart: unless-stopped
networks:
- frontend
- bookstack-net
bookstack-db:
image: mariadb:11
container_name: bookstack-db
environment:
- MYSQL_ROOT_PASSWORD=${BOOKSTACK_ROOT_PASS}
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=${BOOKSTACK_DB_PASS}
volumes:
- ./bookstack-db:/var/lib/mysql
restart: unless-stopped
networks:
- bookstack-net
networks:
frontend:
external: true
bookstack-net:Related topics
Docker is the foundation — what runs on it?
is the bedrock. adds graphical management, Caddy is the in front, and are just two of the typical container apps:
Ready for the next step?
Free intro call, no strings attached. In 30 minutes you'll know whether and how AI can help your business.