All pages
Start
What it can build
A Dockerfile is used as it is. Without one, the project is recognised and a build is generated for it.
Recognised projects
- Dockerfile
- Your Dockerfile and its
CMD. Port: the one it exposes, else 8080. - Node.js
- Node 22; npm, yarn or pnpm by lockfile; the
buildscript if there is one; started withnpm start. Port 3000. - Next.js · Vite
- As Node.js, with the build required. A Vite build is served as static files.
- FastAPI
- Python 3.12;
requirements.txtorpyproject.toml; started with uvicorn. Port 8000. - Flask · Django
- As FastAPI, started with gunicorn.
- Go
- A static binary from the root package or the single one under
cmd/. Port 8080. - Ruby
- Ruby 3.4 and
bundle install. Rails, aconfig.ruor anapp.rb. Port 3000. - PHP
- PHP 8.4 with Apache;
composer installwhen there is acomposer.json. Port 8080. - Static site
- An
index.htmland the files next to it.
The one rule
Every container receives a PORT variable and must listen on 0.0.0.0 at that port. Listening on localhost only is the most common reason a health check fails.
Overriding what was detected
A project's settings take a root directory (for a repository with several applications), a start command, a port and a health check path. Variables are available when the application runs, and during the build of a generated Dockerfile without being stored in the image.