L'offre Always Free d'Oracle Cloud vous donne un petit serveur sans coût mensuel. La passerelle y tient à l'aise : elle n'a besoin d'aucun serveur de base de données ni d'aucun autre service, et elle tourne sur les processeurs ARM des instances gratuites.
En résumé, une fois l'instance créée, le domaine pointé vers elle et les ports 80 et 443 ouverts aux deux niveaux :
curl -fsSL https://sms-gateway.araylab.com/install.sh | sudo bash -s -- --domain sms.example.com --yes
Cette page ne couvre que ce qui est propre à Oracle. Le parcours complet (achat, clé, premier compte, activation, appairage) est dans Installation.
La console Oracle change souvent. Les étapes ci-dessous décrivent ce qu'il faut faire, pas les libellés exacts des écrans. Les ressources comprises dans l'offre gratuite et les règles d'Oracle sur les instances inactives sont fixées par Oracle : vérifiez-les sur son site avant de commencer.
Pourquoi cette offre convient
| Point | Ce que cela signifie pour vous |
|---|---|
| Processeur ARM (Ampere A1) | La passerelle est publiée pour ARM (arm64) comme pour amd64 : Docker choisit la bonne |
| Peu de mémoire nécessaire | La passerelle consomme très peu de mémoire, et rien d'autre ne tourne à côté, hormis un petit serveur HTTPS |
| Rien à compiler | La passerelle est téléchargée prête à l'emploi |
| Joignable depuis internet | Les téléphones se connectent de partout, 4G comprise, en HTTPS |
Étape 1 : créer l'instance
Dans la console Oracle, créez une instance de calcul :
- Forme (shape) : une forme Ampere A1 (ARM), la plus généreuse de l'offre gratuite. Une forme
x86gratuite fonctionne aussi, mais elle est bien plus modeste. - Image : un Ubuntu ou un Oracle Linux récent. La passerelle ne dépend pas de la distribution.
- Clé SSH : conservez la clé proposée à la création, elle vous servira pour vous connecter.
Notez l'adresse IP publique de l'instance.
Étape 2 : ouvrir les ports, à deux niveaux
C'est ce qui coince le plus souvent sur Oracle Cloud : le trafic est filtré deux fois, et un port doit être ouvert aux deux niveaux pour être joignable.
| Niveau | Où | Quoi ouvrir |
|---|---|---|
| Le réseau virtuel (Security List ou Network Security Group) | Console Oracle, réseau de l'instance, règles entrantes | TCP 80 et 443 depuis 0.0.0.0/0 |
| Le pare-feu de l'instance | Sur l'instance elle-même, en SSH | TCP 80 et 443 |
Sur les images Ubuntu d'Oracle, le pare-feu local est généralement fait de règles iptables
enregistrées :
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save
Sur Oracle Linux, c'est firewalld :
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
Ce sont des commandes du système d'exploitation, pas de la passerelle. Si un port semble ouvert dans la console mais reste injoignable, c'est presque toujours le pare-feu de l'instance.
N'ouvrez pas le port 8080. En mode domaine, la passerelle n'écoute qu'à l'intérieur de l'instance ; le serveur HTTPS placé devant elle est la seule chose exposée, sur 80 et 443. Le port 80 doit rester ouvert même si tout le trafic utile passe en HTTPS : il sert à obtenir et à renouveler le certificat.
Étape 3 : le nom de domaine
Créez un enregistrement DNS A qui pointe vers l'adresse IP publique de l'instance (un sous-domaine
comme sms.votre-entreprise.com suffit), puis vérifiez :
dig +short sms.example.com
La réponse doit être l'adresse IP de l'instance. Un nom de domaine est indispensable ici : sans lui, il ne reste que le mode réseau local, qui suppose des téléphones sur le même réseau que la machine, ce qui n'est jamais le cas pour une instance cloud.
Étape 4 : installer
En SSH sur l'instance (l'utilisateur est ubuntu ou opc selon l'image) :
curl -fsSL https://sms-gateway.araylab.com/install.sh | sudo bash -s -- --domain sms.example.com --yes
Le script installe Docker, vérifie que le domaine pointe vers l'instance, démarre la passerelle et son
serveur HTTPS, puis affiche l'adresse du tableau de bord et le code d'installation
(sms-gateway setup-code le réaffiche tant qu'aucun compte n'existe). Toutes les options de la
commande, avec leurs valeurs par défaut, sont dans
Installation.
Vérifiez :
sms-gateway status
curl -fsS https://sms.example.com/health
Ouvrez ensuite https://sms.example.com et poursuivez avec
Installation, étape 4.
Si le certificat n'est pas obtenu
Le navigateur signale un certificat invalide, ou le site ne s'ouvre pas en HTTPS. Lisez les journaux du serveur HTTPS :
sms-gateway logs caddy
Dans presque tous les cas, le port 80 est fermé à l'un des deux niveaux de l'étape 2, ou le domaine
ne pointe pas encore vers l'instance. Corrigez la cause, puis sms-gateway restart.
Mettre vos données à l'abri
- Oracle peut récupérer une instance gratuite qu'il juge inactive, selon les conditions de son offre. Gardez une sauvegarde hors de l'instance.
- La sauvegarde automatique reste sur l'instance. La passerelle sauvegarde sa base chaque nuit, mais sur l'instance elle-même : copiez régulièrement une sauvegarde ailleurs, voir VPS (sauvegarder hors de la machine) et Sauvegarde et restauration.
- Pour passer plus tard sur une autre machine, voir Changer de serveur.
Récapitulatif des commandes
# Sur l'instance, après avoir ouvert 80 et 443 aux deux niveaux et configuré le DNS
curl -fsSL https://sms-gateway.araylab.com/install.sh | sudo bash -s -- --domain sms.example.com --yes
# Vérifier
sms-gateway status
curl -fsS https://sms.example.com/health
sms-gateway logs
# Plus tard
sms-gateway update
sms-gateway backup