Langages supportés
Les environnements disponibles, et la commande de démarrage attendue par chacun.
Le langage se choisit à la création du service et détermine l'image utilisée. Il se change ensuite depuis l'onglet Démarrage, au prix d'une réinstallation.
Environnements disponibles#
| Langage | Gestionnaire de dépendances | Commande de démarrage typique |
|---|---|---|
| Node.js | npm | node index.js |
| Python | pip | python main.py |
| Java | Maven / Gradle | java -jar app.jar |
| Go | go mod | ./mon-binaire |
| Rust | cargo | ./target/release/app |
| Deno | imports URL | deno run -A main.ts |
À noter
Installation des dépendances#
Elle se fait automatiquement au démarrage, à partir du fichier de manifeste trouvé à la racine du projet : package.json, requirements.txt, go.mod, Cargo.toml, etc. Vous n'avez pas à lancer npm install vous-même.
Compiler avant de démarrer#
Pour un langage compilé, deux approches. Soit vous versionnez le binaire déjà compilé, soit vous compilez au démarrage — c'est plus lent à chaque lancement, mais plus simple à maintenir :
# Go
go build -o app . && ./app
# Rust
cargo build --release && ./target/release/appAttention
Écouter sur le bon port#
Un service web doit écouter sur le port fourni par la plateforme, exposé dans la variable d'environnement PORT, et sur 0.0.0.0 — pas sur 127.0.0.1, sinon rien de l'extérieur ne peut l'atteindre.
const port = process.env.PORT || 3000;
app.listen(port, "0.0.0.0", () => {
console.log("à l'écoute sur " + port);
});import os
port = int(os.environ.get("PORT", 8000))
app.run(host="0.0.0.0", port=port)Voir Domaines & reverse proxy pour rendre ce service accessible sur votre propre nom de domaine.