#!/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