35ab220b68
- Удалены все файлы из app/static/uploads/ из истории git - Обновлен .gitignore для сохранения структуры .gitkeep в подпапках uploads - Обновлены docs/CONTEXT.md и docs/DEPLOY.md: убраны начальные пользователи admin/admin, staff/staff, упоминание конкретных путей и компании - Добавлены актуальные пути к папкам мероприятий
108 lines
3.6 KiB
Markdown
108 lines
3.6 KiB
Markdown
# Руководство по развёртыванию InviteMe
|
|
|
|
## Системные требования
|
|
|
|
- Windows Server / Windows 10+ / Linux
|
|
- Python 3.10 или новее
|
|
- Доступ в интернет для отправки писем (SMTP)
|
|
|
|
## Установка на Windows
|
|
|
|
### 1. Подготовка окружения
|
|
|
|
```cmd
|
|
cd InviteMe
|
|
python -m venv venv
|
|
venv\Scripts\activate
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### 2. Настройка конфигурации
|
|
|
|
Создайте файл `.env` в корне проекта:
|
|
|
|
```env
|
|
SECRET_KEY=your-strong-secret-key-here
|
|
DEFAULT_EVENT_NAME=Архивное мероприятие
|
|
|
|
MAIL_SERVER=smtp.yandex.ru
|
|
MAIL_PORT=465
|
|
MAIL_USE_SSL=true
|
|
MAIL_USERNAME=your-email@yandex.ru
|
|
MAIL_PASSWORD=your-app-password
|
|
MAIL_DEFAULT_SENDER=your-email@yandex.ru
|
|
```
|
|
|
|
> Для Yandex Mail используйте пароль приложения, а не основной пароль.
|
|
> При первом запуске откроется страница создания первого администратора.
|
|
|
|
### 3. Запуск в режиме разработки
|
|
|
|
```cmd
|
|
flask --app run.py run --host=0.0.0.0 --port=5000
|
|
```
|
|
|
|
Откройте в браузере: `http://localhost:5000`
|
|
|
|
### 4. Запуск в production
|
|
|
|
Для production рекомендуется использовать WSGI-сервер:
|
|
|
|
```cmd
|
|
pip install waitress
|
|
waitress-serve --host=0.0.0.0 --port=5000 run:app
|
|
```
|
|
|
|
Или через PowerShell:
|
|
|
|
```powershell
|
|
waitress-serve --host=0.0.0.0 --port=5000 run:app
|
|
```
|
|
|
|
### 5. Доступ с других устройств
|
|
|
|
- Убедитесь, что порт 5000 открыт в брандмауэре
|
|
- Используйте IP-адрес сервера в локальной сети
|
|
- Для QR-кодов укажите внешний URL при загрузке Excel или в `.env`:
|
|
|
|
```env
|
|
BASE_URL=https://your-domain-or-ip
|
|
```
|
|
|
|
### 6. Резервное копирование
|
|
|
|
Важные данные для бэкапа:
|
|
- `instance/inviteme.db` — база данных
|
|
- `app/static/uploads/photos/event_*` — фото гостей
|
|
- `app/static/uploads/qrcodes/event_*` — QR-коды
|
|
- `app/static/uploads/tickets/event_*` — сгенерированные билеты
|
|
- `.env` — конфигурация
|
|
|
|
## Инструкция для сотрудников на входе
|
|
|
|
1. Откройте `http://<ip-сервера>:5000/check-in`
|
|
2. Войдите под учётной записью staff
|
|
3. Для проверки QR:
|
|
- Нажмите «Включить камеру»
|
|
- Наведите на QR-код гостя
|
|
4. Для поиска по ФИО:
|
|
- Введите фамилию в поле поиска
|
|
- Выберите нужного человека из списка
|
|
5. Сверьте фото в программе с гостем
|
|
6. Нажмите «Отметить вход»
|
|
|
|
## Устранение неполадок
|
|
|
|
### Письма не отправляются
|
|
- Проверьте настройки SMTP в `.env`
|
|
- Убедитесь, что используется пароль приложения (для Yandex/Google)
|
|
- Проверьте логи в консоли
|
|
|
|
### QR-код ведёт на localhost
|
|
- При загрузке Excel укажите базовый URL сервера
|
|
- Или добавьте `BASE_URL` в `.env`
|
|
|
|
### Фото не отображаются
|
|
- Проверьте, что название фото в Excel совпадает с именем файла (с расширением)
|
|
- Фото должны быть в папке мероприятия `app/static/uploads/photos/event_<id>/`
|