ThunderHosting

Deploy della tua app: upload o Git

Mettere online un'app Python, Node.js o Java: la variabile PORT, gli upload, i deploy da Git e il comando di avvio.

Un'app esegue un programma in Python, Node.js o Java. I suoi file si trovano nella cartella dell'app: li carichi tu oppure Dash li scarica da un repository Git.

1. Ascolta sulla porta giusta

La tua app deve ascoltare su 0.0.0.0 e sulla porta indicata nella variabile d'ambiente PORT. All'HTTPS pensiamo noi: l'app parla semplice HTTP. I piani a pagamento ricevono anche le porte PORT_2 e 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. Carica i tuoi file

  1. Apri l'app in Dash e vai alla scheda File.
  2. Carica i tuoi file, oppure un archivio zip ed estrailo lì.
  3. Per molti file usa SFTP: la scheda Impostazioni mostra indirizzo, nome utente e password.

3. Oppure esegui il deploy da Git

  1. Apri la scheda Deploy.
  2. Inserisci l'URL del repository e il branch (per esempio main).
  3. Scegli l'accesso: repository pubblico, deploy key (SSH) o token di accesso (HTTPS).
  4. Clicca su Salva, poi su Esegui deploy. La cronologia sotto mostra il commit e il log.

I file che non sono nel repository, come .env o i caricamenti, restano a ogni deploy. Tieni i segreti come i token dei bot in .env, mai in Git.

4. Comando di avvio e dipendenze

La scheda Avvio & ambiente contiene il comando di avvio e l'installazione automatica. Se è attiva, requirements.txt o package.json vengono installati prima di ogni avvio.

RuntimeComando predefinitoDipendenze
Pythonpython main.pyrequirements.txt (pip)
Node.jsnpm startpackage.json (npm)
Javajava -jar app.jarcompila prima il jar

Se qualcosa non funziona

  • La scheda Console mostra l'output e gli errori della tua app.
  • La pagina «This app is not running»: l'app è ferma o non ascolta su PORT.
  • Un deploy non riuscito: aprilo nella cronologia della scheda Deploy per leggere il log.