preview-config.yml, optional docker-compose.preview.yml (or .yaml), and health checks so your app works with the orchestrator.
Supported frameworks
| Type | Frameworks | How it works |
|---|---|---|
| Supported | NestJS, Laravel, Go, Rust, Python | Orchestrator has built-in Docker Compose and Dockerfile templates for all five. You add preview-config.yml; the orchestrator generates docker-compose.preview.yml and optionally injects a default Dockerfile if your repo has none. |
| Custom compose | Any other stack | No built-in template. You add a repo-owned docker-compose.preview.yml (or .yaml) in the repo root. The orchestrator uses it and injects host ports for app/db. You still add preview-config.yml with required fields (e.g. framework, health_check_path, app_port, app_entrypoint). |
Example repositories
NestJS example
PostgreSQL, Redis, health/stats/admins. Supported framework (built-in template).
Laravel example
Laravel, PostgreSQL, Redis,
.env. Supported framework (built-in template).Go example
Go, PostgreSQL, Redis. Supported framework (built-in template).
Python example
FastAPI, Postgres, Redis. Supported framework (built-in template); can use repo-owned compose for custom needs.
Rust example
Rust API, Postgres, Redis. Supported framework (built-in template); can use repo-owned compose for custom needs.
What to add in your repo
-
preview-config.yml(repository root)framework:nestjs|go|laravel|rust|python.database:postgres|mysql|mongodb.health_check_path: path the orchestrator will poll (e.g./health).- Required:
app_port,app_port_env,app_entrypoint. Optional:build_commands,startup_commands,extra_services(e.g.redis),env,dockerfile.
-
docker-compose.preview.ymlordocker-compose.preview.yaml(optional for all supported frameworks)- For NestJS, Laravel, Go, Rust, or Python you can omit it and use the generated compose from the built-in template.
- To customize services or use another stack, put a repo-owned compose file with
appanddbservices; do not set host ports—the orchestrator injects them.
-
Health endpoint
- Your app must expose the path you set in
health_check_pathand return 200 when ready.
- Your app must expose the path you set in
If example repos are private or not yet published, replace repo URLs in the subpages with your own; the structure and key files are the same.