# Como faço o deploy do meu app Python?

https://www.seturack.com/pt-br/base-de-conhecimento/artigo/how-do-i-deploy-my-python-app

1. No painel, abra **Meus servidores** e clique no seu servidor.
2. Na aba **Visão geral**, espere a linha **App** mostrar "Python está pronto". A página se atualiza sozinha.
3. Abra o link da linha **Endereço do site**. A página de exemplo mostra a versão do Python.

## Rodando o seu próprio app

[Conecte-se por SSH](https://www.seturack.com/pt-br/base-de-conhecimento/artigo/how-to-connect-with-ssh) e mude para o usuário app:

`su - app`

`cd ~/uygulama`

Traga seu código para cá, por exemplo com `git clone`. Instale as dependências no ambiente virtual:

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

O Gunicorn executa o objeto `app` do arquivo `wsgi.py`. Com o Flask, edite esse arquivo para que ele forneça o objeto da sua aplicação. Depois volte para o root com `exit` e reinicie o serviço:

`systemctl restart uygulama`

Para usar outro módulo ou o FastAPI, altere a linha `ExecStart` em `/etc/systemd/system/uygulama.service` e execute `systemctl daemon-reload`.

## Seu próprio domínio

1. Aponte o registro A do seu domínio para o endereço IP do seu servidor.
2. Como root, troque o nome antigo em todos os lugares: `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. O `OLD_NAME` é a parte depois de `https://` no endereço mostrado no painel.
3. Execute `systemctl reload caddy`.

O Caddy obtém e renova o certificado sozinho.

Apenas as portas **80**, **443** e **22** do SSH ficam abertas para fora.

**Ainda não tem um servidor?** [Peça um servidor com Python instalado](https://www.seturack.com/pt-br/python-vps): você escolhe o tamanho e paga só pelo que escolheu.
