-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeploy.sh
More file actions
51 lines (40 loc) · 1.72 KB
/
deploy.sh
File metadata and controls
51 lines (40 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
set -e
echo "=== WG Admin Automated Deployment Script ==="
# Проверка наличия Docker и docker-compose
if ! command -v docker &> /dev/null; then
echo "Docker не установлен. Установите Docker перед запуском."
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "docker-compose не установлен. Установите docker-compose."
exit 1
fi
# Загрузка переменных окружения
if [ -f .env ]; then
echo "Загрузка переменных окружения из .env"
export $(grep -v '^#' .env | xargs)
else
echo ".env не найден, используется .env.example"
cp .env.example .env
export $(grep -v '^#' .env | xargs)
fi
echo "Создание необходимых директорий..."
mkdir -p data/mysql data/prometheus data/grafana scripts/ssh_keys
echo "Выдача прав на выполнение скриптов..."
chmod +x scripts/*.sh || true
echo "Сборка Docker-образов..."
docker-compose build
echo "Применение миграций БД..."
docker-compose run --rm app php /var/www/html/migrate.php || true
echo "Запуск контейнеров..."
docker-compose up -d
echo "=== Контейнеры запущены ==="
docker ps --format 'table {{.Names}} {{.Status}} {{.Ports}}'
echo "=== Сервисы ==="
echo "Frontend: http://localhost:8080/frontend/"
echo "API: http://localhost:8080/api/"
echo "Prometheus: http://localhost:9090/"
echo "Grafana: http://localhost:3000/ (логин admin / admin)"
echo "Exporter: http://localhost:9411/metrics"
echo "=== Завершено успешно ==="