Aller au contenu

Serveur Dédié OVH

Vue d'ensemble

Serveur dédié hébergé chez OVH pour les services web, automatisation (n8n), seedbox et VPN.

graph TB
    subgraph ovh["Serveur OVH - ovh.mangi.fr"]
        direction TB

        subgraph docker["🐳 Docker"]
            N8N[n8n<br/>Automatisation<br/>Port 5678]
            NPM[NPM<br/>Reverse Proxy<br/>80/443]
            Shlink[Shlink<br/>URLs courtes<br/>18080/18081]
            OpenVPN[OpenVPN<br/>VPN<br/>1194/UDP]
        end

        subgraph native["🔧 Services natifs"]
            Nginx[Nginx<br/>Sites PHP]
            rTorrent[rTorrent<br/>Seedbox]
        end

        subgraph db["💾 Bases de données"]
            PostgreSQL[PostgreSQL 16<br/>n8n]
            MariaDB[MariaDB 10.8<br/>Shlink + NPM]
        end
    end

    subgraph backup["☁️ Backup"]
        S3[S3 Garage<br/>LXC 133<br/>s3.mangi.fr]
    end

    Internet[🌐 Internet] --> NPM
    NPM --> N8N
    NPM --> Shlink
    N8N --> PostgreSQL
    Shlink --> MariaDB
    ovh --> |Backup quotidien| S3

Informations serveur

Propriété Valeur
Hébergeur OVH
Hostname ovh
Domaine ovh.mangi.fr
IP publique 2001:41d0:a:6309::1 (IPv6)
Port SSH 51372
OS Debian 11 (Bullseye)

Spécifications matérielles

Ressource Valeur
CPU Intel Atom N2800 @ 1.86GHz
Cores 4 (2 cores × 2 threads)
RAM 3.8 GB
Stockage 1.8 TB (47% utilisé - 817 GB)
Swap 512 MB

Accès

SSH

ssh -p 51372 root@ovh.mangi.fr

Utilisateurs système

User Home Usage
root /root Administration
debian /home/debian Utilisateur standard
jeremie /home/jeremie Seedbox (rTorrent)

Services Docker

8 conteneurs actifs gérés via Docker Compose.

n8n (Automatisation)

  • Conteneurs : withpostgres-n8n-1, withpostgres-postgres-1
  • Port : 5678
  • Compose : /root/docker/n8n-hosting/docker-compose/withPostgres/docker-compose.yml
  • Base de données : PostgreSQL 16

Nginx Proxy Manager

  • Conteneurs : docker-npm-app-1, docker-npm-db-1
  • Ports : 80, 81, 443
  • BDD : MariaDB Aria
  • Conteneurs : docker-shlink_shlink_1, docker-shlink_shlink-web-client_1, docker-shlink_database_1
  • Ports : 18080 (API), 18081 (Web UI)
  • Compose : /home/debian/docker/docker-shlink/docker-compose.yaml
  • BDD : MariaDB 10.8

OpenVPN

  • Conteneur : openvpn
  • Port : 1194/UDP
  • Image : kylemanna/openvpn

Tableau récapitulatif

Service Conteneur Port État
n8n withpostgres-n8n-1 5678 ✅ Running
PostgreSQL withpostgres-postgres-1 5432 (interne) ✅ Healthy
NPM docker-npm-app-1 80, 81, 443 ✅ Running
NPM DB docker-npm-db-1 3306 (interne) ✅ Running
Shlink docker-shlink_shlink_1 18080 ✅ Running
Shlink UI docker-shlink_shlink-web-client_1 18081 ✅ Running
Shlink DB docker-shlink_database_1 3306 (interne) ✅ Running
OpenVPN openvpn 1194/UDP ✅ Running

Services natifs (systemd)

Nginx (hôte)

Serveur web natif pour sites PHP legacy.

Sites configurés : | Domaine | Port | Root | |---------|------|------| | rbnb.mangi.fr | 5480 | /var/www/rbnb.mangi.fr | | tgtg.top | 5380 | /var/www/tgtg.top |

