03-paths-files-and-state.md (1947B)
1 # Caminhos, ficheiros e estado 2 3 [← Índice](README.md) 4 5 ## Caminhos canónicos no servidor 6 7 | Caminho | Função | Gerado / versionado | 8 |---------|--------|---------------------| 9 | `/var/lib/runv/users.json` | Lista de metadados dos membros (fonte para `build_directory.py`) | **Gerado** na primeira operação que use; **nunca** commitar com dados reais | 10 | `/var/lib/runv/users.lock` | Lock `flock` para escrita segura em `users.json` | Gerado em uso | 11 | `/var/lib/runv/entre-queue/` | Fila de pedidos JSON do SSH `entre` | Gerado; ficheiros por `request_id` | 12 | `/var/log/runv/entre.log` | Log do fluxo `entre` (configurável via TOML) | Gerado | 13 | `/opt/runv/terminal/` | Instalação do módulo `terminal/` (`setup_entre.py`) | Cópia a partir do repo; `config.toml` gerado localmente | 14 | `/etc/runv-email.json` | Estado público de configuração de email | Gerado por `configure_mailgun.py` | 15 | `/etc/runv-email.secrets.json` | Segredos (API keys, etc.) | Gerado; **0600**, root; **nunca** commitar | 16 | `/var/www/runv.club/html` | DocumentRoot **predefinido** em produção (`genlanding.py`, default `--landing-document-root` em `create_runv_user.py`) | Gerado no servidor; não é o mesmo que `site/public/` no clone | 17 18 **Evidência:** `docs/04-bootstrap-and-base-system.md`, `terminal/config.example.toml`, defaults em `site/genlanding.py`, `site/build_directory.py`, `scripts/admin/create_runv_user.py`. 19 20 ## No clone do Git 21 22 - **`site/public/data/members.json`:** no repositório deve permanecer lista vazia `[]` (placeholder); dados reais vêm de `build_directory.py` no deploy. 23 - **`terminal/config.toml`:** no `.gitignore`; usar `config.example.toml` + `gen_config_toml.py` / `setup_entre.py`. 24 25 ## O que nunca commitar 26 27 - `runv-email.secrets.json` (qualquer cópia) 28 - `users.json` com dados reais 29 - Ficheiros JSON da fila com PII 30 - Chaves privadas SSH 31 32 Próximo: [04-bootstrap-and-base-system.md](04-bootstrap-and-base-system.md).