Files
soleprint/docs/data/en/room-setup.md
2026-04-14 10:32:05 -03:00

43 lines
1.1 KiB
Markdown

# Room Setup
Two ways to create a room: CLI wizard or web wizard.
```bash
# CLI wizard
python -m init.cli myroom
# Web wizard (opens browser on :9000)
python -m init.web
# Clone from existing room
python -m init.cli myroom --from sample
```
## Layers
Each layer is optional beyond layer 0.
| Layer | What | Files |
|-------|------|-------|
| 0 | Config + Data | `config.json`, `data/*.json` |
| 1 | Docker | `soleprint/docker-compose.yml`, `.env` |
| 2 | Managed App | `docker-compose.yml`, Dockerfiles, `.env` |
| 3 | Link | `link/main.py`, `adapters/`, Dockerfile |
| 4 | Scripts | `ctrl/start.sh`, `stop.sh`, `status.sh`, `logs.sh` |
| 5 | Systems | tester environments, test scaffolds |
| 6 | Nginx | `nginx/local.conf`, `docker-compose.nginx.yml` |
![Room Layers](../graphs/room_layers.svg)
The wizard adds layers incrementally. Layer 0 is always created. Each subsequent layer builds on the previous ones but none are required.
## Build
After the wizard finishes, build the room:
```bash
python build.py --cfg myroom
```
Output goes to `gen/myroom/`. The build merges room-specific configs from `cfg/myroom/` into the base framework.