openmax-server/faq/install.md

2.8 KiB
Raw Blame History

Установка

Вручную

  1. Склонируйте репозиторий
  2. Установите зависимости
pip install -r requirements.txt
  1. Сгенерируйте сертификат

Для тестирования (самоподписанный):

openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365

Для прода — Let's Encrypt:

apt install certbot
certbot certonly --standalone -d openmax.su
  1. Настройте сервер (пример в .env.example)
  2. Импортируйте схему таблиц в свою базу данных из tables.sql
  3. Запустите сервер
python3 main.py
  1. Создайте пользователя через Telegram бот (/register)
  2. Зайдите со своего любимого клиента

Docker

  1. Склонируйте репозиторий
  2. Настройте .env (пример в .env.example), укажите db_user отличный от root
  3. Получите сертификат Let's Encrypt:
apt install certbot
certbot certonly --standalone -d openmax.su

Укажите домен и пути в .env:

certfile=/certs/cert.pem
keyfile=/certs/key.pem
domain=openmax.su
  1. Запустите
docker compose up -d

База данных инициализируется автоматически из tables.sql.

  1. Создайте пользователя через Telegram бот (/register)
  2. Зайдите со своего любимого клиента

SMS-шлюз

По умолчанию коды авторизации доставляются через Telegram бот. Если вы хотите принимать пользователей с произвольными номерами без привязки к Telegram — поднимите SMS Gateway, укажите его адрес в .env и отключите Telegram бот:

telegram_bot_enabled=false
sms_gateway_url=http://localhost:8100/sms-gateway

Клиент MAX ожидает 6-значный код. Если ваш SMS-провайдер отправляет 5-значные коды и не поддерживает настройку длины — сервер автоматически дублирует последнюю цифру: 26541265411. Пользователь получает SMS с 5 цифрами и вводит их дважды последнюю: 2-6-5-4-1-1.


Автопродление сертификата

certbot renew --deploy-hook "docker compose -f /opt/server/docker-compose.yml restart app"