tg-archive
is a tool for exporting Telegram group chats into static websites,
preserving chat history.
Our main repo:
git.osintukraine.com/andrzej/tg-archive
Docker integration:
README.docker.md
Originally created by @knadh: github.com/knadh/tg-archive
We mainly use tg-archive
to scrape Telegram channels, archive them and publish
the content as HTML with media files:
In examples below we assume that:
--user="$(id -u):$(id -g)"
in Docker commands/home/user/tg-archive
/home/user/tg-archive/sites
test
/var/www/public/test
/home/user/tg-archive
cd
to folder /home/user/tg-archive
tg-archive
image:docker-compose build
/home/user/sites
exists docker run --rm --user="$(id -u):$(id -g)" -v /home/user/sites:/sites tg-archive --new --path=/sites/test
api_id
, api_hash
and group
parameters in file config.yaml
Skip this step if file session.session
you already created before.
Executing below will result in asking you about phone number and code sent you by Telegram
docker run --rm -it --user="$(id -u):$(id -g)" -v /home/user/sites:/sites tg-archive --config=/sites/test/config.yaml --session=/sites/session.session
docker run --rm --user="$(id -u):$(id -g)" -v /home/user/sites:/sites tg-archive --config=/sites/test/config.yaml --session=/sites/session.session --sync
For media folder placed at build destination to avoid duplicate and copy media files.
Before downloading - create manually folder /var/www/public/test/media
docker run --rm --user="$(id -u):$(id -g)" -v /home/user/sites:/sites -v /var/www/public/test/media:/sites/test/media tg-archive --config=/sites/test/config.yaml --session=/sites/session.session --sync
docker run --rm --user="$(id -u):$(id -g)" -v /home/user/sites:/sites -v /var/www/public/test:/sites/test/site tg-archive --config=/sites/test/config.yaml --build
For media folder placed at build destination to avoid duplicate and copy media files.
docker run --rm --user="$(id -u):$(id -g)" -v /home/user/sites:/sites -v /var/www/public/test:/sites/test/site -v /var/www/public/test/media:/sites/test/media tg-archive --config=/sites/test/config.yaml --build