Applications
Push a directory. The platform works out how to build it.
Detection reads the files you actually shipped and never guesses: a project it cannot justify building is refused with the reason, and a development server is refused by name.
- DockerfileDockerfile at the root — used exactly as written
- Next.jsnext in dependencies; standalone output when configured
- Next.js (static export)output: "export" — served by Nginx
- Static site (Vite)vite plus a build script
- Static site (Create React App)react-scripts plus a build script
- Node.js servicea start script that is not a dev server
- Python (ASGI via uvicorn)FastAPI or uvicorn and a top-level app
- Python (WSGI via gunicorn)Flask or gunicorn and a top-level app
- Static siteindex.html at the root, nothing to build
- Environment variables, with secrets masked and every reveal audited
- Build logs and runtime logs from the running container
- Health-check path for the readiness gate
- Stop, restart, or roll back to an earlier deployment
- Deploy a prebuilt image instead of source