Open source · AGPL-3.0

Self-host Recalfy. One command, two keys.

Recalfy is an open-source AI memory assistant that lives in Telegram. You tell it things in plain language — a birthday, a wifi password, where you parked — and it remembers them, answers when you ask, and messages you when a reminder is due. Self-hosting it is free and takes one command.

v0.1.1 · Updated

Before you start

What you need to self-host Recalfy

Nothing to sign up for here. Your keys stay on your machine, in a file only you can read.

Docker

Docker Desktop or OrbStack on a Mac or PC; the installer below puts it on a Linux server for you.

Node.js 20 or newer

Only to run the setup command. The bot itself runs in a container.

A bot token and an AI key

The token comes from @BotFather in thirty seconds. The key is from whichever model provider you pick — or none, with Ollama.

Setup · about three minutes

How to self-host Recalfy, in four steps

  1. 01

    Make a bot

    In Telegram, message @BotFather, send /newbot and answer its two questions. It replies with a token.

  2. 02

    Run the setup

    Paste the token when asked, pick a model provider and paste its key. Both are checked on the spot, so a typo fails now rather than on your first message.

  3. 03

    Say hi to your bot

    Send it any message. Whoever sends it becomes the owner — the only person it will ever talk to. No looking up ids.

  4. 04

    That's it

    Setup starts everything and the bot messages you when it's ready. No domain, no HTTPS certificate, no port forwarding.

On a fresh Linux server, this installs Docker and Node first, then runs the same setup:

curl -fsSL https://raw.githubusercontent.com/kolinabir/recalfy/main/install.sh | sh

The model

Which AI model should you use?

Recalfy saves facts and sets reminders by calling tools. A model that answers in prose instead says “got it” and saves nothing — so pick one that's good at it.

ProviderStart withWhy
OpenAIgpt-5-miniReliable; a few dollars a month for one person
OpenRouteropenai/gpt-5-miniOne key, hundreds of models
Z.aiglm-5.2What recalfy.com runs on; cheap
Ollamaqwen3:8b or largerFree and private; runs on your own machine

Running costs

What does it cost to run?

A fact is about 15 tokens, and the whole memory goes into every prompt, where it is cached. So the model bill grows with how much you've told it, and stays small.

Server$0 on a machine you already have; about $4–6 a month for a small VPS
Telegram$0
Database$0 — MongoDB runs in the same Docker setup
AI model, 500 memoriesabout $0.75 a month at 30 messages a day (GLM, cached)
AI model, 2,000 memoriesabout $3 a month at the same pace
AI model, Ollama$0 — it runs on your own hardware
Model figures are from the measurements in Recalfy's design notes; other providers price differently.

Day to day

Six commands you might ever need

npx recalfy statusIs it running?
npx recalfy logsWhat it's doing, live
npx recalfy updateDownload the newest version
npx recalfy backupSave a copy of the whole database
npx recalfy exportYour memory as Markdown
npx recalfy stopTurn it off, keeping everything

Which one?

Hosted or self-hosted?

Same bot, same memory model, same reminders. The difference is who keeps it running.

Hosted on recalfy.com

  • Nothing to install or keep running
  • A dashboard to browse, search and export your memory
  • Updates arrive without you doing anything
  • Seven days free, then a plan
See plans

Self-hosted

  • Free — you pay only your AI provider, or nothing with Ollama
  • Your memory lives in a database on your machine
  • Any model: OpenAI, OpenRouter, Z.ai, or a local one
  • You run updates and backups — one command each
Get the code

Questions

Self-hosting Recalfy: common questions

Is Recalfy free to self-host?

Yes. The code is open source under the AGPL-3.0 licence and self-hosting costs nothing. You pay only for the AI model you choose — typically under $3 a month for one person — or nothing at all with a local model through Ollama.

Do I need a domain, a public IP or HTTPS?

No. A self-hosted Recalfy asks Telegram for new messages itself (long polling), so nothing has to reach your machine from outside. It runs behind a home router, on a laptop or on a Raspberry Pi 5 with no port forwarding.

Which AI models work with Recalfy?

Any OpenAI-compatible chat API whose model supports tool calling: OpenAI, OpenRouter, Z.ai (GLM), Groq, Together, or a local model through Ollama or LM Studio. Tool calling matters because saving facts and setting reminders happen through tools.

Where is my data stored?

In a MongoDB database inside Docker on your own machine. Your messages still pass through Telegram, and each message is sent to the AI provider you picked — unless that provider is Ollama, in which case nothing leaves your hardware.

Can Recalfy run on a Raspberry Pi?

Yes, on a Raspberry Pi 5 with a 64-bit OS. The image is published for amd64 and arm64, so Apple Silicon Macs and ARM servers work too. A Pi 4 does not: the MongoDB version Recalfy uses needs a newer ARM processor than the Pi 4 has.

How is it different from the hosted version at recalfy.com?

It is the same code. Hosted adds a web dashboard, automatic updates and nothing to maintain, for a monthly plan. Self-hosted is free, keeps the database on your machine and lets you pick any model; you run updates and backups yourself, one command each.

Does it use a vector database or embeddings?

No. Each fact is about 15 tokens, so the whole memory is rendered as Markdown and handed to the model on every message. That is cheaper than retrieval at personal scale, and it lets the model see corrections and contradictions instead of guessing which notes are relevant.

Who can use a self-hosted bot?

Only its owner — the Telegram account that sent the first message during setup. Anyone else who messages the bot is told it is private, and their messages never reach the AI model.

If something's off

Troubleshooting

Anything not covered here: open an issue on GitHub with the logs, keys removed.

The bot doesn't answer

Run npx recalfy logs. A 409 means another copy is running with the same token; a 401 from the model means the key is wrong or out of credit.

Reminders arrive at the wrong time

Tell the bot where you are — "I'm in Berlin" — and it resets your timezone.

Permission denied talking to Docker (Linux)

Run sudo usermod -aG docker $USER, then log out and back in.

Moving to another machine

npx recalfy backup on the old one, stop it, run setup on the new one with the same bot token, then npx recalfy restore the file.