Files
hotelsync/deploy/setup.sh
HotelSync 420d55d57e Initial commit: HotelSync PMS v0.1.0
- React 18 + TypeScript + Vite + Tailwind CSS
- Шахматка бронирований (drag-to-book)
- Страницы: Calendar, Bookings, Rooms, Housekeeping, Channels, API Docs, Settings
- Роли: super_admin, hotel_manager, housekeeper
- Светлая/тёмная тема
- Docker + Nginx конфигурация
- Лендинг hotelsync.ru
2026-03-10 20:38:32 +03:00

87 lines
3.3 KiB
Bash

#!/bin/bash
# HotelSync — первоначальная настройка сервера
set -e
echo "🚀 HotelSync Server Setup"
echo "========================="
# ── 1. Обновление системы ─────────────────────────────────────────────────
echo "→ Обновление пакетов..."
apt-get update -qq && apt-get upgrade -y -qq
# ── 2. Установка Docker ───────────────────────────────────────────────────
echo "→ Установка Docker..."
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
# Docker Compose plugin
apt-get install -y docker-compose-plugin
echo "Docker версия: $(docker --version)"
echo "Docker Compose: $(docker compose version)"
# ── 3. Установка Git ──────────────────────────────────────────────────────
echo "→ Установка Git..."
apt-get install -y git
# ── 4. Настройка проекта ──────────────────────────────────────────────────
echo "→ Создание директории проекта..."
mkdir -p /opt/hotelsync
cd /opt/hotelsync
# ── 5. Настройка Gitea (self-hosted Git) ──────────────────────────────────
echo "→ Настройка Gitea..."
mkdir -p /opt/gitea/data
cat > /opt/gitea/docker-compose.yml << 'EOF'
version: '3'
services:
gitea:
image: gitea/gitea:latest
container_name: hotelsync-gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=sqlite3
- GITEA__server__DOMAIN=git.hotelsync.ru
- GITEA__server__ROOT_URL=https://git.hotelsync.ru
- GITEA__server__HTTP_PORT=3000
ports:
- "3001:3000"
- "222:22"
volumes:
- /opt/gitea/data:/data
EOF
docker compose -f /opt/gitea/docker-compose.yml up -d
echo "✓ Gitea запущен на порту 3001"
# ── 6. Настройка bare git репозитория для деплоя ──────────────────────────
echo "→ Настройка git deploy hook..."
mkdir -p /opt/hotelsync/repo.git
git init --bare /opt/hotelsync/repo.git
cat > /opt/hotelsync/repo.git/hooks/post-receive << 'HOOK'
#!/bin/bash
echo "→ Получен push, запускаем деплой..."
cd /opt/hotelsync/app
git --work-tree=/opt/hotelsync/app --git-dir=/opt/hotelsync/repo.git checkout -f main
docker compose build frontend
docker compose up -d --no-deps frontend
echo "✓ Деплой завершён!"
HOOK
chmod +x /opt/hotelsync/repo.git/hooks/post-receive
mkdir -p /opt/hotelsync/app
git init /opt/hotelsync/app
echo "✓ Git deploy hook настроен"
echo ""
echo "=============================="
echo "✅ Базовая настройка завершена"
echo "=============================="
echo ""
echo "Следующий шаг: запустить deploy/ssl.sh для SSL сертификатов"