Add new instance setup guide
103
%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%B0.md
Normal file
103
%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE-%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%B0.md
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
# Запуск нового экземпляра EvoSync
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
- Linux-сервер с Docker и Docker Compose
|
||||||
|
- Nginx установлен на хосте
|
||||||
|
- Certbot установлен на хосте
|
||||||
|
- Домен с прописанными A-записями, указывающими на сервер
|
||||||
|
- Git
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Клонирование репозитория
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone ssh://git@repos.guschin.info:2222/mish/evo-sync.git
|
||||||
|
cd evo-sync
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Настройка окружения
|
||||||
|
|
||||||
|
Создайте `.env`:
|
||||||
|
|
||||||
|
```env
|
||||||
|
DATABASE_URL=mysql+pymysql://evosync:PASS@db:3306/evosync
|
||||||
|
SECRET_KEY=<случайная строка: openssl rand -hex 32>
|
||||||
|
BASE_URL=https://your-domain.com
|
||||||
|
EVOTOR_APP_ID=<из личного кабинета Эвотор>
|
||||||
|
EVOTOR_WEBHOOK_SECRET=<из личного кабинета Эвотор>
|
||||||
|
VK_CLIENT_ID=<ID приложения VK>
|
||||||
|
VK_CLIENT_SECRET=<секрет приложения VK>
|
||||||
|
DB_ROOT_PASSWORD=<пароль root MariaDB>
|
||||||
|
DB_NAME=evosync
|
||||||
|
DB_USER=evosync
|
||||||
|
DB_PASSWORD=<пароль пользователя БД>
|
||||||
|
FLOWER_USER=admin
|
||||||
|
FLOWER_PASSWORD=<пароль для Flower>
|
||||||
|
CATALOG_REFRESH_INTERVAL_SECONDS=3600
|
||||||
|
DOMAIN=your-domain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Запуск контейнеров
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d --build
|
||||||
|
docker ps --format "table {{.Names}}\t{{.Status}}"
|
||||||
|
```
|
||||||
|
|
||||||
|
Веб-приложение: `http://localhost:8080`. Миграции применяются автоматически при старте `web`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. TLS-сертификаты (Let's Encrypt)
|
||||||
|
|
||||||
|
Выполните для каждого домена:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo ./scripts/init-letsencrypt.sh my-products.ru
|
||||||
|
sudo ./scripts/generate-nginx-conf.sh my-products.ru
|
||||||
|
sudo systemctl reload nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
Скрипт `generate-nginx-conf.sh` раскрывает шаблон `nginx/nginx.conf.template` и кладёт конфиг в `/etc/nginx/sites-available/<domain>.conf`, затем создаёт симлинк в `sites-enabled`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Автообновление сертификатов
|
||||||
|
|
||||||
|
Добавьте в `/etc/cron.d/certbot` (если не настроено certbot автоматически):
|
||||||
|
|
||||||
|
```
|
||||||
|
0 3 * * * root certbot renew --quiet && systemctl reload nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Создание первого администратора
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose exec web python scripts/create_admin.py
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Включение фоновых задач
|
||||||
|
|
||||||
|
Откройте `/sync` в браузере и включайте поочерёдно, проверяя каждый шаг:
|
||||||
|
|
||||||
|
1. **Зеркало Эвотор** — убедитесь что товары появляются в `/catalog`
|
||||||
|
2. **Зеркало ВК** — убедитесь что альбомы видны в `/vk-catalog/albums`
|
||||||
|
3. **Синхронизация** — включите после настройки фильтров групп/магазинов в `/catalog`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Мониторинг
|
||||||
|
|
||||||
|
- Flower (очереди Celery): `http://localhost:5555` — логин/пароль из `FLOWER_USER` / `FLOWER_PASSWORD`
|
||||||
|
- Логи API-запросов к Эвотор и ВК: `/admin/logs`
|
||||||
|
- Логи контейнеров: `docker compose logs -f worker`
|
||||||
Reference in New Issue
Block a user