Files
psychologist/deploy/setup.sh
T

58 lines
1.8 KiB
Bash

#!/bin/bash
set -e
PROJECT_DIR="/opt/psychologist"
GITEA_URL="https://gitea-ask48448w4k0g0g8c004g8wk.dedroud.ru/admin/psychologist.git"
echo "==> Установка Docker (если не установлен)"
if ! command -v docker &> /dev/null; then
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
echo "Docker установлен. Перелогиньтесь или выполните: newgrp docker"
fi
echo "==> Создание директории проекта"
sudo mkdir -p $PROJECT_DIR
sudo chown $USER:$USER $PROJECT_DIR
cd $PROJECT_DIR
echo "==> Клонирование/обновление репозитория"
if [ -d ".git" ]; then
git pull
else
git clone $GITEA_URL .
fi
echo "==> Создание .env файла"
cat > .env << 'EOF'
PORT=3001
SMTP_HOST=smtp.yandex.ru
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=Aspirinchekya@yandex.ru
SMTP_PASS=tvbspeqpkqimopei
RECIPIENT_EMAIL=Aspirinchekya@yandex.ru
SITE_NAME=Ирина — Практикующий психолог
FRONTEND_URL=https://irinaintegra.ru
EOF
echo "==> Сборка и запуск контейнеров"
docker compose down 2>/dev/null || true
docker compose up -d --build
echo "==> Установка nginx и certbot"
sudo apt-get update
sudo apt-get install -y nginx certbot python3-certbot-nginx
echo "==> Настройка nginx"
sudo cp deploy/nginx-host.conf /etc/nginx/sites-available/psychologist
sudo rm -f /etc/nginx/sites-enabled/default
sudo ln -sf /etc/nginx/sites-available/psychologist /etc/nginx/sites-enabled/psychologist
sudo nginx -t
sudo systemctl restart nginx
echo "==> Получение SSL сертификата"
sudo certbot --nginx -d irinaintegra.ru --non-interactive --agree-tos -m Aspirinchekya@yandex.ru
echo "==> Готово! Сайт должен быть доступен по https://irinaintegra.ru"