preview-config.yml, optional docker-compose.preview.yml (or .yaml), and health checks so your app works with the orchestrator.
Supported vs custom compose
| Type | Frameworks | How it works |
|---|---|---|
| Supported | NestJS, Laravel, Go | Orchestrator has built-in Docker Compose templates. 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 | Python, Rust, any | 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 can still add preview-config.yml for health path, env, build/startup commands. |
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. Custom compose — repo-owned
docker-compose.preview.yml.Rust example
Rust API, Postgres, Redis. Custom compose — repo-owned
docker-compose.preview.yml.What to add in your repo
-
preview-config.yml(repository root)framework:nestjs|go|laravel(for supported frameworks).database:postgres|mysql|mongodb.health_check_path: path the orchestrator will poll (e.g./health).- Optional:
build_commands,startup_commands,extra_services(e.g.redis),env,dockerfile.
-
docker-compose.preview.ymlordocker-compose.preview.yaml(optional for supported; required for Python/Rust)- For NestJS/Laravel/Go you can omit it and use the generated compose.
- For Python/Rust (or any stack without a template), put a 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.