runv-server

server tooling for runv.club
Log | Files | Refs | README

11-daily-operations.md (2005B)


      1 # Operação diária (dia 2+)
      2 
      3 [← Índice](README.md)
      4 
      5 ## Adicionar membro
      6 
      7 1. Pedido via `entre` ou processo interno.
      8 2. `sudo python3 scripts/admin/create_runv_user.py …` (ver `--help` no servidor).
      9 3. Confirmar linha **`landing (public + bolhas): sincronizado`** ou corrigir com `genlanding.py --sync-public-only` (ou só `build_directory.py` se bastar actualizar `members.json`).
     10 
     11 ## Actualizar lista pública sem novo membro
     12 
     13 Só regenerar **`members.json`**:
     14 
     15 ```bash
     16 sudo python3 REPO/site/build_directory.py \
     17   --users-json /var/lib/runv/users.json \
     18   -o /var/www/runv.club/html/data/members.json
     19 ```
     20 
     21 Recopiar também **`site/public/`** (assets/HTML) para o DocumentRoot + `members.json`:
     22 
     23 ```bash
     24 sudo python3 REPO/site/genlanding.py --sync-public-only \
     25   --document-root /var/www/runv.club/html \
     26   --members-users-json /var/lib/runv/users.json
     27 ```
     28 
     29 (Ajustar paths ao teu DocumentRoot.)
     30 
     31 ## Após `git pull` no servidor
     32 
     33 - `sudo python3 tools/tools.py` para MOTD/skel/bin conforme alterações.
     34 
     35 ## Notícias
     36 
     37 - Colocar `.md` em `site/news/`, executar **`sudo python3 REPO/site/news/publish_news.py`** em produção. O script grava `site/public/news/` (JSON, RSS, sitemap) e, se **`/var/www/runv.club/html`** existir, invoca **`site/genlanding.py --sync-public-only`** no fim (copia `site/public/` para o DocumentRoot + `data/members.json`). Se o DocumentRoot não existir no ambiente (ex.: só clone local), aparece um AVISO com o comando manual — a publicação em `site/public/` fica feita.
     38 - **`--skip-genlanding`:** só gera ficheiros em `site/public/` sem copiar para Apache.
     39 - Ajustar paths com `--landing-document-root`, `--members-users-json` e opcionalmente `--members-homes-root` se a tua instalação divergir dos defaults.
     40 
     41 ## Wiki
     42 
     43 - Fontes em `site/wiki/` com gerador `build_wiki.py` (estrutura no repo).
     44 
     45 ## Email
     46 
     47 - Testes documentados no módulo `email/` (`send_test_mail.sh`, etc., se presentes).
     48 
     49 Próximo: [12-security-and-privacy.md](12-security-and-privacy.md).