How to use Docker Compose Builder
Get the best out of Docker Compose Builder: every option explained, a worked example, and what to check when the output is not what you expected.
Updated July 31, 2026
What it does
Interactively click parameters to generate standard docker-compose.yml configuration setups. It runs entirely in your browser — your input never leaves your device.
Options
Every setting this tool exposes, straight from the code that validates it.
| Option | Type | Default | What it does |
|---|---|---|---|
services | list of one of: web, db, redis, node | ["web","db"] | Services to include in the compose file. Defaults to ["web","db"]. |
nginxPort | text | 80:80 | Defaults to 80:80. |
pgDb | text | app | Defaults to app. |
pgUser | text | admin | Defaults to admin. |
pgPass | text | secret_password | Defaults to secret_password. |
nodePort | text | 3000:3000 | Defaults to 3000:3000. |
redisPort | text | 6379:6379 | Defaults to 6379:6379. |
Worked example
Run these settings on the tool page:
services:["web","db"]nginxPort:80:80pgDb:apppgUser:adminpgPass:secret_passwordnodePort:3000:3000redisPort:6379:6379
You get:
version: "3.8"
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
restart: always
postgres:
image: postgres:15-alpine
environment:
POSTGRES_DB: app
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret_password
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
restart: unless-stopped
volumes:
pgdata:
Getting the result you want
Most of the control here is in the options above. If the output is not what you expected, the setting to check first is services and nginxPort — those change the shape of the output rather than the input it accepts.
Troubleshooting
- It is slow on very large input. Everything runs in your browser, so speed depends on your device. Very large inputs are best split up, or run through the API where the work happens on our servers.
Automating it
The same logic is available as a REST endpoint, so you can run it from a script, a CI job or your own app.
Bashcurl "https://api.toolsxpo.com/v1/docker-compose-builder" \ -H "Authorization: Bearer $TOOLSXPO_KEY"
It costs 1 credit per successful call. See the full endpoint reference, or try it in the playground.
Related tools
Tools covered here
Related
How to use AES Encryption
Get the best out of AES Encryption: every option explained, a worked example, and what to check when the output is not what you expected.
How to use API Mock Payload Builder
Get the best out of API Mock Payload Builder: every option explained, a worked example, and what to check when the output is not what you expected.
How to use ASCII Chart
Get the best out of ASCII Chart: every option explained, a worked example, and what to check when the output is not what you expected.
How to use ASCII to Text
Get the best out of ASCII to Text: every option explained, a worked example, and what to check when the output is not what you expected.