rTorrent (Seedbox)

  • Service : rtorrent@jeremie.service
  • User : jeremie
  • Ports : 20127-21627 (torrent), 21388 (SCGI)
  • Config : /home/jeremie/.rtorrent.rc
  • Répertoire torrents : /home/jeremie/torrents/rtorrent
  • Watch directory : /home/jeremie/rwatch/

Autres services

  • FileBrowser : Port 12633 (localhost)
  • Exim4 : Port 25 (mail local)

Ports en écoute

Port Service Protocole
51372 SSH TCP
80 NPM (HTTP) TCP
81 NPM (Admin) TCP
443 NPM (HTTPS) TCP
1194 OpenVPN UDP
5380 Nginx (tgtg.top) TCP
5480 Nginx (rbnb.mangi.fr) TCP
5678 n8n TCP
18080 Shlink API TCP
18081 Shlink Web TCP
21388 rTorrent RPC TCP

Structure des fichiers

/root/
└── docker/
    └── n8n-hosting/
        └── docker-compose/
            └── withPostgres/
                └── docker-compose.yml

/home/debian/
└── docker/
    └── docker-shlink/
        └── docker-compose.yaml

/home/jeremie/
├── .rtorrent.rc          # Config rTorrent
├── torrents/rtorrent/    # Fichiers téléchargés
├── rwatch/               # Watch folder torrents
├── .sessions/            # Sessions rTorrent
└── ownfoil/              # Autre projet Docker
    └── docker-compose.yml

/var/www/
├── rbnb.mangi.fr/        # Site RBNB
└── tgtg.top/             # Site TGTG

Commandes utiles

Docker

# État des conteneurs
docker ps

# Logs n8n
docker logs -f withpostgres-n8n-1

# Redémarrer n8n
cd /root/docker/n8n-hosting/docker-compose/withPostgres && docker compose restart

# Redémarrer Shlink
cd /home/debian/docker/docker-shlink && docker compose restart

Seedbox

# État rTorrent
systemctl status rtorrent@jeremie

# Redémarrer rTorrent
systemctl restart rtorrent@jeremie

# Voir les torrents actifs
ls -la /home/jeremie/torrents/rtorrent/

Nginx

# Test config
nginx -t

# Reload
systemctl reload nginx

# Logs
tail -f /var/log/nginx/access.log

Maintenance

Mises à jour Docker

# Mettre à jour les images
docker compose pull

# Recréer les conteneurs
docker compose up -d

# Nettoyer les anciennes images
docker image prune -a

Backups recommandés

  1. n8n : /root/docker/n8n-hosting/ + volume PostgreSQL
  2. Shlink : /home/debian/docker/docker-shlink/ + volume MariaDB
  3. Sites web : /var/www/
  4. Configs Nginx : /etc/nginx/

Monitoring

Espace disque

df -h /
# Actuellement : 817 GB / 1.8 TB (47%)

Mémoire

free -h
# RAM : 1.2 GB / 3.8 GB utilisé
# Swap : 419 MB / 512 MB utilisé (attention!)

Processus

htop
docker stats

Backup automatisé

Les services Docker sont sauvegardés automatiquement vers S3 Garage (LXC 133) avec une stratégie GFS.

Type Rétention Déclencheur
daily 7 derniers Tous les jours 03:00
weekly 4 derniers Dimanche
monthly 6 derniers 1er du mois
yearly 2 derniers 1er janvier

Script : /root/scripts/backup-docker-s3.sh

# Vérifier le dernier backup
tail -50 /var/log/backup-docker.log

# Lister les backups disponibles
s3cmd ls s3://backup-ovh/

# Restaurer un dump PostgreSQL (n8n)
s3cmd get s3://backup-ovh/daily/YYYYMMDD_030000/n8n-postgres-*.sql /tmp/
cat /tmp/n8n-postgres-*.sql | docker exec -i withpostgres-postgres-1 psql -U jeremie

Voir ovh-backup-s3.md pour la documentation complète.

Notes

  • Swap élevé : La swap est utilisée à 82%, surveiller la mémoire
  • Port SSH non standard : 51372 (sécurité)
  • IPv6 uniquement : L'IP publique est en IPv6
  • Swizzin : Installation seedbox avec rTorrent/ruTorrent
  • Backup S3 : Sauvegarde quotidienne automatisée vers Garage S3