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.
| Usage | SIZE | vCPU | RAM | Disque |
|---|---|---|---|---|
| Une branche de production et une de staging | s-4vcpu-8gb | 4 | 8 GB | 160 GB |
| Production avec des branches de staging et de développement | s-8vcpu-16gb | 8 | 16 GB | 320 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.
- Console
- Ligne de commande
Ouvrez le panneau de contrôle DigitalOcean. Utilisez la même région à chaque étape.
REGION=nyc3
NAME=skysize-odoo
SIZE=s-4vcpu-8gb
MY_IP=$(curl -4 -s https://ifconfig.me)/32
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.
- Console
- Ligne de commande
Cliquez sur Create → Droplets, et définissez :
| Paramètre | Valeur |
|---|---|
| Region | La vôtre |
| Image | Ubuntu 24.04 (LTS) x64 |
| Size | Le forfait de l'étape 1 |
| Authentication | SSH key : ajoutez la vôtre |
| Hostname | skysize-odoo |
Cliquez ensuite sur Create Droplet.
KEY=$(doctl compute ssh-key import "$NAME" --public-key-file ~/.ssh/id_ed25519.pub \
--format FingerPrint --no-header)
DROPLET_ID=$(doctl compute droplet create "$NAME" --region "$REGION" --size "$SIZE" \
--image ubuntu-24-04-x64 --ssh-keys "$KEY" --wait --format ID --no-header)
doctl compute droplet get "$DROPLET_ID" --format PublicIPv4 --no-header
3. Créer le pare-feu
| Direction | Type | Port | Sources ou destinations | Pourquoi |
|---|---|---|---|---|
| Entrant | SSH | 22 | Votre adresse IP | Votre accès au serveur |
| Entrant | HTTP | 80 | All IPv4, All IPv6 | Certificats et redirections |
| Entrant | HTTPS | 443 | All IPv4, All IPv6 | Vos sites Odoo |
| Sortant | Tout TCP, UDP, ICMP | Tous | All IPv4, All IPv6 | Le 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.
- Console
- Ligne de commande
- Ouvrez Networking → Firewalls → Create Firewall, et nommez-le
skysize-odoo. - Ajoutez les trois règles entrantes ci-dessus, avec votre propre adresse IP comme source pour SSH.
- Conservez les règles sortantes par défaut.
- Sous Apply to Droplets, sélectionnez votre Droplet, et cliquez sur Create Firewall.
doctl compute firewall create --name "$NAME" --droplet-ids "$DROPLET_ID" \
--inbound-rules "protocol:tcp,ports:22,address:$MY_IP protocol:tcp,ports:80,address:0.0.0.0/0,address:::/0 protocol:tcp,ports:443,address:0.0.0.0/0,address:::/0" \
--outbound-rules "protocol:tcp,ports:all,address:0.0.0.0/0,address:::/0 protocol:udp,ports:all,address:0.0.0.0/0,address:::/0 protocol:icmp,address:0.0.0.0/0,address:::/0"
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 :
- Créez un bucket avec le listage des fichiers restreint, idéalement dans une autre région que votre Droplet.
- 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 :
| Champ | Valeur |
|---|---|
| Type | Compatible S3 (Wasabi, R2, MinIO...) |
| Bucket | Le nom de votre bucket |
| Endpoint | https://nyc3.digitaloceanspaces.com, avec la région de votre bucket |
| Région | us-east-1, la valeur que la documentation de DigitalOcean indique pour les outils S3 |
| Préfixe | Le nom du projet |
| ID de clé d'accès et Clé d'accès secrète | La 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.