api-admim/start.sh

31 lines
1.2 KiB
Bash

#!/bin/bash
# --- 1. Verificação de Conectividade com o Banco de Dados ---
# Este passo garante que o PostgreSQL está acessível antes de qualquer operação que dependa dele.
# O script 'check_db.py' é executado e, em caso de falha, o processo é encerrado.
echo "Running database readiness check..."
python /code/check_db.py
# Verifica o código de saída do script Python. Se for diferente de 0 (falha), o bash sai.
if [ $? -ne 0 ]; then
echo "Database readiness check failed. Exiting."
exit 1
fi
echo "Database is ready!"
# --- 2. Executar Script de Inicialização de Dados ---
# Executa o script Python que insere permissões e papéis iniciais no banco de dados.
# Este script também deve usar a variável de ambiente URL_BD para se conectar.
echo "Executing initial permissions and roles script..."
python /code/iniciar_permissoes_e_papeis.py
echo "Permissions and roles script completed!"
# --- 3. Iniciar a Aplicação FastAPI ---
# Após garantir que o banco de dados está pronto, migrado e com dados iniciais,
# a aplicação FastAPI é iniciada usando a CLI e suas configurações de porta e workers.
echo "Starting FastAPI application using 'fastapi run'..."
fastapi run app/main.py --port 80 --workers 4