Architecture logicielle de tas
Apparence
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
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