|
3 years ago | |
---|---|---|
.gitignore | 4 years ago | |
Dockerfile | 3 years ago | |
README.md | 3 years ago | |
build.sh | 4 years ago | |
tg-bot-api.env | 4 years ago |
README.md
Build Telegram Bot API as a docker container
Use this Dockerfile if you need have a local telegram bot api server to provide webhooks and other extra functionality for telegram bot services runed in Docker enviroment.
Telegram Bot API repository https://github.com/tdlib/telegram-bot-api How to use gude https://core.telegram.org/bots/api#using-a-local-bot-api-server
Before run
Get you own application api id and hash on https://my.telegram.org
Put it into tg-bot-api.env
file variables.
Build and run
Just run ./build.sh
script
Or build manualy: docker build -t <you image name> .
And run it:
docker run -p <host port>:8081 --name <you container name> --env-file=./tg-bot-api.env <you image name>
This image on dockerhub
Built for linux OS amd64 and arm/v7 arch https://hub.docker.com/r/bearns/tg-bot-api-server
Crossbuild
Use qemu and buildx if you need it.
Install and configure qemu the way you OS requre that Get buidlx here https://github.com/docker/buildx Buildix documentation here https://docs.docker.com/buildx/working-with-buildx/
Run image
docker run --privileged --rm multiarch/qemu-user-static:latest
Create profile (linux/arm/v7 used as example)
docker buildx create --platform linux/arm/v7
Command returns profile name like <gallant_mahavira> use it for future configuration
Show profiles
docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
<gallant_mahavira> * docker-container
gallant_mahavira0 unix:///var/run/docker.sock running linux/arm/v7*, linux/amd64, linux/386
default docker
default default running linux/amd64, linux/386
Set used by default
docker buildx use <gallant_mahavira>
Run crossbuild & export image to tar file
docker buildx build -o "type=docker,dest=image.docker.tar" -t <you image name> --platform linux/arm/v7 .
Import crossbuilded image into target host
docker image load -i image.docker.tar