unsubbed.co

Tootik

Tootik is a self-hosted fediverse & activitypub tool that provides federated nano-blogging service with federation.

A federated social network that refuses to have a web interface. Honestly reviewed.

TL;DR

  • What it is: A self-hosted ActivityPub node that federates with Mastodon and the wider fediverse, but serves its own UI exclusively over the Gemini protocol — no web browser, no app [README].
  • Who it’s for: Privacy-minded individuals and small communities who want a presence on the fediverse without the operational weight of Mastodon, and who are already comfortable with Gemini clients.
  • Cost savings: Runs on a VPS at $5/mo or less, including a single-file SQLite database. Mastodon’s self-hosted footprint is typically 3–5× heavier in RAM alone [README].
  • Key strength: Radically minimal. Single static binary, one SQLite file, no external service dependencies. Backup is literally cp tootik.db somewhere/ [README].
  • Key weakness: The Gemini-only interface is the feature and the bug simultaneously. If you or the people you want to onboard have never installed a Gemini client, the project is dead on arrival. There are 195 GitHub stars as of this writing — this is a niche tool used by a niche within a niche [merged profile].

What is Tootik

Tootik is a text-based, federated social network. It speaks ActivityPub, which means it can exchange posts, follows, and replies with Mastodon, Lemmy, GoToSocial, Akkoma, Sharkey, Friendica, and others [README]. A user on your tootik instance can follow and reply to someone on mastodon.social, and that interaction looks normal from the Mastodon side.

What makes tootik different from every other fediverse server is what it deliberately doesn’t have: a web browser interface. There is no HTML frontend. There is no mobile app. The only way to use tootik as a client is through a Gemini browser — a protocol from 2019 that sits between Gopher and HTTP in complexity, serves plain text and minimal markup over TLS, and has a small but passionate ecosystem of clients [README].

The architecture diagram in the README makes this concrete: Bob uses a Gemini client to connect to his tootik instance. Alice uses a different Gemini client. Carol, who is on Mastodon, uses her normal web browser and sees Alice’s posts there. The tootik instance is the bridge — it stores everything, federates over ActivityPub/HTTPS, and serves the local UI over Gemini. Carol never touches Gemini. Bob and Alice never open a web browser for this [README].

The project is written from scratch in Go and SQL (not forked from Mastodon, Pleroma, or anything else), is built as a single static executable, and stores all instance data in a single SQLite file [README]. It is permissively licensed under Apache-2.0. It has 195 GitHub stars, 7 forks, and 809 commits — a project maintained with care, not abandoned, but definitively not mainstream [merged profile].


Why people choose it

The honest answer is: very specific people choose it for very specific reasons, and if those reasons don’t resonate with you, you should stop reading here and look at GoToSocial instead.

The appeal of tootik is the intersection of three things: Gemini, minimalism, and fediverse participation.

The Gemini angle. Gemini is a small-internet protocol designed to be as simple as possible — no JavaScript, no CSS, no tracking pixels, no ads, no dynamic content. If you already browse Gemini capsules and have a client you like, tootik gives you a social feed that fits the same aesthetic. You read posts the same way you read everything else on Gemini: fast, plain, quiet [README].

The minimalism angle. The self-hosting community often discusses the gap between “wanting a Mastodon account” and “being willing to operate a Mastodon server.” Mastodon requires PostgreSQL, Redis, Sidekiq workers, Nginx, and at minimum 2–3GB RAM in practice, often more [general self-hosting context]. Tootik requires none of that. It’s one binary. One file. It runs on a $5 VPS or a single-board computer [README]. For someone who wants to post to the fediverse from their own server without running a data center in their basement, this matters.

The privacy angle. Tootik authenticates users via TLS client certificates. You don’t hand over an email address. You don’t create a password. You generate a cert and that cert is your identity. This matches how Gemini works generally, and it means there’s no “forgot password” flow, no email-based account recovery, and no identity tied to a third-party provider [README]. No promoted content, no tracking, no analytics — the README explicitly calls this out as a design goal [README].

The tradeoff is real and the project doesn’t hide it: if you want to use tootik’s interface from your phone, you need a Gemini client on your phone. That’s a non-trivial ask for most people.


Features

Based on the README and GitHub source:

Posting and federation:

  • Text posts at three privacy levels: public, followers-only, direct (mentioned users only) [README]
  • Sharing (boost/reblog) of public posts [README]
  • Quote posts (FEP-044f) — though without approval support [README]
  • Follow/unfollow with optional manual approval of follow requests [README]
  • Mastodon follower synchronization (FEP-8fcf) [README]
  • Multi-choice polls [README]
  • Titan protocol support for uploading posts and user avatars [README]

Discovery and organization:

  • Bookmarks [README][merged profile]
  • Full-text search within posts (requires building with the fts5 tag) [README][merged profile]
  • Mentions [merged profile]

