#!/usr/bin/env bash set -euo pipefail echo "=== PhotoPlaces — установка сервера ===" # 1. Docker if ! command -v docker &>/dev/null; then echo ">>> Устанавливаю Docker..." curl -fsSL https://get.docker.com | sh sudo usermod -aG docker "$USER" echo "!!! Перезайди в SSH (exit, затем снова ssh), чтобы применить группу docker" else echo "✓ Docker уже установлен" fi # 2. Docker Compose plugin if ! docker compose version &>/dev/null; then echo ">>> Устанавливаю Docker Compose..." sudo apt-get update sudo apt-get install -y docker-compose-plugin else echo "✓ Docker Compose уже установлен" fi # 3. Системные пакеты echo ">>> Устанавливаю системные пакеты..." sudo apt-get update sudo apt-get install -y git curl ufw # 4. Firewall (только внутренние порты + SSH) echo ">>> Настраиваю firewall..." sudo ufw allow 22/tcp sudo ufw allow from 192.168.0.0/16 to any port 8080 sudo ufw allow from 192.168.0.0/16 to any port 3000 sudo ufw --force enable echo "=== Установка завершена ===" echo "Далее:" echo " 1. Скопируй проект на сервер: rsync -avz ./ photoplaces@server:~/photoplaces" echo " 2. Заполни deploy/env.prod" echo " 3. Запусти: cd ~/photoplaces && bash deploy/deploy.sh"