Files
server-docs/SERVER.md

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

  1. Crée un dossier dans /data/projects/nom_service/
  2. Ajoute un docker-compose.yml
  3. Lance :
cd /data/projects/nom_service
docker compose up -d
  1. 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
  1. 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

  • postgres est exposé sur :5432 → restreindre avec un firewall ou le mettre en réseau Docker interne uniquement
  • Portainer est en HTTPS sur :9443 (pas :9000)
  • fail2ban est 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