Aller au contenu principal

Préparer un serveur sur DigitalOcean

Ce guide prépare un Droplet pour Bring Your Own Server, avec son pare-feu et son stockage de sauvegarde. Skysize installe tout le reste sur le serveur.

Chaque étape comporte deux onglets : cliquez dans Console, ou collez depuis Ligne de commande. Votre choix s'applique à toute la page.

Les commandes utilisent l'outil en ligne de commande doctl de DigitalOcean sur votre propre ordinateur. Pour le configurer, exécutez doctl auth init et collez un jeton d'API. Il vous faut aussi une clé SSH dans ~/.ssh/id_ed25519.pub.

1. Choisir vos valeurs​

Choisissez la région la plus proche de vos utilisateurs, et la taille adaptée à votre usage.

UsageSIZEvCPURAMDisque
Une branche de production et une de stagings-4vcpu-8gb48 GB160 GB
Production avec des branches de staging et de développements-8vcpu-16gb816 GB320 GB

Ce sont des forfaits Basic, avec des CPU partagés. Les forfaits dédiés General Purpose offrent des performances plus stables, mais vérifiez d'abord le disque avec doctl compute size list --format Slug,VCPUs,Memory,Disk : certains sont en dessous des 50 GB dont Skysize a besoin.

Ouvrez le panneau de contrôle DigitalOcean. Utilisez la même région à chaque étape.

2. Créer le Droplet​

Utilisez Ubuntu 24.04 pour x86. L'IPv4 publique reste la même tant que le Droplet existe. Notez-la : vos enregistrements DNS pointeront vers elle.

Cliquez sur Create → Droplets, et définissez :

ParamètreValeur
RegionLa vôtre
ImageUbuntu 24.04 (LTS) x64
SizeLe forfait de l'étape 1
AuthenticationSSH key : ajoutez la vôtre
Hostnameskysize-odoo

Cliquez ensuite sur Create Droplet.

3. Créer le pare-feu​

DirectionTypePortSources ou destinationsPourquoi
EntrantSSH22Votre adresse IPVotre accès au serveur
EntrantHTTP80All IPv4, All IPv6Certificats et redirections
EntrantHTTPS443All IPv4, All IPv6Vos sites Odoo
SortantTout TCP, UDP, ICMPTousAll IPv4, All IPv6Le pare-feu bloque tout ce qu'aucune règle n'autorise, et le serveur a besoin du trafic sortant

Skysize n'a besoin d'aucun port entrant qui lui soit propre. Laissez PostgreSQL (5432) fermé sauf si vous utilisez l'accès à la base de données en lecture seule. Si votre propre IP change, mettez à jour la règle du port 22 dans le panneau de contrôle.

  1. Ouvrez Networking → Firewalls → Create Firewall, et nommez-le skysize-odoo.
  2. Ajoutez les trois règles entrantes ci-dessus, avec votre propre adresse IP comme source pour SSH.
  3. Conservez les règles sortantes par défaut.
  4. Sous Apply to Droplets, sélectionnez votre Droplet, et cliquez sur Create Firewall.

4. Se connecter au serveur​

ssh root@YOUR_DROPLET_IP

C'est ici que vous collez la commande d'installation de Skysize.

5. Créer le stockage de sauvegarde​

Skysize n'effectue aucune sauvegarde tant qu'un projet n'a pas de cible de sauvegarde. Dans le panneau de contrôle, ouvrez Spaces Object Storage :

  1. Créez un bucket avec le listage des fichiers restreint, idéalement dans une autre région que votre Droplet.
  2. Créez une clé d'accès pour ce bucket. Copiez le secret tout de suite : il n'est affiché qu'une seule fois.

6. Définir la cible de sauvegarde​

Une fois votre projet créé, ouvrez ses Paramètres → Cible de sauvegarde, cliquez sur Ajouter une cible et renseignez :

ChampValeur
TypeCompatible S3 (Wasabi, R2, MinIO...)
BucketLe nom de votre bucket
Endpointhttps://nyc3.digitaloceanspaces.com, avec la région de votre bucket
Régionus-east-1, la valeur que la documentation de DigitalOcean indique pour les outils S3
PréfixeLe nom du projet
ID de clé d'accès et Clé d'accès secrèteLa clé de l'étape 5

Cliquez sur Tester pour la vérifier depuis votre serveur.

Envoyer des emails depuis Odoo​

DigitalOcean bloque les ports sortants 25, 465 et 587, le SMTP classique ne fonctionne donc pas depuis un Droplet. Utilisez un fournisseur d'email qui propose un autre port, comme 2525. Voir Configurer l'email sortant.

Connecter le serveur à Skysize​

Votre serveur est prêt. Suivez Configurer votre propre serveur, à partir de l'étape d'enregistrement du serveur. En bref : enregistrez-le dans le tableau de bord, connectez-vous-y en SSH et collez la commande d'installation. Le statut passe à En ligne moins d'une minute après la fin de l'installateur.

Une fois votre premier projet lancé, ajoutez votre domaine.

En cas de problème​

Le tableau de bord indique que les ports 80 et 443 ne sont pas joignables. Vérifiez les règles de pare-feu ci-dessus, et que l'IP publique indiquée dans les paramètres du serveur est bien celle que vous avez notée. Cliquez ensuite sur Vérifier à nouveau.

Le serveur reste Hors ligne. Le serveur se connecte en sortie à Skysize, aucune règle entrante ne résout donc ce problème. Exécutez ces commandes sur le serveur :

sudo systemctl status skysize-agent
sudo journalctl -u skysize-agent -n 50
nc -zv cp.skysize.io 50051

Si l'installateur ne s'est pas terminé, ou si le jeton d'enrôlement a déjà été utilisé, utilisez Régénérer le jeton d'enrôlement sur la page du serveur et relancez la commande d'installation.

Le problème persiste ? Ouvrez Assistance dans le tableau de bord et joignez la sortie de ces commandes.