Setup

This page describes how to setup teleghosts on a local machine and how to deploy it on a server.

Prerequisites

  • If you plan to self-host the teleghosts instance it is expected that you possess your own Telegram bot token. Under no circumstances we disclose or transfer Telegram bot tokens created by us.

  • You will also need a SimpleX Chat profile with a public address. We recommend to create a separate profile specifically for teleghosts and we recommend to avoid sharing its public address with anyone to secure yourself from fishing attacks.

Local setup

Running teleghosts locally is quite trivial. teleghosts creates and manages files in ./db/ ./fs/ ./logs/ and ./setup/ directories relative to the path it is launched from and requires the network access to transmit messages. It is also required to keep the ghcrt dir next to the teleghosts executable to link the correct Haskell runtime. Ensure that teleghosts has required permissions and you are ready to go.

We also recommend to add teleghosts to your $PATH because this way you can conveniently run multiple teleghosts instances by invoking teleghosts from different directories.

teleghosts process is expected to consume up to 512 MB of RAM under heavy load and negligible amount of disk space. The ./fs directory stores files temporarily, the files there are removed automatically if they’re not accessed for ~30 minutes.

Server setup

We don’t recommend to deploy current teleghosts alpha versions on servers yet because there are some unaddressed issues that, in the worst case, may cause a message loss without any indication on the app side. If you don’t consider these issues severe enough then just follow the local setup steps on your server as there are no differences between local and server setups at this point. In the future, teleghosts will be distributed in teleghosts and teleghosts-server versions and teleghosts-server will require additional configuration.