Communities (Lemmy-style):

  • Follow a community to join it
  • Mention a community in a public post to start a thread
  • Community broadcasts posts and replies to all members [README]

Account portability:

  • FEP-ef61 portable accounts: one Ed25519 keypair, activity replicated across servers
  • Account migration in both directions [README]

Instance management:

  • Support for multiple client certificates per user
  • Invite-only registration support
  • Automatic deletion of old posts [README]

What’s not there:

  • No web UI
  • No mobile app
  • No image gallery or media-heavy features (by design — rich content is reduced to plain text and links)
  • No email-based authentication
  • No built-in moderation dashboard accessible via browser

The feature set is deliberately scoped. The README states it implements “the subset of ActivityPub required for its feature set but not more, to stay small, reliable and maintainable” [README]. This is philosophy, not incompetence.


Pricing: SaaS vs self-hosted math

Tootik is Apache-2.0 licensed. The software costs nothing [README].

Self-hosted:

  • Software: $0
  • VPS: $3–5/mo (tootik is lightweight enough for the smallest VPS tier — the README specifically says “$5/mo or a SBC” [README])
  • Storage: minimal — SQLite, text-only posts, one file

Mastodon managed hosting (for comparison):

  • masto.host: starts at €6/mo for 100 users, €13/mo for 500 users
  • Mastodon.social/joinmastodon.org: free to join an existing instance (no self-hosting cost, but no ownership)

Self-hosted Mastodon (for comparison):

  • Realistically requires 2–4GB RAM to run stably
  • DigitalOcean/Hetzner at that spec: $12–20/mo
  • Plus PostgreSQL, Redis, Sidekiq — either managed (more expensive) or configured yourself

If you want your own fediverse node and you’re comparing tootik to self-hosted Mastodon, the math is roughly $5/mo vs $15–20/mo, plus significantly less maintenance overhead. If you’re comparing to joining an existing Mastodon instance, cost is a wash — but you don’t own the infrastructure in that case.

GoToSocial, which is a closer competitor (lightweight, single binary, no Gemini), is also Apache-2.0 and runs comparably light. Data not available on specific managed GoToSocial hosting pricing.


Deployment reality check

This is where tootik actually earns its “easy to self-host” claim, with one significant caveat.

What the setup looks like:

  • Download the binary (or build from source: go build -tags fts5 ./cmd/tootik) [README]
  • Run it with your domain and cert path as arguments
  • Reverse proxy (Nginx or Caddy) for HTTPS on the ActivityPub port
  • The Gemini server port (typically 1965) pointed at tootik directly
  • No database setup — SQLite is embedded and created automatically [README]

What you need on your server:

  • A Linux VPS with 512MB–1GB RAM (the README suggests $5/mo is sufficient [README])
  • A domain name
  • A reverse proxy for the HTTPS/ActivityPub side
  • Nothing else

The Gemini client problem: This is the deployment step that has nothing to do with the server. Every user of your tootik instance needs to install a Gemini client. On desktop, options include Lagrange (polished, actively maintained), Amfora (terminal-based), and others. On mobile, options exist but are less mature. For a solo operator or a small friend group who already browses Gemini, this is trivial. For anyone else, it’s a full explanation of what Gemini is before you can even show them how to log in.

The client certificate step: After installing a Gemini client, users need to generate a TLS client certificate and import it. This is a one-time setup, but it’s not a process that has a “forgot password” escape hatch. If you lose the cert, you lose account access. Document this clearly for anyone you invite.

Realistic time estimates:

  • Technical user who already runs other self-hosted services: 30–60 minutes to a working instance
  • Technical user unfamiliar with Gemini: add 1–2 hours for client setup and testing
  • Non-technical user: not recommended without a dedicated guide and someone to help

Pros and cons

Pros

  • Single binary, single file. The entire instance is one executable and one SQLite database. Backup, restore, migrate — all trivially simple [README].
  • Apache-2.0 license. No commercial restrictions, no “Fair-code” caveats, no dual-licensing games [README][merged profile].
  • Minimal resource footprint. Runs on hardware that most self-hosted apps won’t touch — old SBCs, cheap VPS, a Raspberry Pi [README].
  • Full fediverse federation. You’re not isolated. Your users can follow and interact with accounts on Mastodon, Lemmy, GoToSocial, and others. The social graph is the whole fediverse [README].
  • Genuine privacy architecture. TLS client certs instead of email/password, no tracking, no analytics baked in. If you care about this model, it’s consistently applied, not bolted on [README].
  • Written from scratch in Go. Not a Mastodon fork carrying Mastodon’s complexity. Easier to understand, audit, and contribute to [README].
  • Portable accounts (FEP-ef61). You can migrate your account to a different server without starting from zero [README].
  • No external dependencies. No Redis, no Sidekiq, no Elasticsearch. What you see is what you get [README].

