Dockerfile & manual for crossplatform telegram-bot-api server image build.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Terekhin Alexandr e6be446e3f
Update readme, use more threads on build
3 years ago
.gitignore Working version, env vars to file 4 years ago
Dockerfile Update readme, use more threads on build 3 years ago
README.md Update readme, use more threads on build 3 years ago
build.sh Fixes: arm crossbuild commandline err, env-file, readme 4 years ago
tg-bot-api.env Working version, env vars to file 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