Оновлена інструкція

This commit is contained in:
2025-10-18 22:50:41 +00:00
parent c96093c890
commit 1d9f9a1468

114
README.md
View File

@@ -6,20 +6,97 @@
## 🔗 Зміст ## 🔗 Зміст
1. [Початок](#1-початок) 1. [Початок](#1-початок)
2. [Встановлення Docker](#2-встановлення-docker) 1.1. [Створення Telegram бота](#11-створення-telegram-бота)
3. [Встановлення Docker Compose](#3-встановлення-docker-compose) 1.2. [Генерація VAPID ключів](#12-генерація-vapid-ключів)
4. [Запуск Sheep-Service](#4-запуск-sheep-service) 2. [Налаштування сервера](#2-налаштування-сервера)
5. [Встановлення NGINX](#5-встановлення-nginx) 3. [Встановлення Docker](#3-встановлення-docker)
6. [Налаштування IP адреси CloudFlare](#6-налаштування-ip-адреси-cloudflare) 4. [Встановлення Docker Compose](#4-встановлення-docker-compose)
7. [Налаштування NGINX для веб](#7-налаштування-nginx-для-веб) 5. [Запуск Sheep-Service](#5-запуск-sheep-service)
8. [Встановлення Certbot](#8-встановлення-certbot) 6. [Встановлення NGINX](#6-встановлення-nginx)
9. [CRONTAB Backup](#9-crontab-backup) 7. [Налаштування IP адреси CloudFlare](#7-настройка-ip-адреси-cloudflare)
8. [Налаштування NGINX для веб](#8-настройка-nginx-для-веб)
9. [Встановлення Certbot](#9-встановлення-certbot)
10. [CRONTAB Backup](#10-crontab-backup)
--- ---
## 1. Початок ## 1. Початок
1. Скопіюйте всі файли проекту на сервер.
2. Створіть файл `.env` у корені проекту:
```bash
DOMAIN=sheep-service.com
HTTP_PORT=4000
HTTPS_PORT=4001
DB_PATH=/home/username/webapps/sheep-service.com/
CARDS_PATH=/home/username/webapps/sheep-service.com/cards
MAP_PATH=/home/username/webapps/sheep-service.com/map
TELEGRAM_TOKEN=окен_бота>
CHAT_ID=ут_твій_chat_id>
VAPID_PUBLIC_KEY=ут_твій_public_key>
VAPID_PRIVATE_KEY=ут_твій_private_key>
```
> **Примітка:** Замініть `username` на ім’я користувача сервера, а `sheep-service.com` на своє доменне ім’я.
3. Відредагуйте файл `web/config.js` під ваші змінні `.env`.
## 1.1 Створення Telegram бота
1. Відкрийте Telegram і знайдіть **[@BotFather](https://t.me/BotFather)**.
2. Відправте команду `/newbot` та слідуйте інструкціям:
- Назва бота: `SheepServiceBot`
- Username бота: `sheep_service_bot` (обов’язково закінчується на `bot`)
3. Скопіюйте **API токен** та додайте його у `.env`:
```bash
TELEGRAM_TOKEN=окен_бота>
```
4. Щоб отримати `CHAT_ID`:
- Відправте боту `/start`.
- Відкрийте URL у браузері:
```
https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/getUpdates
```
- Знайдіть `chat.id` у відповіді JSON і додайте у `.env`:
```bash
CHAT_ID=ут_твій_chat_id>
```
## 1.2 Генерація VAPID ключів
1. Встановіть `web-push`:
```bash
npm install web-push -g
```
2. Згенеруйте ключі:
```bash
web-push generate-vapid-keys
```
3. Скопіюйте отримані ключі у `.env`:
```bash
VAPID_PUBLIC_KEY=ут_твій_public_key>
VAPID_PRIVATE_KEY=ут_твій_private_key>
```
## 2. Налаштування сервера
Оновлення системи та встановлення необхідних пакетів: Оновлення системи та встановлення необхідних пакетів:
```bash ```bash
@@ -31,7 +108,7 @@ sudo apt install -y curl gnupg2 ca-certificates lsb-release zip
--- ---
## 2. Встановлення Docker ## 3. Встановлення Docker
```bash ```bash
sudo apt install -y docker.io sudo apt install -y docker.io
@@ -45,7 +122,7 @@ sudo usermod -aG docker $USER
--- ---
## 3. Встановлення Docker Compose ## 4. Встановлення Docker Compose
```bash ```bash
sudo apt install -y docker-compose sudo apt install -y docker-compose
@@ -56,7 +133,7 @@ docker-compose --version
--- ---
## 4. Запуск Sheep-Service ## 5. Запуск Sheep-Service
### Перехід в директорію проекту ### Перехід в директорію проекту
@@ -74,7 +151,7 @@ docker-compose -p sheep-service up --build -d --scale api=5 --scale ws=5 --scale
--- ---
## 5. Встановлення NGINX ## 6. Встановлення NGINX
```bash ```bash
sudo apt install nginx sudo apt install nginx
@@ -98,7 +175,7 @@ client_max_body_size 20M;
--- ---
## 6. Налаштування IP адреси CloudFlare ## 7. Налаштування IP адреси CloudFlare
```nginx ```nginx
set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.21.244.0/22;
@@ -130,7 +207,7 @@ real_ip_header X-Forwarded-For;
--- ---
## 7. Налаштування NGINX для веб ## 8. Налаштування NGINX для веб
### Створення файлу конфігурації сайту ### Створення файлу конфігурації сайту
@@ -169,7 +246,7 @@ sudo systemctl reload nginx
--- ---
## 8. Встановлення Certbot ## 9. Встановлення Certbot
```bash ```bash
sudo python3 -m venv /opt/certbot/ sudo python3 -m venv /opt/certbot/
@@ -190,7 +267,7 @@ sudo /opt/certbot/bin/pip install --upgrade certbot certbot-nginx
--- ---
## 9. CRONTAB Backup ## 10. CRONTAB Backup
Редагування cron для резервного копіювання бази даних: Редагування cron для резервного копіювання бази даних:
@@ -213,5 +290,4 @@ crontab -e
sudo pip3 install python-dotenv sudo pip3 install python-dotenv
``` ```
💡 **Порада:** Переконайтесь, що всі шляхи до директорій відповідають вашому користувачу та що всі сервіси працюють після перезавантаження Docker або сервера. 💡 **Порада:** Переконайтесь, що всі шляхи до директорій відповідають вашому користувачу та що всі сервіси працюють після перезавантаження Docker або сервера.