kopia lustrzana https://github.com/J-Rios/TLG_JoinCaptchaBot
71 wiersze
2.2 KiB
Markdown
71 wiersze
2.2 KiB
Markdown
# Docker configuration
|
|
|
|
This document lists the requirements and steps to run
|
|
[TLG_JoinCaptchaBot](https://github.com/J-Rios/TLG_JoinCaptchaBot) in a docker
|
|
container.
|
|
|
|
## Pre-requisites
|
|
|
|
* [docker](https://www.docker.com/products/docker-engine). If possible, install
|
|
it using your OS native packaging system (under Debian based systems, use
|
|
`apt-get install docker-ce`).
|
|
|
|
* GNU Make, which should be installed on most Linux distributions by default.
|
|
|
|
## Building a new image
|
|
|
|
Create a new bot on Telegram using [The BotFather](http://t.me/BotFather). Make
|
|
sure your bot can be invited to groups and has privacy set to _disabled_.
|
|
Without this, the bot won't be able to read messages on the group.
|
|
|
|
Save the bot token. The token _should not publicly visible_ as anyone with it
|
|
could take control of your bot instance. We'll use the token to create the
|
|
docker image containing the bot (below).
|
|
|
|
Create the docker image:
|
|
|
|
```bash
|
|
make
|
|
```
|
|
|
|
The build process may take a while, depending on your computer and connection
|
|
speeds. Docker will indicate a successful build at the end of the process with
|
|
something like:
|
|
|
|
```bash
|
|
Successfully built (number)
|
|
Successfully tagged captcha-bot:latest
|
|
```
|
|
|
|
## Running
|
|
|
|
To run an instance, use the next command placing your Bot token to pass it as
|
|
an enviroment variable:
|
|
|
|
```bash
|
|
docker run -d --name captcha-bot --env CAPTCHABOT_TOKEN="XXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" --restart always captcha-bot
|
|
```
|
|
|
|
This will start the container in the background. Use `docker ps` to check if
|
|
the container is up and running, and `docker logs captcha-bot` to
|
|
investigate the logs.
|
|
|
|
You can also run with other environment variable. For list available
|
|
environment variables, please check `src/settings.py`.
|
|
|
|
**Note on Token security**: A little bit of paranoia never hurts! Once your
|
|
container has been built, remove the lines from your bash history containing
|
|
your token. This can be accomplished with the `history -d` command on
|
|
individual lines. An easier (but coarser) approach is to run `history -c`,
|
|
followed by `history -r`. This will clear the history buffer and re-read the
|
|
history from disk.
|
|
|
|
## Stopping the bot
|
|
|
|
To stop the bot, use
|
|
|
|
```bash
|
|
docker stop captcha-bot
|
|
docker rm captcha-bot
|
|
```
|