Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/4thel00z/tbd

A tool to setup a server for and deploy telegram bots written in golang.
https://github.com/4thel00z/tbd

chatbot ci ci-cd cli deploy deployment deployment-automation go golang pipeline server telegram telegram-bot

Last synced: about 1 month ago
JSON representation

A tool to setup a server for and deploy telegram bots written in golang.

Awesome Lists containing this project

README

        

# tbd 👉 telegram bot deployer

## Motivation

The idea is to have a tool which deploys telegram bots built in go as docker containers on a vanilla root server.
No fancy schmancy AWS/Azure/GCP stuff needed.

## How ?

![Picture of high level architecture](./arch/high_level.png)

On the target server we have the docker (containerd) daemon running while exposing the docker API via an tcp endpoint.
For this matter the docker settings was modified and the docker (contained) daemon restarted.

After that this endpoint was forwarded via ssh to the local machine.

The environment variable `DOCKER_HOST` is modified before calling `tbd`, so it calls the remote docker (containerd) daemon
through the ssh tunnel.

The `tbd` binary builds (currently only) go programs and builds a distroless docker image where it packs the first build artifact.

Then it runs the artifact remotely on the server.

## License

This project is licensed under the GPL-3 license.