---
title: "Free Bun Reddit Bot Hosting"
description: "Host a Reddit bot free on Bun: fetch for the API, bun:sqlite for handled posts, TypeScript with no build step. 256 MB RAM, 24/7 uptime."
url: "https://sillydev.co.uk/bun-reddit-bot-hosting"
updated: "2026-09-26"
---

Bun

# Free Bun Reddit bot hosting.

fetch, SQLite and TypeScript are all built in, which covers nearly everything a Reddit bot does. It can run with an empty dependency list.

Libraries

## Libraries that run here

Plain fetch

The Reddit API is OAuth and JSON over HTTPS, and Bun ships fetch. A token request, a listing poll and a reply are the whole bot.

bun:sqlite

Not a Reddit library, but the other half of a Reddit bot: the table of IDs you have already handled, so a restart never produces a duplicate reply.

snoowrap

Runs from the same package.json it would under Node, if you are bringing an existing bot. It is no longer maintained, which is why it comes last here.

Deploying

## Getting it running

1. 1
### Upload your project
Drag the folder in or push it over SFTP, without node_modules. If you have dependencies they are installed on deploy.
2. 2
### bun install runs for you
Your package.json is read and installed before the bot starts. With only built-ins, there is nothing to install and the bot starts immediately.
3. 3
### Point us at your entry file
bot.ts, uncompiled. Credentials come from environment variables, read with process.env or Bun.env.

Memory

## What actually fits in 256 MB

All of it, comfortably. A Reddit bot spends most of its life waiting between polls, and a listing response is a small piece of JSON.

Keep the handled-IDs set in bun:sqlite on your 512 MB of disk rather than in a Set in memory. It never grows your memory footprint, and it is what makes restarts safe.

FAQ

## Questions

**Is there a Reddit library written for Bun?**

There does not need to be. The parts of the API a bot uses are a handful of JSON endpoints, and Bun already ships everything needed to call them.

**Do I need to compile TypeScript first?**

No. Point us at the .ts file and it runs. Bun strips the types without checking them, so run tsc locally if you want errors caught first.

**How should the bot handle Reddit being down?**

Wrap each poll so an error waits and retries rather than throwing out of the loop. If the process does exit, it restarts, and the handled-IDs table means it resumes without repeating itself.

**Does Bun read a .env file?**

Automatically. A .env uploaded with your code sits in your file manager like any other file, so for a Reddit password, environment variables set on the server are the safer home.

More on Reddit bots

- [Python→](https://sillydev.co.uk/python-reddit-bot-hosting)
- [Node.js→](https://sillydev.co.uk/nodejs-reddit-bot-hosting)
- [Ruby→](https://sillydev.co.uk/ruby-reddit-bot-hosting)
- [Reddit bots→](https://sillydev.co.uk/reddit-bot-hosting)

Hosting something else?

- [Discord bots→](https://sillydev.co.uk/discord-bot-hosting)
- [Minecraft bots→](https://sillydev.co.uk/minecraft-bot-hosting)
- [Telegram bots→](https://sillydev.co.uk/telegram-bot-hosting)
- [Twitch bots→](https://sillydev.co.uk/twitch-bot-hosting)
- [Bluesky bots→](https://sillydev.co.uk/bluesky-bot-hosting)
- [Twitter (X) bots→](https://sillydev.co.uk/twitter-bot-hosting)
- [WhatsApp bots→](https://sillydev.co.uk/whatsapp-bot-hosting)

Control it from code

- [Bot hosting with an API→](https://sillydev.co.uk/guides/bot-hosting-with-an-api)
- [API docs→](https://sillydev.co.uk/docs/panel)
