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/
|
||||
session_storage/
|
||||
__pycache__/
|
||||
runtime/
|
||||
*.swp
|
||||
*.swo
|
||||
*.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 больше не в
|
||||
почёте, и теперь у меня всё в локальном 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. Клонируйте репозиторий и перейдите в его директорию
|
||||
```bash
|
||||
@@ -26,17 +49,6 @@ 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