31 lines
1.2 KiB
Bash
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 |