MB Networks
CFG-01 · Containers
Add services, set images, ports, volumes, and environment variables, and get a ready-to-run compose.yaml — built live as you type.
compose.yaml
Generates the modern Compose spec (no top-level version: key — it's been optional/deprecated since Compose v2). Validate locally with docker compose config before relying on it.
Almost all Compose errors are indentation and quoting, not logic — YAML is whitespace-sensitive, and a port mapping like 8080:80 needs to be quoted the moment it looks like it could be parsed as a number or a time (some parsers misread unquoted 3000:3000). Building the file from a form sidesteps both: every value is quoted correctly and indentation is generated, not typed.
Both ports and volumes read host:container — the number or path on your machine comes first, the number or path inside the container comes second. 8080:80 means "my machine's port 8080 reaches the container's port 80"; get it backwards and the service is unreachable at the URL you expect, with no error at all.
No — the top-level version: key is optional and has been deprecated since the Compose Specification merged v2 and v3 into one schema. Modern docker compose ignores it if present and works fine without it, which is why this generator omits it.
A bind mount (./data:/app/data) maps a real path on your machine into the container — you can see and edit the files directly. A named volume (data:/app/data, with data declared separately) is managed by Docker itself, lives outside your project folder, and is the more portable choice for data you don't need to browse by hand.
It restarts the container automatically after a crash or a Docker daemon restart, but leaves it stopped if you stopped it manually with docker compose stop. That's usually the right default for anything long-running — always will fight you by restarting a container you deliberately stopped.
Related tools
DevOps
Dockerfile Generator
Generate a Dockerfile from a form — base image, workdir, copy and run steps, exposed ports, and an optional multi-stage build. No account, nothing leaves your browser.
Open →DevOps
Kubernetes Manifest Generator
Generate a Kubernetes Deployment, Service, and optional Ingress manifest from a form — replicas, resource limits, probes, and env vars. No account, nothing leaves your browser.
Open →DevOps
Crontab to systemd Timer Converter
Convert a crontab line into a systemd .service + .timer pair, including the two-OnCalendar-line trick for cron's day-of-month/day-of-week OR behavior. No account, nothing leaves your browser.
Open →DevOps
Firewall Rule Builder
Build firewall rules from a form and get the equivalent nftables ruleset, iptables commands, and ufw commands, side by side. No account, nothing leaves your browser.
Open →DevOps
.gitignore Generator
Build a merged .gitignore from language, editor, and OS templates — Node, Python, Go, Rust, Java, VSCode, JetBrains, macOS, Windows, and more. No account, nothing leaves your browser.
Open →DevOps
Reverse Proxy Config Generator
Generate a reverse proxy config for Caddy or nginx from one form — domain, upstream, TLS, WebSocket upgrade, and security headers. No account, nothing leaves your browser.
Open →