Hi everyone, me and my friends are thinking of making a Telegram bot to use GPT-4 as one of us has access to the API.
We're not going to release the bot to the public (only use between us), however we'd like the bot to run 24/7 so it's accessible whenever one of us needs it. Sadly we can't host it ourselves as neither of us is able to get a Static IP and has a free machine to run 24/7.
My question is, are there any recommended hosting providers (if it's free even better) where we could host our telegram bot on? Thanks!
The Always Free tier is also very powerful in my opinion. You get 24GB RAM and 4 OCPU's for Ampere (Arm) architecture VMs. You can run Oracle Linux or just plain old Ubuntu on it!
I can confirm, I’m running the exact same scenario OP described (GPT-4 Telegram bot), on Oracle Cloud, and it works great. I found this implementation to be robust, easy to spin up, and easy enough to patch changes in.
The gotcha for this is that you have to actually use the resources on your free instance or they will reclaim it. I use my instance as a Minecraft server so it utilizes about half of the 24GB RAM you get. For a very light compute task like a chat bot, it might be difficult to keep the instance from being reclaimed.
Idle Always Free compute instances may be reclaimed by Oracle. Oracle will deem virtual machine and bare metal compute instances as idle if, during a 7-day period, the following are true:
CPU utilization for the 95th percentile is less than 15%
Network utilization is less than 15%
Memory utilization is less than 15% (applies to A1 shapes only)
FYI you don't need static IP for telegram bots if you use polling instead of webhook. So if your house connection is stable enough, you can make do with Raspberry Pi.
I'm hosting my stuff on cheapest DigitalOcean droplet (but still use polling for telegram bots). Any stable VPS provider would do just fine and you'll have system resources left for other stuff, telegram bots are very light.
I'm not sure I understand how I could use polling in this case. Would I just keep sending requests to the endpoint to see if there are any new messages sent or something like that?
Yes Telegram bot API supports long polling which is basically your server making successive long-running requests to the Telegram server and wait for a response.
recently did my own research on hosting providers for my own telegram bot project and i found ec2 had the easiest set up process and most transparent pricing structure for my needs
probably could fit into fly.io free tier. also as others have mentioned - oracle oci provides a nice free vm, which can be shut off if usage of resources is low, but you can workaround it by increasing a volume a bit more than free tier allows and pay something like a 1-2$ for it monthly.