Aller au contenu

Architecture logicielle de tas

De Loic Wiki

Architecture logicielle de tas

Cette page décrit la cartographie logique actuelle des principales briques logicielles de la machine tas.

Vue d'ensemble

  • Caddy sert de reverse proxy d'entrée publique
  • les applications sont majoritairement déployées en conteneurs Podman, souvent gérés par des services/quadlets
  • Homepage sert de portail de navigation
  • MediaWiki sert de base documentaire et de trace d'installation

Chaîne d'exposition

Le schéma général est le suivant :

  • utilisateur -> Caddy -> port local applicatif -> conteneur / service

Exemples :

  • 25680 -> 8080 -> Open WebUI
  • 25681 -> 8081 -> Dependency-Track Frontend
  • 25692 -> 8092 -> Dependency-Track API
  • 25689 -> 8090 ou 8089 -> Headscale UI / API selon le chemin
  • 25697 -> 8097 -> Homepage
  • 25698 -> 8098 -> MediaWiki

Briques de présentation

Homepage

  • portail de services
  • configuration dans `/home/loic/homepage-config`
  • lien entre vision publique et liens internes

MediaWiki

  • documentation technique
  • exemples Mermaid / PlantUML / BPMN JS
  • trace install tas et pages par brique

Hugo

Une brique de site statique a été préparée avec Hugo, générée localement puis servie par un conteneur Podman via `nginx:alpine`.

Caractéristiques :

  • sources dans `/home/loic/sites/hugo-docs`
  • génération du rendu via `./publish.sh`
  • service local sur `127.0.0.1:8100`
  • exposition publique prévue via Caddy sur `hugo.lololand.org` et `lololand.hopto.org:25700`

Documentation détaillée :

Briques LLM

Ollama

  • moteur local d'inférence LLM
  • port local 11434
  • port public 25434 protégé par basicauth

Open WebUI

  • interface d'accès aux modèles
  • exposé sur 8080 / 25680
  • dépend fonctionnellement d'Ollama

Briques productivité / plateforme

Nextcloud

  • fichiers / groupware
  • dépend de MariaDB et Redis
  • exposé sur 8096 / 25696

n8n

  • automatisation / workflows
  • exposé sur 5678 / 25678

MediaWiki

  • documentation / wiki
  • dépend de MariaDB dédiée
  • exposé sur 8098 / 25698

Briques sécurité / identité

Vaultwarden

  • gestionnaire de mots de passe
  • exposé sur 8082 / 25682

Headscale + Headscale UI

  • plan de contrôle Tailscale self-hosted
  • API sur 8089, UI sur 8090
  • route publique unifiée 25689 avec routage conditionnel

Briques supervision / observabilité

Uptime Kuma

  • supervision disponibilité
  • 8083 / 25683

Beszel

  • monitoring léger
  • hub sur 8093 / 25693
  • agent local avec socket Podman rootless en lecture seule

Briques documentaires / données

Paperless-ngx

  • GED / OCR
  • dépend de Redis
  • 8094 / 25694

Karakeep

  • bookmarks / capture web
  • dépend de Meilisearch et d'un navigateur auxiliaire
  • 8095 / 25695

Immich

  • photos / vidéos
  • dépend de Redis, Postgres et d'un composant ML ROCm
  • 8088 / 25688

Briques techniques / outillage

CyberChef

  • outils de transformation de données
  • 8091 / 25691

Social Analyzer

  • analyse OSINT / profils sociaux
  • dépend d'un hub Selenium et d'un noeud Firefox
  • 8086 / 25686

Dependency-Track

  • frontend et API distincts
  • 8081 / 25681 pour l'UI
  • 8092 / 25692 pour l'API
  • historique bundled encore visible dans l'état actuel

Réseaux internes identifiés

  • `dt-net`
  • `nextcloud-net`
  • `paperless-net`
  • `karakeep-net`
  • `mediawiki_default`
  • `immich_default`
  • `social-analyzer_default`

Volumes / persistance notables

  • `nextcloud-data`, `nextcloud-html`, `nextcloud-db`
  • `paperless-data`, `paperless-media`, `paperless-redis-data`
  • `karakeep-data`, `karakeep-meili-data`
  • `beszel-data`
  • `vaultwarden_data`
  • `uptime-kuma`
  • `n8n_data`
  • données MediaWiki dans `/home/loic/mediawiki/app` et `/home/loic/mediawiki/db`

Principe de maintenance

Lorsqu'une brique évolue, il faut mettre à jour :

  • Trace install tas
  • la page spécifique de la brique
  • la présente cartographie si l'architecture change
  • Homepage et Caddy si les points d'exposition changent