4.5 KiB
4.5 KiB
🖥️ SERVER.md — Documentation du serveur lespotitschats
Dernière mise à jour : Avril 2026 À maintenir à jour après chaque modification majeure.
📡 Accès
| Champ | Valeur |
|---|---|
| IP locale | 192.168.1.54 |
| Hostname | lespotitschats |
| User SSH | vohorgeez |
ssh vohorgeez@192.168.1.54
🐳 Services Docker (état réel)
| Service | Image | Port exposé | URL locale | Notes |
|---|---|---|---|---|
| Jellyfin | jellyfin/jellyfin | :8096 | http://192.168.1.54:8096 | Media server, healthy |
| Nextcloud | nextcloud | :8080 | http://192.168.1.54:8080 | Cloud perso |
| Nextcloud DB | mariadb:10.6 | interne | — | Ne pas exposer |
| Gitea | gitea/gitea | :3000 / :222 | http://192.168.1.54:3000 | :222 = SSH Git |
| Portainer | portainer/portainer-ce:sts | :9443 | https://192.168.1.54:9443 | ⚠️ HTTPS uniquement |
| PostgreSQL | postgres:17 | :5432 | — | ⚠️ Exposé — à restreindre |
| mnist-app | mnist-app (local) | :8501 | http://192.168.1.54:8501 | App ML perso |
⚙️ Services système actifs
| Service | Rôle |
|---|---|
| nginx | Reverse proxy |
| fail2ban | Protection brute-force SSH |
| netdata | Monitoring infra (interface web) |
| ssh | Accès distant |
| docker | Runtime containers |
| unattended-upgrades | MAJ sécurité automatiques |
📁 Dossiers importants
/data/media → Fichiers Jellyfin (films, séries, musique)
/data/cloud → Données Nextcloud
/data/backups → Sauvegardes
/data/projects → Projets perso / code
🔄 Procédures
Redémarrer un service Docker
docker restart <nom_du_container>
# Exemples :
docker restart jellyfin
docker restart nextcloud
docker restart gitea
Voir les logs d'un container
docker logs <nom_du_container> --tail 50 -f
Arrêter / relancer tous les containers
docker stop $(docker ps -q)
docker start $(docker ps -a -q)
Ajouter un nouveau service Docker
- Crée un dossier dans
/data/projects/nom_service/ - Ajoute un
docker-compose.yml - Lance :
cd /data/projects/nom_service
docker compose up -d
- Configure nginx si tu veux un reverse proxy :
sudo nano /etc/nginx/sites-available/nom_service
sudo ln -s /etc/nginx/sites-available/nom_service /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
- Documente le service dans ce fichier.
Sauvegarder manuellement
# Nextcloud
docker exec nextcloud php occ maintenance:mode --on
tar -czf /data/backups/nextcloud_$(date +%F).tar.gz /data/cloud
docker exec nextcloud php occ maintenance:mode --off
# Gitea
docker exec gitea gitea dump -c /data/gitea/conf/app.ini
Redémarrer le serveur proprement
# Vérifier que tout est propre avant
docker ps
sudo systemctl status nginx
# Reboot
sudo reboot
Après reboot, vérifier :
docker ps # tous les containers sont up ?
curl http://localhost:8096 # Jellyfin
curl http://localhost:8080 # Nextcloud
curl http://localhost:3000 # Gitea
⚠️ Points de vigilance
postgresest exposé sur:5432→ restreindre avec un firewall ou le mettre en réseau Docker interne uniquementPortainerest en HTTPS sur:9443(pas:9000)fail2banest actif → 3 échecs SSH = bannissement
📌 TODO / Améliorations futures
- Restreindre PostgreSQL au réseau Docker interne
- Mettre en place des sauvegardes automatiques (cron)
- Configurer les sous-domaines nginx pour chaque service
- Ajouter monitoring des volumes disque