Clone
1
Запуск нового экземпляра
mish edited this page 2026-05-13 10:52:21 +03:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Запуск нового экземпляра EvoSync

Требования

  • Linux-сервер с Docker и Docker Compose
  • Nginx установлен на хосте
  • Certbot установлен на хосте
  • Домен с прописанными A-записями, указывающими на сервер
  • Git

1. Клонирование репозитория

git clone ssh://git@repos.guschin.info:2222/mish/evo-sync.git
cd evo-sync

2. Настройка окружения

Создайте .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. Запуск контейнеров

docker compose up -d --build
docker ps --format "table {{.Names}}\t{{.Status}}"

Веб-приложение: http://localhost:8080. Миграции применяются автоматически при старте web.


4. TLS-сертификаты (Let's Encrypt)

Выполните для каждого домена:

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. Создание первого администратора

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