From e531cb0ebc7ce3625118b9cf98d282aad30cfb1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sat, 19 Mar 2022 17:17:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.org | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 readme.org diff --git a/readme.org b/readme.org new file mode 100644 index 0000000..745b45a --- /dev/null +++ b/readme.org @@ -0,0 +1,62 @@ +#+title: Справка +#+date: [2022-03-19 сб 17:11] + +* Сборка Docker контейнера +#+name: Dockerfile +#+begin_src sh + FROM python:3.9-slim-buster + WORKDIR /project + + ENV TELEGRAM_API_TOKEN="" + ENV GBOT_DELAY_TIME=1 + ENV GBOT_DELAY_TIME_Q=180 + ENV GBOT_CHAT_ID="" + ENV GBOT_DB_PATH="/project/data/support.db" + + # без проброса времени бот счиатет что он в GMT+0 + ENV TZ=Europe/Moscow + RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + + #RUN useradd -m -r user && \ + # chown user /project + #USER user + COPY requirements.txt ./ + RUN pip install -r requirements.txt + + #USER user + + COPY . . + ENTRYPOINT ["python", "main.py"] +#+end_src + +После этого в папке с проектом: +- собираем бота src_sh{docker build -t gorgorod-bot .}, +- пробуем запустить src_sh{docker run -it --rm --name gorgorod-tg --mount source=gorgorod_data,target=/project/data gorgorod-bot} + +* Systemd сервис +Сам вайл `docker.gorgorod-bot.service`: + +#+begin_src sh + #/etc/systemd/system/docker.gorgorod-bot.service + [Unit] + Description=Gorgorod bot + After=docker.service + Requires=docker.service + + [Service] + TimeoutStartSec=0 + Restart=always + WorkingDirectory=/home/redmaycry/gorgorod-bot + ExecStartPre=-/usr/bin/docker container stop gorgorod-tg + ExecStartPre=-/usr/bin/docker rm gorgorod-tg + ExecStart=/usr/bin/docker run --rm --name gorgorod-tg --mount source=gorgorod_data,target=/project/data gorgorod-bot + ExecStop=/usr/bin/docker container stop gorgorod-tg + + [Install] + WantedBy=multi-user.target +#+end_src + +После этого: +- перезагружаем список демонов src_sh{systemctl daemon-reload}, +- включаем наш новый демон в автозагрузку src_sh{systemctl enable docker.gorgorod-bot.service}, +- запускаем сервис src_sh{systemctl start docker.gorgorod-bot.service}