Cons

  • The Gemini client requirement is a hard barrier. Every user needs to install and configure a Gemini client before they can use tootik’s native interface. There is no fallback web UI [README]. For anyone outside the Gemini-curious community, this is a non-starter.
  • 195 GitHub stars. This is a small project. It’s well-built and maintained, but it has 7 forks. If the maintainer stops caring, the project stalls. There’s no large community to absorb that [merged profile].
  • Text-only by design. Image hosting, video, rich embeds — not the goal here. If your social networking involves more than text and links, this isn’t the tool [README].
  • No moderation tooling to speak of. There’s invite-only registration and manual follow approval, but a web-accessible moderation dashboard doesn’t exist because there’s no web UI at all. Managing a public instance would be operationally painful.
  • The feature gap vs. Mastodon is real. No notification system in the conventional sense, no trending topics, no detailed analytics, no list management — features that Mastodon users take for granted simply aren’t the priority here [README].
  • No third-party reviews. Independent review coverage for tootik is effectively zero outside the GitHub README and direct source inspection. The project is too niche to have accumulated Trustpilot reviews, How-To Geek write-ups, or Reddit threads about gotchas. You’re going in without a guide.

Who should use this / who shouldn’t

Use tootik if:

  • You already use Gemini and want a fediverse node that fits the same aesthetic
  • You want to run a personal fediverse node (just yourself or a tiny friend group) on the cheapest possible hardware
  • You want a self-hosted ActivityPub server that has no web UI attack surface to harden
  • You’re a Go developer who wants to study or contribute to a clean, from-scratch ActivityPub implementation
  • You prioritize operational simplicity above all else — no managed databases, no background job queues, no external services

Skip it (look at GoToSocial) if:

  • You want a lightweight, easy-to-host fediverse server but need a web or app UI
  • You want the Mastodon experience at lower resource cost without the Gemini requirement
  • You’re onboarding non-technical users onto their own fediverse accounts

Skip it (look at Mastodon) if:

  • You need full feature parity with the fediverse mainstream: lists, notifications, moderation tools, trending, apps
  • You’re running a public instance with more than a handful of users
  • Your users have no interest in Gemini clients

Skip it (consider a managed instance) if:

  • You want a fediverse account but don’t want to operate any server
  • You’re not comfortable with the command line
  • Account access via TLS certificate sounds like a liability rather than a feature

Alternatives worth considering

  • GoToSocial — The closest real alternative for “lightweight fediverse node, no web-admin complexity.” Single binary, low RAM, PostgreSQL backend (slightly heavier than tootik’s SQLite). Has a web UI. AGPL-3.0 licensed. More active community, more third-party resources.
  • Mastodon — The reference implementation. Largest fediverse server base, best app support, most complete feature set. Much heavier to self-host.
  • Pleroma/Akkoma — Elixir-based, lighter than Mastodon, more feature-complete than tootik. Akkoma is a community fork of Pleroma with active development.
  • Misskey/Calckey/Firefish — Feature-rich, include image boards and reactions, heavier than GoToSocial.
  • Pixelfed — If you want Instagram-style photo sharing on the fediverse, not text-first posting.
  • Mitra — Another minimalist ActivityPub server (mentioned as a compatible server in the tootik README [README]), Rust-based.

For the specific use case of “I want my own fediverse node, lightest possible, no external dependencies,” the realistic shortlist is tootik vs GoToSocial. Pick tootik if you’re already in the Gemini world and the philosophy resonates. Pick GoToSocial if you need a web UI or plan to onboard users who’ve never heard of Gemini.


Bottom line

Tootik is a genuinely well-built piece of software that has made a coherent set of decisions and stuck with them. Single binary. SQLite. Gemini UI. No web frontend. If that sounds like the kind of thing you’d build yourself, tootik probably saves you six months of work and gives you a maintained codebase to start from. If it sounds like an obstacle course before you can check your timeline, it is — and you should use GoToSocial instead.

The project is not trying to be Mastodon. It’s trying to be the smallest possible thing that participates honestly in the fediverse while keeping everything local, private, and repairable without a support ticket. For a narrow audience — Gemini users, minimalists, solo instance operators who want to own their fediverse identity without running a data center — it earns that pitch cleanly.


Sources

  1. dimkr/tootik — GitHub README and repository (195 stars, Apache-2.0, 809 commits). https://github.com/dimkr/tootik
  2. SETUP.md — tootik instance setup documentation. https://github.com/dimkr/tootik/blob/main/SETUP.md
  3. FEDERATION.md — tootik federation compatibility notes. https://github.com/dimkr/tootik/blob/main/FEDERATION.md
  4. Gemini Protocol specification. https://geminiprotocol.net/
  5. ActivityPub W3C Recommendation. https://www.w3.org/TR/activitypub/

Features

Collaboration

  • Mentions & Notifications

Search & Discovery

  • Bookmarks / Favorites
  • Full-Text Search