Docker Compose Builder
Describe your services in a form and get a valid, correctly-indented docker-compose.yml — generated in your browser.
Service: web
Service: db
docker-compose.yml
services:
web:
image: nginx:latest
ports:
- "80:80"
depends_on:
- db
restart: unless-stopped
db:
image: postgres:16
volumes:
- pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=app
restart: unless-stopped
volumes:
pgdata:
About this tool
docker-compose.yml is easy to break: YAML is indentation-sensitive, an unquoted port mapping can be misread, and a mis-nested key can stop a whole stack from coming up. This builder lets you describe services in a form and generates correctly-indented, spec-compliant Compose YAML you can drop straight into a project.
Add as many services as you need and configure the image, published ports, bind-mount and named volumes, environment variables, a restart policy, a command override and depends_on relationships. The tool quotes port mappings so values like 8080:80 aren't misread, collects named volumes into the top-level volumes: block automatically, and follows the modern Compose specification (no obsolete version: key). The YAML updates live and everything is generated in your browser.
How to use
Add your services
Create a service per container and set its image (e.g. nginx:latest, postgres:16).
Configure each service
Add ports, volumes, environment variables, a restart policy and depends_on links.
Watch the YAML build
The docker-compose.yml regenerates live as you edit, with named volumes gathered automatically.
Copy or download
Copy the YAML or download docker-compose.yml ready to run with docker compose up.
Per-service options
| Field | Compose key |
|---|---|
| Image | image: |
| Ports | ports: (quoted host:container mappings) |
| Volumes | volumes: (bind mounts + named volumes) |
| Environment | environment: (KEY=value list) |
| Restart | restart: (no / always / on-failure / unless-stopped) |
| Depends on | depends_on: (startup ordering) |
Follows the current Compose spec — no obsolete version key.
Frequently asked questions
Related tools
Subnet Calculator
Calculate IPv4 and IPv6 subnets from CIDR notation — network address, broadcast, usable host range, subnet mask, wildcard mask, and a visual bit map
Programmer Calculator
Multi-base calculator with simultaneous binary, octal, decimal and hex views, bitwise AND/OR/XOR/NOT/shift operations, and IEEE 754 float inspection
Database Connection String Builder
Build and URL-encode connection strings for PostgreSQL, MySQL, MongoDB, Redis and SQLite from a simple form — with JDBC and key/value variants
NGINX Config Builder
Generate an NGINX server config from a visual form — reverse proxy, static hosting, SPA fallback, SSL termination and HTTP-to-HTTPS redirects
Regex Explainer
Break down a regular expression into a plain-English, token-by-token explanation with a live match preview and a library of common patterns