0 Votes

Code source wiki de Serveur principal

Version 3.1 par john le 2026/09/18 21:16

Masquer les derniers auteurs
john 1.1 1 = Serveur principal =
john 3.1 2 {{info}}
3 Pages détaillées : [[Reverse proxy>>Wiki Batcave John.Infrastructure.ServeurPrincipal.ReverseProxy.WebHome]] · [[Dawarich>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Dawarich.WebHome]] · [[Immich>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Immich.WebHome]] · [[Dépannage>>Wiki Batcave John.Infrastructure.ServeurPrincipal.Depannage.WebHome]]
4 {{/info}}
john 1.1 5 == Système ==
6
7 |=Élément|=Valeur
8 |OS|Debian 13
9 |Noyau|Mainline (dépôt Zabbly)
10 |Disque système|NVMe
11 |Exposition|Internet, via SWAG
12
13 == Services ==
14
15 === Infrastructure ===
16
17 |=Service|=Rôle
18 |SWAG|Reverse proxy, certificat wildcard Let's Encrypt
19 |Authelia|Authentification unique
20 |CrowdSec|Détection d'attaques, bouncer nginx, captcha Turnstile
21 |DuckDNS|Mise à jour du DNS dynamique
22 |Portainer CE (LTS)|Gestion des stacks
23 |docker-socket-proxy|Accès filtré à l'API Docker
24 |Watchtower|Mise à jour automatique des images
25 |Glances|Supervision
26
27 === Productivité ===
28
29 |=Service|=Rôle
30 |Nextcloud|Notes, veille
31 |XWiki|Wiki
32 |Joplin Server + client web|Notes
33 |Passbolt|Mots de passe
34 |Vikunja|Tâches
35 |n8n|Automatisation
36 |code-server|Éditeur dans le navigateur
37 |Wallos|Suivi des abonnements
38
39 === Veille et lecture ===
40
41 |=Service|=Rôle
42 |SearXNG|Métamoteur
43 |Flus|Veille RSS
44 |Wallabag|Lecture différée
45 |changedetection.io|Surveillance de pages
46
47 === Médias ===
48
49 |=Service|=Rôle
50 |Immich|Photos et vidéos, sans machine-learning
51 |Jellystat|Statistiques Jellyfin
52 |Castopod|Podcast (test)
53 |aax2mp3|Conversion de livres audio
54
55 === Localisation ===
56
57 |=Service|=Rôle
58 |Dawarich|Historique de localisation
59 |Photon|Géocodage inverse local pour Dawarich
60
61 === Réseau et outils ===
62
63 |=Service|=Rôle
64 |web-check|Analyse de sites
65 |networking-toolbox|Outils réseau
66 |Sshwifty|Client SSH web
67 |copyparty|Partage de fichiers
68 |Dashy|Tableau de bord
69 |github-readme-stats|Statistiques GitHub pour Dashy
70
71 == Outils système ==
72
73 Plakar, Lynis, tmux, htop, fzf, zoxide, yazi, ripgrep, fd-find, jq, glow, ffmpeg, 7zip, poppler-utils, ImageMagick, mkcert.
74
75 == Configuration ==
76
77 === Réseau Docker partagé ===
78
79 Tous les services publiés sont sur un réseau externe commun avec SWAG :
80
81 {{code language="bash"}}
82 docker network create proxy
83 {{/code}}
84
85 Dans chaque stack :
86
87 {{code language="yaml"}}
88 networks:
89 proxy:
90 external: true
91 {{/code}}
92
93 === SWAG ===
94
95 * Le ##proxy.conf## inclus déclare déjà ##proxy_http_version##, ##Upgrade##, ##Connection## et ##proxy_read_timeout##. Les redéclarer dans un proxy-conf provoque l'erreur nginx « directive is duplicate ».
96 * Pour une API appelée par une application mobile, séparer un bloc ##location /api## sans l'include Authelia.
97
98 === CrowdSec : captcha Turnstile ===
99
100 Les variables se placent sur le service **swag** (le bouncer est un mod de SWAG), pas sur le service crowdsec :
101
102 {{code language="yaml"}}
103 environment:
104 - CROWDSEC_CAPTCHA_PROVIDER=turnstile
105 - CROWDSEC_SITE_KEY=<SITE_KEY>
106 - CROWDSEC_SECRET_KEY=<SECRET_KEY>
107 {{/code}}
108
109 === Authelia ===
110
111 Authelia ne recharge pas sa configuration à chaud :
112
113 {{code language="bash"}}
114 docker restart authelia
115 {{/code}}
116
117 === Watchtower ===
118
119 Le projet d'origine ##containrrr/watchtower## est archivé depuis décembre 2025. Remplacement direct par le fork maintenu, sans changer la configuration :
120
121 {{code language="yaml"}}
122 image: nickfedor/watchtower:latest
123 {{/code}}
124
125 Exclure un conteneur de la mise à jour automatique :
126
127 {{code language="yaml"}}
128 labels:
129 - com.centurylinklabs.watchtower.enable=false
130 {{/code}}
131
132 À appliquer aux bases de données, à SWAG, à Authelia et à CrowdSec.
133
134 === Portainer ===
135
136 * Portainer ne gère pas ##build: .## dans une stack (le contexte pointe vers un dossier temporaire). Construire l'image sur l'hôte, puis la référencer par son nom.
137 * Derrière le reverse proxy, un redéploiement long renvoie un 504 alors qu'il aboutit. Utiliser l'accès direct en local : ##https:~/~/<IP_SERVEUR>:9443##.
138
139 === Services système inutiles ===
140
141 Sur un serveur sans NFS, iSCSI ni bureau :
142
143 {{code language="bash"}}
144 sudo systemctl disable --now rpcbind open-iscsi nvmf-autoconnect cups bluetooth ModemManager
145 {{/code}}
146
147 Ne garder qu'un seul gestionnaire de profils d'énergie : ##tuned## ou ##power-profiles-daemon##.