43 lines
1.1 KiB
Markdown
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` |
|
|
|
|

|
|
|
|
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.
|