65 lines
1.5 KiB
Bash
Executable File
65 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
DOMAIN="${DOMAIN:-escavador.seconectai.com.br}"
|
|
COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.prod.yml}"
|
|
ENV_FILE="${ENV_FILE:-.env}"
|
|
|
|
if [[ ! -f "$COMPOSE_FILE" ]]; then
|
|
echo "Erro: $COMPOSE_FILE nao encontrado. Rode este script na raiz do projeto."
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "Erro: Docker nao encontrado. Instale Docker e Docker Compose plugin antes de continuar."
|
|
exit 1
|
|
fi
|
|
|
|
secret() {
|
|
openssl rand -base64 32 | tr -d '\n'
|
|
}
|
|
|
|
if [[ -f "$ENV_FILE" ]]; then
|
|
echo "Arquivo $ENV_FILE ja existe; mantendo credenciais atuais."
|
|
else
|
|
DB_PASSWORD="$(secret)"
|
|
JWT_SECRET="$(secret)"
|
|
|
|
cat > "$ENV_FILE" <<EOF_ENV
|
|
DB_USER=leadscraper
|
|
DB_PASSWORD=$DB_PASSWORD
|
|
DB_PORT=5433
|
|
BACKEND_PORT=8082
|
|
FRONTEND_PORT=8081
|
|
SERVER_PORT=8082
|
|
|
|
JWT_SECRET=$JWT_SECRET
|
|
JWT_EXPIRATION_MINUTES=480
|
|
API_URL=/api
|
|
APP_PUBLIC_URL=https://$DOMAIN
|
|
|
|
BUSCA_WORKER_ENABLED=true
|
|
BUSCA_WORKER_FIXED_DELAY_MS=15000
|
|
SCRAPER_HEADLESS=true
|
|
SCRAPER_TIMEOUT_MS=300000
|
|
SCRAPER_MAX_RESULTS=1000
|
|
SCRAPER_SCROLL_STAGNANT_ATTEMPTS=12
|
|
SCRAPER_DELAY_MIN_MS=900
|
|
SCRAPER_DELAY_MAX_MS=2500
|
|
OVERPASS_ENABLED=true
|
|
OVERPASS_ENDPOINT=https://overpass-api.de/api/interpreter
|
|
OVERPASS_TIMEOUT_SECONDS=90
|
|
OVERPASS_MAX_RESULTS=1000
|
|
EOF_ENV
|
|
fi
|
|
|
|
docker compose -f "$COMPOSE_FILE" up -d --build
|
|
|
|
echo
|
|
echo "Instalacao concluida."
|
|
echo "URL: https://$DOMAIN"
|
|
echo "Frontend interno: http://localhost:8081"
|
|
echo "Backend interno: http://localhost:8082"
|
|
echo
|
|
echo "Credenciais em $ENV_FILE."
|