Como hospedar aplicações Flask
- Pré-requisitos
- Conta na Square Cloud: Crie sua conta via Página de Registro (E-mail ou GitHub).
- Plano Ativo: É necessário um plano pago para realizar a hospedagem. Confira os preços aqui.
2. Configuração para Produção (Gunicorn)
Embora o Flask possua um servidor embutido (app.run()), ele não é adequado para produção. O Gunicorn permite que sua aplicação lide com múltiplas requisições simultâneas de forma eficiente.
Para que a Square Cloud direcione o tráfego corretamente, o Gunicorn deve ser configurado para ouvir na interface 0.0.0.0 e na porta 80.
Exemplo da Aplicação (app.py)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Flask rodando em produção na Square Cloud!'
if __name__ == '__main__':
# O app.run só é usado localmente
app.run(host='0.0.0.0', port=80)
3. Realizando o Deploy
- Compactação: Crie um arquivo
.zipcom seu código fonte e orequirements.txt. Não inclua pastas de cache como__pycache__ou ambientes virtuais (venv). Orequirements.txtdeve estar na raiz do projeto e contendo ao menos:
flask
gunicorn
- Upload: No Dashboard da Square Cloud, clique em enviar nova aplicação.
- Publicação Web: No menu de envio, marque a opção "Publicar na Web".
- Subdomínio: Escolha o nome para o seu subdomínio gratuito (ex:
minha-api.squareweb.app). - Comando de Início Personalizado: Para utilizar o Gunicorn, você deve definir um comando de início personalizado no momento do envio (ou no arquivo de configuração
squarecloud.app). Utilize o seguinte formato:
python -m gunicorn --bind 0.0.0.0:80 app:app
--bind 0.0.0.0:80: Expõe a aplicação na porta exigida pela plataforma.app:app: Indica que o Gunicorn deve procurar o objetoapp(o segundo "app") dentro do arquivoapp.py(o primeiro "app").
4. Domínios Personalizados (Plano Standard+)
Usuários do plano Standard ou superior podem configurar domínios próprios:
- Adicione seu domínio (ex:
api.seusite.com) na aba Network. - A Square Cloud gerencia automaticamente o SSL/HTTPS, garantindo que sua comunicação seja criptografada sem custo adicional.
5. Dicas de Otimização
- Workers: Se sua aplicação receber muito tráfego, você pode ajustar o número de workers no comando de início (ex:
--workers 3). - Variáveis de Ambiente: Utilize a aba ENV no Dashboard para armazenar
SECRET_KEY, chaves de API e URLs de banco de dados. - Logs: Monitore o terminal do Dashboard para identificar erros de inicialização ou exceções do Python em tempo real.
Atualizado em: 15/04/2026
Obrigado!
