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
This commit is contained in:
86
deploy/setup.sh
Normal file
86
deploy/setup.sh
Normal file
@@ -0,0 +1,86 @@
|
||||
#!/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 сертификатов"
|
||||
Reference in New Issue
Block a user