# Come distribuisco la mia app Python?

https://www.seturack.com/it/base-di-conoscenza/articolo/how-do-i-deploy-my-python-app

1. Nel pannello apri **I miei server** e clicca sul tuo server.
2. Nella scheda **Panoramica** aspetta che la riga **App** dica "Python è pronto". La pagina si aggiorna da sola.
3. Apri il link nella riga **Indirizzo del sito**. La pagina di esempio mostra la versione di Python.

## Eseguire la tua app

[Connettiti via SSH](https://www.seturack.com/it/base-di-conoscenza/articolo/how-to-connect-with-ssh) e passa all'utente app:

`su - app`

`cd ~/uygulama`

Porta qui il tuo codice, per esempio con `git clone`. Installa le dipendenze nell'ambiente virtuale:

`venv/bin/pip install -r requirements.txt`

Gunicorn avvia l'oggetto `app` in `wsgi.py`. Con Flask, modifica quel file perché fornisca il tuo oggetto applicazione. Poi torna a root con `exit` e riavvia il servizio:

`systemctl restart uygulama`

Per usare un altro modulo o FastAPI, cambia la riga `ExecStart` in `/etc/systemd/system/uygulama.service` ed esegui `systemctl daemon-reload`.

## Il tuo dominio

1. Punta il record A del tuo dominio all'indirizzo IP del tuo server.
2. Come root, sostituisci il vecchio nome ovunque: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` è la parte dopo `https://` nell'indirizzo mostrato nel pannello.
3. Esegui `systemctl reload caddy`.

Caddy ottiene e rinnova il certificato da solo.

Verso l'esterno sono aperte solo la **80**, la **443** e la **22** per SSH.

**Non hai ancora un server?** [Ordina un server con Python già installato](https://www.seturack.com/it/python-vps): scegli la dimensione e paghi solo ciò che scegli.
