Dia 0 — Fonaments del servidor

Debian, particions, Docker, Nginx i base reproducible: el dia dedicat a fer l'stack KM0 auditable i operable.

Introducció

El dia 0 està dedicat als fonaments: sense una base reproducible del sistema operatiu i de l'entorn de treball, qualsevol stack posterior seria fràgil i difícil d'auditar.

L'objectiu és sortir del dia amb Debian estable, disc ordenat, eines mínimes però suficients i una consola que convidi a documentar cada canvi.

Infraestructura

Pla tècnic de l'arrencada

KM0 persegueix una infraestructura operable per l'equip, sense panells propietaris opacs. La visió completa de l'arrencada inclou:

  • Sistema: VPS amb Debian actualitzat i particions que separen sistema de dades quan el projecte ho requereix (snapshots i còpies més clares).
  • Col·laboració: OpenCloud com a microserveis en imatge oficial d'OpenCloud.eu, amb volums estables (COMPOSE_PROJECT_NAME) independents del directori d'execució de Compose.
  • Perímetre: Nginx com a únic frontal HTTPS; Docker publicant HTTP només a 127.0.0.1.
  • Comunicació: Astro dockeritzat en un altre port loopback; vhosts separats per a km0digital.com i cloud.km0digital.com.
  • Observabilitat: logs rotats (json-file), runbooks amb docker compose ps, logs, pull, i còpies de volums comprimits.
  • Evolució: TLS intern en producció, còpies automatitzades i Fail2ban per jails concrets.

Disc i sistema

Provisionament del VPS i particions

Es va triar Debian per predictibilitat de paquets i documentació per a administració manual, sense panells obligatoris. El primer pas va ser revisar el layout del disc:

  • Separar dades del projecte del sistema de fitxers arrel quan calgui fer còpia per volum.
  • Definir muntatges amb criteri: /var/lib/docker pot concentrar l'I/O d'OpenCloud segons la mida del VPS.
  • Documentar convencions per distingir muntatges persistents del sistema operatiu.
El mapa exacte de particions depèn del proveïdor i de la mida contractada. Ha de quedar a la wiki o runbook del projecte, no només en aquest blog, per a recuperació davant fallades.

Paquets base

Programari base

Es va instal·lar el mínim raonable per a administració remota segura i Docker, sense pes mort:

  • Utilitats habituals: curl, editors, xarxa i diagnòstic.
  • Docker Engine amb logs rotatius a /etc/docker/daemon.json.
  • Nginx des de paquets del sistema com a frontal estable.
  • Certbot i TLS segons fase (HTTP-01 o certificat autofirmat en laboratori).

Cada peça té un rol observable: systemctl status, nginx -t, docker compose ps.

Consola

Ergonòmica del shell

Per a sessions SSH consistents es va aplicar la guia initialConfiguration del wiki:

  • Prompt de Bash llegible (ruta, estat de l'ordre, pistes visuals).
  • Historial i opcions segures que redueixen errors repetits.
  • Àlies i PATH orientats a Compose i Git sota /opt/....

Aquesta base, documentada fora del servidor, permet repetir el mateix motlle en altres VPS sense improvisar.

Eines

cursor-agent

Assistència a la línia d'ordres

Es va instal·lar cursor-agent per acostar el treball diari al flux de desenvolupament assistit: revisions, scripts auxiliars i documentació incremental des de la consola.

No substitueix la revisió humana ni els controls de l'equip, però redueix fricció en tasques repetibles (overlays de Compose, validar Nginx abans de recarregar, etc.).

Tancament del dia

Estat en acabar el dia 0

En tancar el dia, el servidor compleix tres propietats:

  1. És auditable: layout de disc i paquets coneguts.
  2. És repetible: passos principals enllaçats amb wiki i runbooks.
  3. Està llest per a Docker sense exposar serveis al públic abans d'hora.

Següent pas

Dia 1

El dia 1 materialitza OpenCloud, el virtual host del proxy i la web KM0 amb TLS. Mentrestant, explora els serveis o escriu-nos si vols col·laborar.