Added Dockerfile and related manual
This commit is contained in:
9
.dockerignore
Normal file
9
.dockerignore
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
.venv/
|
||||||
|
session_storage/
|
||||||
|
__pycache__/
|
||||||
|
runtime/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*.vscode
|
||||||
|
*.json
|
||||||
|
*.sqlite
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
.venv/
|
.venv/
|
||||||
session_storage/
|
session_storage/
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
runtime/
|
||||||
*.swp
|
*.swp
|
||||||
*.swo
|
*.swo
|
||||||
*.vscode
|
*.vscode
|
||||||
|
|||||||
16
Dockerfile
Normal file
16
Dockerfile
Normal 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" ]
|
||||||
36
README.md
36
README.md
@@ -4,7 +4,30 @@
|
|||||||
Раньше был бот с таким же функционалом, но для Telegram. Telegram больше не в
|
Раньше был бот с таким же функционалом, но для Telegram. Telegram больше не в
|
||||||
почёте, и теперь у меня всё в локальном Matrix, поэтому бот тоже перенесён сюда.
|
почёте, и теперь у меня всё в локальном Matrix, поэтому бот тоже перенесён сюда.
|
||||||
|
|
||||||
## Подготовка окружения
|
## Для запуска рекомендуется `docker`
|
||||||
|
|
||||||
|
1. Соберите образ:
|
||||||
|
```bash
|
||||||
|
sudo docker build -t csonac .
|
||||||
|
```
|
||||||
|
2. Выполните первый запуск в интерактивном режиме
|
||||||
|
```bash
|
||||||
|
sudo mkdir runtime
|
||||||
|
sudo chown 1000:1000 runtime
|
||||||
|
sudo docker run -v ./runtime:/runtime -ti csonac:latest
|
||||||
|
```
|
||||||
|
3. В папке `runtime` появится файл `config.json`. Внесите туда нужные настройки
|
||||||
|
4. Запустите ещё раз в интерактивном режиме, чтобы авторизоваться
|
||||||
|
```bash
|
||||||
|
sudo docker run -v ./runtime:/runtime -ti csonac:latest
|
||||||
|
```
|
||||||
|
5. Дальше можно запускать контейнер в фоне
|
||||||
|
```bash
|
||||||
|
sudo docker run -p 127.0.0.1:4980:4980 -v ./runtime:/runtime --detach csonac:latest
|
||||||
|
```
|
||||||
|
> Рекомендуется запускать контейнер при помощи `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
|
|
||||||
```
|
|
||||||
|
|
||||||
## Как работает бот
|
## Как работает бот
|
||||||
|
|
||||||
Для каждой службы (канала уведомлений) создаётся своя собственная комната и в
|
Для каждой службы (канала уведомлений) создаётся своя собственная комната и в
|
||||||
|
|||||||
Reference in New Issue
Block a user