Skip to content

Auto build repository for 🐳 docker image of telegram-bot-api using Github Actions

License

Notifications You must be signed in to change notification settings

divideprojects/docker-telegram-bot-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-telegram-bot-api

Forks Stars Issues LICENSE Contributors Repo Size Docker Image Size (tag) Views

DeepSource

This is an unofficial docker image for tdlib/telegram-bot-api

You can use this image to create a local Local Bot API Server for telegram bots

Quick reference

Before start, you will need to obtain api-id and api-hash as described in Telegram's Official Documentation and specify them using the TELEGRAM_API_ID and TELEGRAM_API_HASH environment variables.

And then to start the Telegram Bot API all you need to run the following command:

docker run -d -p 8081:8081 --name=telegram-bot-api --restart=always -v telegram-bot-api-data:/var/lib/telegram-bot-api -e TELEGRAM_API_ID=<api_id> -e TELEGRAM_API_HASH=<api-hash> divideprojects/docker-telegram-bot-api:latest

How to use?

Set the Environmental Variables

Container can be configured via environment variables

  • TELEGRAM_API_ID, TELEGRAM_API_HASH: Reuired for Telegram API access, can be obtained at https://my.telegram.org as described in https://core.telegram.org/api/obtaining_api_id

  • TELEGRAM_STAT: Enable statistics HTTP endpoint. Usage: -e TELEGRAM_STAT=true -p 8082:8082 and then check that curl http://<host>:8082 returns server statistic

  • TELEGRAM_FILTER: "/". Allow only bots with 'bot_user_id % modulo == remainder'

  • TELEGRAM_MAX_WEBHOOK_CONNECTIONS: default value of the maximum webhook connections per bot

  • TELEGRAM_VERBOSITY: log verbosity level

  • TELEGRAM_LOG_FILE: Filename where logs will be redirected (By default logs will be written to stdout/stderr streams)

  • TELEGRAM_MAX_CONNECTIONS: maximum number of open file descriptors

  • TELEGRAM_PROXY: HTTP proxy server for outgoing webhook requests in the format http://host:port

  • TELEGRAM_LOCAL: allow the Bot API server to serve local requests

Start with persistent storage

Server's working directory is /var/lib/telegram-bot-api so if you want to persist the server data, you can mount this folder as volume:

-v telegram-bot-api-data:/etc/telegram/bot/api

Usage via docker stack deploy or docker-compose

version: '3.8'

services:
  telegram-bot-api:
    image: divideprojects/docker-telegram-bot-api:latest
    environment:
      TELEGRAM_API_ID: "<api-id>"
      TELEGRAM_API_HASH: "<api-hash>"
      # you can also configure other env variables here
    volumes:
      - telegram-bot-api-data:/var/lib/telegram-bot-api
    ports:
      - 8081:8081

volumes:
  telegram-bot-api-data:

Credits:

These repositories helped us make this!