#!/bin/sh set -eu REPO_URL="${REPO_URL:-https://gitea.seconectai.com.br/tiago/SeConectai_Web.git}" INSTALL_DIR="${INSTALL_DIR:-/opt/seconectai-web}" APP_DOMAIN="${APP_DOMAIN:-}" LETSENCRYPT_EMAIL="${LETSENCRYPT_EMAIL:-}" ADMIN_EMAIL="${ADMIN_EMAIL:-}" ADMIN_INITIAL_PASSWORD="${ADMIN_INITIAL_PASSWORD:-}" POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-}" AUTH_SECRET="${AUTH_SECRET:-}" CPF_ENC_KEY="${CPF_ENC_KEY:-}" CPF_HASH_KEY="${CPF_HASH_KEY:-}" SMTP_HOST="${SMTP_HOST:-}" SMTP_PORT="${SMTP_PORT:-587}" SMTP_USER="${SMTP_USER:-}" SMTP_PASS="${SMTP_PASS:-}" SMTP_FROM="${SMTP_FROM:-}" need() { if [ -z "$2" ]; then echo "Variavel obrigatoria ausente: $1" >&2 exit 1 fi } gen_secret() { if command -v openssl >/dev/null 2>&1; then openssl rand -base64 32 else head -c 32 /dev/urandom | base64 fi } need APP_DOMAIN "$APP_DOMAIN" need LETSENCRYPT_EMAIL "$LETSENCRYPT_EMAIL" need ADMIN_EMAIL "$ADMIN_EMAIL" need ADMIN_INITIAL_PASSWORD "$ADMIN_INITIAL_PASSWORD" if [ -z "$POSTGRES_PASSWORD" ]; then POSTGRES_PASSWORD="$(gen_secret)" fi if [ -z "$AUTH_SECRET" ]; then AUTH_SECRET="$(gen_secret)" fi if [ -z "$CPF_ENC_KEY" ]; then CPF_ENC_KEY="$(gen_secret)" fi if [ -z "$CPF_HASH_KEY" ]; then CPF_HASH_KEY="$(gen_secret)" fi if ! command -v git >/dev/null 2>&1; then echo "Instale git antes de continuar." >&2 exit 1 fi if ! command -v docker >/dev/null 2>&1; then echo "Instale Docker antes de continuar." >&2 exit 1 fi if docker compose version >/dev/null 2>&1; then COMPOSE="docker compose" elif command -v docker-compose >/dev/null 2>&1; then COMPOSE="docker-compose" else echo "Instale Docker Compose antes de continuar." >&2 exit 1 fi if [ -d "$INSTALL_DIR/.git" ]; then echo "Atualizando projeto em $INSTALL_DIR" git -C "$INSTALL_DIR" pull --ff-only else echo "Clonando projeto em $INSTALL_DIR" mkdir -p "$(dirname "$INSTALL_DIR")" git clone "$REPO_URL" "$INSTALL_DIR" fi cd "$INSTALL_DIR" cat > .env <