#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "${ROOT_DIR}" if ! command -v docker &>/dev/null; then echo "Docker не найден. Сначала: sudo bash scripts/install-ubuntu.sh" exit 1 fi if ! docker compose version &>/dev/null; then echo "Docker Compose plugin не найден." exit 1 fi if [[ ! -f .env ]]; then cp .env.example .env SECRET=$(openssl rand -hex 32) DB_PASS=$(openssl rand -hex 16) sed -i "s/your_random_secret_key_here/${SECRET}/" .env sed -i "s/DB_PASSWORD=shop_secret/DB_PASSWORD=${DB_PASS}/" .env sed -i "s/ADMIN_PASSWORD=change_me/ADMIN_PASSWORD=$(openssl rand -base64 18 | tr -d '/+=')/" .env echo "Создан .env с автоматически сгенерированными паролями." echo "Проверьте ADMIN_EMAIL и DOMAIN перед продакшеном." fi docker compose pull --ignore-buildable 2>/dev/null || true docker compose up --build -d echo "" echo "Сервисы запущены." IP=$(hostname -I | awk '{print $1}') echo " Магазин: http://${IP}" echo " Админка: http://${IP}/admin/login" if [[ -f .env ]]; then echo " Логин: $(grep '^ADMIN_EMAIL=' .env | cut -d= -f2-)" echo " Пароль: $(grep '^ADMIN_PASSWORD=' .env | cut -d= -f2-)" fi echo "" echo "Логи: docker compose logs -f"