Infrastructure IA sur Oracle Cloud Free Tier — 4 vCPU ARM, 0€/mois
Déployer un VPS gratuit sur Oracle Cloud Free Tier pour héberger son écosystème IA personnel.
Temps estimé : 45 min (la friction d’inscription Oracle est réelle)
Résultat final : Un VPS Ubuntu 22.04 LTS accessible en SSH avec clé Ed25519, 4 vCPU ARM, 24 GB RAM, gratuit à vie.
Objectif
Créer un VPS Oracle Cloud Free Tier pour héberger OpenClaw et d’autres services. Cette option offre :
- Prix : $0/mois permanent
- CPU : 4 vCPU ARM Ampere A1
- RAM : 24 GB
- Localisation : EU (Frankfurt/Amsterdam)
⚠️ Note : Alternative rapide disponible → TUTO-01b Hetzner CAX11
Prérequis
- Un compte GitHub (pour cloner les tutos suivants)
- Une carte bancaire valide (nécessaire même pour Oracle Free Tier)
- Un ordinateur avec SSH installé (Linux/macOS natif, Windows : Git Bash ou WSL)
- 45 minutes de patience
Oracle demande une CB valide même pour le Free Tier. Un débit temporaire de ~$100 est effectué puis remboursé sous 3-5 jours pour vérification. Ne jamais utiliser une carte virtuelle à usage unique — le débit échoue et le compte est suspendu.
Étape 1 : Créer le compte Oracle Cloud
- Rends-toi sur cloud.oracle.com → “Start for free”
- Remplis les informations requises :
- Nom complet
- Email professionnel ou personnel
- Région home (choisir Frankfurt ou Amsterdam pour UE)
choisir la région home UNE SEULE FOIS — elle ne peut pas être changée après.
Choisir Frankfurt (eu-frankfurt-1) ou Amsterdam (eu-amsterdam-1) pour rester RGPD.
Les ressources Always Free sont disponibles dans toutes les régions mais
le compte est ancré dans la région home.
- Valide ton email
- Valide ton numéro de téléphone (code SMS)
- Saisis les informations de carte bancaire (débit temporaire ~$100)
Checklist :
- Email vérifié
- Compte actif (pas en “pending”)
- Région home = Frankfurt ou Amsterdam
- Accès à la console OCI confirmé
Étape 2 : Générer la clé SSH Ed25519
Avant de créer le VPS, générons la clé SSH qui sera déposée dessus.
# Générer la paire de clés Ed25519
# -t ed25519 : algorithme moderne (RSA déprécié)
# -C : commentaire lisible pour identifier la clé
# -f : chemin de destination
ssh-keygen -t ed25519 -C "openclaw-oracle-vps" -f ~/.ssh/openclaw_oracle
Le terminal demande une passphrase — NE PAS laisser vide.
une clé sans passphrase = n’importe qui avec accès à ton disque peut se connecter à ton VPS. Passphrase obligatoire.
# Vérifier les permissions — la clé privée doit être lisible par toi seul
ls -la ~/.ssh/openclaw_oracle
# Doit afficher : -rw------- (600)
# Si ce n'est pas le cas :
chmod 600 ~/.ssh/openclaw_oracle
# Afficher la clé PUBLIQUE à copier dans Oracle
cat ~/.ssh/openclaw_oracle.pub
# Format attendu : ssh-ed25519 AAAA... openclaw-oracle-vps
Checklist :
- Paire de clés générée dans ~/.ssh/
- Clé privée en chmod 600
- Passphrase définie (non vide)
- Clé publique affichée et copiée
Étape 3 : Provisionner l’instance ARM A1
- Connecte-toi à la console OCI
- Navigue vers Compute → Instances → Create Instance
- Remplis les champs :
- Name :
openclaw-vps - Image : Canonical Ubuntu 22.04 LTS (Minimal)
- Shape : VM.Standard.A1.Flex — OBLIGATOIRE pour Free Tier
- OCPUs : 4
- Memory (GB) : 24
- Network : laisser le VCN par défaut (créé automatiquement)
- Subnet : Public subnet
- SSH key : coller la clé publique Ed25519 copiée à l’étape 2
- Name :
si le bouton “Create” retourne “Out of host capacity”, ne pas changer de shape — répéter toutes les 10-15 minutes jusqu’à succès. Des scripts de retry automatique circulent sur GitHub mais attention : certains créent des instances payantes en cas de mauvaise config. Télécharger, lire et auditer tout script avant exécution.
Astuce de provisionnement : heure creuse EU = 3h-6h du matin (moins de contention sur les A1 Frankfurt/Amsterdam).
Checklist :
- Instance en état “Running”
- Shape = VM.Standard.A1.Flex (4 OCPU / 24 GB)
- IP publique récupérée depuis la console OCI
- OS = Ubuntu 22.04 LTS
Étape 4 : Ouvrir les ports dans OCI Security Lists
Oracle a un firewall réseau (Security Lists) au niveau hyperviseur. Il faut l’ouvrir en plus d’UFW (niveau OS).
- Console OCI → Networking → Virtual Cloud Networks
- Clique sur le VCN par défaut → Security Lists → Default Security List
- Vérifie que seul le port 22 est ouvert par défaut
- Ajoute une règle d’ingress :
- Type : UDP
- Port : 41641
- Source : 0.0.0.0/0
NE PAS ouvrir tous les ports “pour simplifier”. Le principe du moindre privilège s’applique ici aussi. Port 22 + 41641/udp = strictement nécessaire pour les tutos suivants. Le port 22 sera restreint à Tailscale uniquement dans TUTO-02.
Checklist :
- Security List : port 22 TCP entrant = présent
- Security List : port 41641 UDP entrant = ajouté
- Aucun autre port ouvert en ingress
Étape 5 : Première connexion SSH
# Connexion avec la clé dédiée
ssh -i ~/.ssh/openclaw_oracle ubuntu@IP_PUBLIQUE_ORACLE
- Ubuntu 22.04 sur Oracle : user par défaut =
ubuntu(pasroot) - La passphrase de la clé est demandée — c’est normal
Une fois connecté :
# Vérifier qu'on est sur la bonne machine
uname -m
# Doit afficher : aarch64 (ARM 64-bit)
cat /etc/os-release | grep PRETTY
# Doit afficher : Ubuntu 22.04 LTS
lors de la première connexion, SSH affiche l’empreinte (fingerprint) du serveur et demande confirmation. Taper “yes” sans vérifier = risque d’attaque MITM. Vérifier le fingerprint dans la console OCI avant de confirmer : Console OCI → Compute → Instances → ton instance → onglet “Console connection” → “View fingerprint”
Checklist :
- Connexion SSH réussie avec user
ubuntu -
uname -m→ aarch64 - Fingerprint vérifié avant confirmation
Étape 6 : Noter les informations
Crée un fichier local (NON versionné) pour la suite des tutos :
# En local sur ton poste — PAS sur le VPS
cat > ~/.openclaw-infra.env << 'EOF'
# Provider : oracle | hetzner
VPS_PROVIDER=oracle
# IP publique du VPS (sera remplacée par IP Tailscale dans TUTO-03)
VPS_IP_PUBLIC=X.X.X.X
# Chemin vers la clé SSH
VPS_SSH_KEY=~/.ssh/openclaw_oracle
# User SSH initial
VPS_SSH_USER=ubuntu
EOF
chmod 600 ~/.openclaw-infra.env
ce fichier ne doit jamais être commité. Vérifier immédiatement :
cat ~/.gitignore | grep openclaw-infra
# Si vide : echo "*.env" >> ~/.gitignore
Checklist :
- Fichier ~/.openclaw-infra.env créé
- VPS_PROVIDER=oracle
- VPS_IP_PUBLIC remplacé
- Fichier chmod 600
Dépannage
Oracle “Out of host capacity”
- Symptôme : Message d’erreur lors de la création de l’instance
- Solution :
- Répéter toutes les 10-15 minutes
- Essayer une autre région EU (Frankfurt ↔ Amsterdam)
- Heure creuse EU = 3h-6h du matin
Oracle compte bloqué après CB virtuelle
- Symptôme : “Account suspended” après inscription
- Solution : Contacter le support Oracle avec les détails de la CB
SSH “Permission denied (publickey)”
- Symptôme : Connexion refusée malgré la clé SSH
- Vérifications :
# Permissions de la clé privée ls -la ~/.ssh/openclaw_oracle # Doit être : -rw------- (600) # Si incorrect : chmod 600 ~/.ssh/openclaw_oracle - Vérifier le user SSH :
ubuntu(Oracle)
SSH “Connection refused”
- Symptôme : Le port 22 est fermé
- Vérification :
- Security List → Port 22 TCP entrant autorisé
- Instance en état “Running”
Fingerprint SSH inattendu
- Symptôme : L’empreinte affichée ne correspond pas à celle de la console Oracle
- Action : NE PAS confirmer, vérifier dans la console OCI
- Risque : Attaque MITM (Man-in-the-Middle)
Références
- Oracle Cloud Free Tier : https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm
- Oracle Always Free shapes ARM : https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm
Tuto suivant : TUTO-02 Sécuriser ton infrastructure