GrainFed

Features

What GrainFed does, for the people who post and for the people who run the server. Everything here is in the current source.

For the people who post

Postingphotos and albums

  • Single photos and albums, with captions, hashtags and @mentions
  • Alt text on every image, so photographs are described for people who cannot see them
  • Photos straight from an iPhone (HEIC) and modern formats (AVIF, WebP) are decoded and converted, so they become posts rather than broken images
  • Mark a post sensitive, choose who can see it, and choose who can quote it
  • Stories: short-lived photos that expire on their own, shown in a tray above the feed (switched on per instance)
  • Collections: named sets of posts on your profile

Browsingfeeds and discovery

  • A home feed of the people you follow, and a local timeline of the whole server, both in time order
  • Search across people, hashtags and posts, and public hashtag and discover pages
  • Profiles with a photo grid, follower and following counts, and a portfolio page
  • An Atom feed of your posts, and embeds, for anyone who wants to follow without an account

Talkingpeople and conversation

  • Like, comment, reply, boost to your followers and bookmark
  • Notifications for likes, boosts, mentions, replies and new followers, from any server
  • Direct messages with members and with people on other servers
  • Follow, and be followed by, accounts on Mastodon, Pixelfed and other ActivityPub servers

Privacy and safetyyours to set

  • Private accounts that approve followers; opt out of search engines and of being indexed by other servers; hide your follower counts
  • Block accounts, whole servers and keywords; mute accounts; filters; parental controls
  • Choose whether other servers may feature you in collections or quote your posts
  • Two-factor sign-in, a list of connected apps you can revoke, a download of your data, and moving your account to another server
  • Pronouns on your profile, and email and password management

For the people who run the server

Onboardingwho joins

  • Open registration, or curated applications: each applicant says who they are and why, and you approve, decline or ask a question, with message templates and an email to the administrators when a new application is confirmed
  • Invites that you create, and optional invites that skip email verification
  • Captcha on sign-in, registration, password reset and applications, with three providers (hCaptcha, Cloudflare Turnstile and Cap) and a choice of whether it fails open
  • A hidden honeypot field on registration, a ban on sign-up from cloud-provider addresses, a user limit and a minimum registration age
  • Starter packs: curated sets of accounts that new members can follow in one step

Moderationwhat stays

  • A reports queue with the reported post and account one click away, and a queue of appeals
  • An autospam queue and shadow filters
  • Actions on posts and accounts, with the history kept
  • Contact messages from visitors in the same place as everything else

Federationwho you talk to

  • See every server you have heard from, and block, limit or unblock any of them
  • Relays: follow a hashtag or a relay to bring in public posts from servers nobody here follows yet
  • Block lists shared with servers you choose (FEP-070c), in both directions
  • Every delivery to another server is recorded with the answer it got, so a post that did not arrive has a reason you can read
  • Follower lists kept in step between servers (FEP-8fcf), quote posts with the quoted person’s consent (FEP-044f), featured collections (FEP-7aa9)

Running itseeing and tuning

  • A dashboard that opens with what needs you: open reports, unread messages, failed jobs
  • Statistics for what people here wrote against what arrived from other servers, over a month
  • A status page that measures: it queries the database, writes and reads a file in object storage, times the queue and checks mail
  • A log of every email the instance tried to send, with what the mail server answered, and a button that sends a test to yourself
  • A Performance setting for how long the instance’s public counts are cached (two hours is recommended)
  • Configuration, custom emoji, hashtag and discover curation, a newsroom, a directory, and the OAuth apps that have access
  • Command-line tools: doctor surveys an instance read-only, probe calls every route, optimize proposes reversible index changes

For the apps people already use

APIswhat they talk to

  • The Pixelfed API that the official Pixelfed apps use, and the Mastodon API (versions 1 and 2) that Mastodon-compatible clients use
  • OAuth with the tokens you already have, so people stay signed in across a switch from Pixelfed
  • A JSON admin API alongside the admin panel

Compatibilitywith Pixelfed

See it for yourself

Install it, or read the source. The change log says what is new.