ThunderHosting

Déployer votre app : téléversement ou Git

Mettre en ligne une app Python, Node.js ou Java : la variable PORT, les téléversements, les déploiements Git et la commande de démarrage.

Une app exécute un programme en Python, Node.js ou Java. Ses fichiers se trouvent dans le dossier de l'app : vous les téléversez ou laissez Dash les récupérer depuis un dépôt Git.

1. Écouter sur le bon port

Votre app doit écouter sur 0.0.0.0 et sur le port indiqué dans la variable d'environnement PORT. Nous nous occupons du HTTPS : l'app elle-même parle en HTTP simple. Les offres payantes reçoivent aussi les ports PORT_2 et PORT_3.

python
import os
from flask import Flask

app = Flask(__name__)

@app.get("/")
def index():
    return {"status": "ok"}

app.run(host="0.0.0.0", port=int(os.environ["PORT"]))
JavaScript
const http = require("http");

http.createServer((req, res) => {
  res.setHeader("Content-Type", "application/json");
  res.end(JSON.stringify({ status: "ok" }));
}).listen(process.env.PORT, "0.0.0.0");

2. Téléverser vos fichiers

  1. Ouvrez l'app dans Dash et allez dans l'onglet Fichiers.
  2. Téléversez vos fichiers, ou une archive zip et décompressez-la sur place.
  3. Pour beaucoup de fichiers, utilisez SFTP : l'onglet Paramètres indique l'adresse, le nom d'utilisateur et le mot de passe.

3. Ou déployer depuis Git

  1. Ouvrez l'onglet Déploiement.
  2. Saisissez l'URL du dépôt et la branche (par exemple main).
  3. Choisissez l'accès : dépôt public, clé de déploiement (SSH) ou jeton d'accès (HTTPS).
  4. Cliquez sur Enregistrer, puis sur Déployer maintenant. L'historique en dessous montre le commit et le journal.

Les fichiers absents du dépôt, comme .env ou les téléversements, sont conservés à chaque déploiement. Gardez les secrets comme les jetons de bot dans .env, jamais dans Git.

4. Commande de démarrage et dépendances

L'onglet Démarrage & environnement contient la commande de démarrage et l'installation automatique. Si elle est active, requirements.txt ou package.json est installé avant chaque démarrage.

RuntimeCommande par défautDépendances
Pythonpython main.pyrequirements.txt (pip)
Node.jsnpm startpackage.json (npm)
Javajava -jar app.jarconstruire le jar au préalable

Si quelque chose ne fonctionne pas

  • L'onglet Console affiche la sortie et les erreurs de votre app.
  • La page « This app is not running » : l'app est arrêtée ou n'écoute pas sur PORT.
  • Un déploiement échoué : ouvrez-le dans l'historique de l'onglet Déploiement pour lire le journal.