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.
58 lines
2.0 KiB
58 lines
2.0 KiB
# 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` |