Any $5 VPS (usually single core plus 1GB RAM) should be good enough for this purpose if it is just a bot for you and your friends.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Oracle Cloud provides free plans
if you're able to register...
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!
Will take a look at that, thanks!
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.
From this page:
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.
AWS Lambda is the best for this, my bots run on it. That is, if you're ok with some delay in response. Otherwise an EC2 might work.
Why not use dynamic DNS since this isn't something mission critical?
Never really thought about it! Thanks, will take a look
Happy to help :) I have ddns configured with duckdns and it's been pretty smooth. The only problem will be if you're behind cgnat.
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.
I've had the cheapest Hetzner server for a couple of years. Zero complaints, it's like 3e/month or something.
AWS EC2 has an always free tier that is perfect for telegram bots
Yeah I was thinking about EC2 as I've used it before for another project. Wanted to see if there are any other options just in case.
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
Do you need a static IP? can't you have a Dynamic DNS running on your router?
A static up is not required for a telegram bot as the telegram api acts as an intermediary with the clients.
Telegram bot doesn't need static IP, it connects to the service and does a get for updates. Default python wrapper polls.
That being said pythonanywhere or heroku are good cheap options.