Compare commits

3 Commits

Author SHA1 Message Date
b28b7c583d Updated mab version; improved README 2026-09-02 14:51:27 +03:00
Nikita Tyukalov, ASUS, Linux
f8e9a528e2 Added Dockerfile and related manual 2026-08-29 20:06:53 +03:00
Nikita Tyukalov, ASUS, Linux
9266d8f32b Fixed README.md 2026-08-29 19:26:19 +03:00
5 changed files with 53 additions and 15 deletions

9
.dockerignore Normal file
View File

@@ -0,0 +1,9 @@
.venv/
session_storage/
__pycache__/
runtime/
*.swp
*.swo
*.vscode
*.json
*.sqlite

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
.venv/ .venv/
session_storage/ session_storage/
__pycache__/ __pycache__/
runtime/
*.swp *.swp
*.swo *.swo
*.vscode *.vscode

16
Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM python:3.12-slim
RUN apt-get update && apt-get install --no-install-recommends -y libolm3 libolm-dev git && rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
WORKDIR /runtime
RUN chown -R 1000:1000 /usr/src /runtime
USER 1000:1000
CMD [ "python", "/usr/src/app/main.py" ]

View File

@@ -4,7 +4,30 @@
Раньше был бот с таким же функционалом, но для Telegram. Telegram больше не в Раньше был бот с таким же функционалом, но для Telegram. Telegram больше не в
почёте, и теперь у меня всё в локальном Matrix, поэтому бот тоже перенесён сюда. почёте, и теперь у меня всё в локальном Matrix, поэтому бот тоже перенесён сюда.
## Подготовка окружения ## Для запуска рекомендуется `docker`
1. [Скачайте образ](https://git.tyukalov.su/nikita/-/packages/container/2026-matrix-csonac) (измените версию на нужную вам):
```bash
sudo docker pull git.tyukalov.su/nikita/2026-matrix-csonac:0.2
```
2. Выполните первый запуск в интерактивном режиме
```bash
sudo mkdir runtime
sudo chown 1000:1000 runtime
sudo docker run -v ./runtime:/runtime -ti git.tyukalov.su/nikita/2026-matrix-csonac:0.2
```
3. В папке `runtime` появится файл `config.json`. Внесите туда нужные настройки
4. Запустите ещё раз в интерактивном режиме, чтобы авторизоваться
```bash
sudo docker run -v ./runtime:/runtime -ti git.tyukalov.su/nikita/2026-matrix-csonac:0.2
```
5. Дальше можно запускать контейнер в фоне
```bash
sudo docker run -p 127.0.0.1:4980:4980 -v ./runtime:/runtime --detach git.tyukalov.su/nikita/2026-matrix-csonac:0.2
```
> Рекомендуется запускать контейнер при помощи `docker compose`.
## Запуск без `docker`
1. Клонируйте репозиторий и перейдите в его директорию 1. Клонируйте репозиторий и перейдите в его директорию
```bash ```bash
@@ -26,17 +49,6 @@ python main.py
python main.py python main.py
``` ```
## Запуск
Для запуска приложения вы можете либо активировать `venv`, либо просто использовать полный путь до интерпретатора Python:
```bash
~/2026-matrix-downloader/.venv/bin/python main.py
```
```bash
. .venv/bin/activate
python main.py
```
## Как работает бот ## Как работает бот
Для каждой службы (канала уведомлений) создаётся своя собственная комната и в Для каждой службы (канала уведомлений) создаётся своя собственная комната и в
@@ -72,7 +84,7 @@ python main.py
``` ```
2. Использовать URL параметр `token`. Например: 2. Использовать URL параметр `token`. Например:
```plain ```plain
https://csonac.su/notify?token=f1829e94d... https://csonac.su/api/notify?token=f1829e94d...
``` ```
Рекомендуется использовать первый способ (HTTP-заголовок), так как это позволяет Рекомендуется использовать первый способ (HTTP-заголовок), так как это позволяет
избежать раскрытия токена в логах сервера и других местах, где можно посмотреть избежать раскрытия токена в логах сервера и других местах, где можно посмотреть
@@ -83,7 +95,7 @@ URL прошлых запросов.
> токен будет украден. > токен будет украден.
Доступные эндпоинты: Доступные эндпоинты:
- `GET /notify` - `GET /api/notify`
- **Описание.** Используется, чтобы отправить уведомление в канал. - **Описание.** Используется, чтобы отправить уведомление в канал.
- **Параметры запроса** - **Параметры запроса**
- `channel` - код канала, получаемый при помощи команды `!info`, - `channel` - код канала, получаемый при помощи команды `!info`,

View File

@@ -34,7 +34,7 @@ idna==3.19
Jinja2==3.1.6 Jinja2==3.1.6
jsonschema==4.26.0 jsonschema==4.26.0
jsonschema-specifications==2025.9.1 jsonschema-specifications==2025.9.1
mab @ git+https://git.tyukalov.su/nikita/mab@c3046307c7bc4e65113aab62b07bad2a148b49e5 mab @ git+https://git.tyukalov.su/nikita/mab@v0.0.2
markdown-it-py==4.2.0 markdown-it-py==4.2.0
MarkupSafe==3.0.3 MarkupSafe==3.0.3
matrix-nio==0.26.0 matrix-nio==0.26.0