#!/bin/bash # deploy.sh – Bygg och starta om recipe-app # Kör från: /opt/containers/recipe-app/ # Kräver: .env-fil i samma mapp set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" if [ ! -f ".env" ]; then echo "Fel: .env saknas. Kopiera .env.example och fyll i värdena:" echo " cp .env.example .env && nano .env" exit 1 fi echo "Hämtar senaste kod (recipe-app)..." git pull origin main echo "Hämtar senaste kod (microservice-importer)..." (cd "$SCRIPT_DIR/../microservice-importer" && git pull origin main) echo "Bygger images..." docker compose -f compose.yml -f compose.flutter.yml build echo "Startar tjänster..." docker compose -f compose.yml -f compose.flutter.yml up -d echo "Kör kategori-seed..." MARIADB_ROOT_PASSWORD=$(grep MARIADB_ROOT_PASSWORD .env | cut -d '=' -f2 | tr -d '"' | tr -d "'") MARIADB_DATABASE=$(grep MARIADB_DATABASE .env | cut -d '=' -f2 | tr -d '"' | tr -d "'") echo "Väntar på att databasen är redo..." for i in $(seq 1 30); do if docker exec recipe-db mariadb-admin ping -h 127.0.0.1 -uroot -p"$MARIADB_ROOT_PASSWORD" --silent 2>/dev/null; then break fi echo " ...försök $i/30" sleep 2 done if [ -f "db/seeds/categories_supplement.sql" ]; then docker exec -i recipe-db mariadb -uroot -p"$MARIADB_ROOT_PASSWORD" "$MARIADB_DATABASE" \ < db/seeds/categories_supplement.sql echo "Kategori-seed klar." else echo "Ingen categories_supplement.sql hittades — hoppar över seed." fi echo "Status:" docker compose ps