Docker Compose & Nginx Config Generator

Skip searching for a template — build a working config from a guided form.

Runs in your browserNo sign-up required
docker-compose.yml

Two Config Files Most Developers Write From Memory (Badly)

A basic app-plus-database docker-compose.yml and an Nginx reverse-proxy config are two of the most commonly needed, least often perfectly-remembered config files in web development — most developers end up searching for an old project or a Stack Overflow answer to copy from. This tool builds both from a short guided form instead, correctly wired (service dependencies, environment variables, a working connection string, proper WebSocket-friendly proxy headers) every time.

Frequently Asked Questions

Will the generated docker-compose.yml work as-is?

It assumes your app has a Dockerfile in the same directory (`build: .`) — you'll still need that, since it's specific to your app's language and setup. The compose file itself handles the service wiring: ports, environment variables, the database service, and a DATABASE_URL pointed at it.

Do I need to change the default database password?

Yes, always — the generated password is a placeholder. Replace it before deploying anywhere beyond your own local machine, ideally by moving it into an environment variable or secrets file rather than committing it directly into docker-compose.yml.

Does the Nginx config actually set up SSL certificates?

No — it generates the config block pointing at where Let's Encrypt certificates are typically stored, but you still need to run Certbot (or your certificate provider's equivalent) separately to actually obtain and install the certificates at those paths.

What does client_max_body_size control?

The maximum size of a request body Nginx will accept before rejecting it — this matters if your app accepts file uploads. The default Nginx limit (1MB) is too small for most upload features, which is why it's exposed as a setting here.