Skip to content

Server administration

8 essential features · 30 added since the fork

What Catodon offers

Control panel dashboard

Improved by Catodon

See users, federation, queue and activity at a glance, with a dot for anything needing attention.

The Control Panel dashboard: what needs attention, what is left to set up, and the numbers of users, posts, servers and people online, above a chart of active users.

Registration and invites

Improved by Catodon

Open, close or invite-only sign-ups, with approvals, a minimum age and bot protection such as ALTCHA.

The Registration page of the Control Panel: open, invite-only or closed sign-ups, approval, minimum age and bot protection.

Single sign-on

Made by Catodon

Let people sign in with the organization's OpenID Connect provider.

The sign-in form with a Sign in with button for the identity provider the server is connected to, here a test provider named Mock, under the password and passkey ways in.

Announcements

Post notices to all users, optionally by email.

The announcements page of the Control Panel, to post a notice to every user, as a banner or a dialog, optionally by email.

Server defaults and branding

Made by Catodon

Set the server's default theme, language, timelines, forums and custom CSS for everyone.

The Branding page of the Control Panel: the server's name, icons, theme colors and default themes, grouped by where they appear.

Server widgets

Made by Catodon

Add custom widgets that the server draws for all its visitors.

The Widgets page of the Control Panel, with Custom widgets and Default layout tabs, an Add button, and what a widget can and cannot do: it runs sealed off from the app, and one that loads other sites waits behind a Load button.

Storage cleanup

Made by Catodon

Automatically delete old posts from other servers that nothing here uses, to stop the database growing.

The Data retention page of the Control Panel, which deletes old posts from other servers that nothing here uses.

Terms of service

Made by Catodon

Write the server's terms in the interface with dated versions kept.

The Terms of Service page of the Control Panel: an explanation of dated versions, and Publish a version open on the text in Markdown, a summary of what changed and the date it takes effect. Nothing published.

New in each version

Cleaning out old posts from other servers

26.9.0

An opt-in nightly job deletes posts from other servers once they are past a retention period and nothing on this server points at them, so the database stops growing without bound. It is off by default and starts as a dry run that deletes nothing; Control Panel → Performance holds its settings. A post that someone here has interacted with is kept, along with its whole thread.

The Remote post cleaning section of Data retention in the Control Panel: disabled, a warning about storage while the first runs clean up, the size of the note table, an Enable switch with what is always kept, and a button to run a dry run now.

Default timelines for the whole server

26.9.0

Admins set the Home slot and the tabs that new accounts get, and existing accounts too as long as they have not arranged their own. An option overwrites everyone’s timelines.

The Default timelines section of the Control Panel, where an admin sets the Home slot and the timeline tabs that new accounts get.

ALTCHA against bots

26.9.0

ALTCHA, a bot protection that runs on your own server and respects privacy, can now be used, and mCaptcha becomes a supported captcha option.

The bot protection choices of the Control Panel with ALTCHA, the default, selected among hCaptcha, mCaptcha and the others, a note that ALTCHA runs on the server itself without keys or third parties.

Widgets written by the server

26.11.0

Administrators can add their own widgets to the widget column: a small HTML page, with CSS and optionally JavaScript, or an embed such as a donation button or a Discord widget. Each runs sealed off from the app, unable to see who you are or act for you, and one that loads content from other sites asks before fetching anything, since those sites would see your IP address.

The Widgets page of the Control Panel, with Custom widgets and Default layout tabs, an Add button, and what a widget can and cannot do: it runs sealed off from the app, and one that loads other sites waits behind a Load button.

Safer defaults

26.03

Several protections are now on by default: a warning before an external link is opened, a stricter upload from a web address, visibility checks when posts are delivered to timelines and over WebSocket, and safer settings for where the server listens.

Server defaults for theme, language and forums

26.7.0

Admins can set the server’s default theme and language, and default forums that local accounts join automatically.

The Defaults for new accounts section of the Control Panel, with the default language and the default formatting style of the server.

Community banners from Storage, pinned in the sidebar

26.7.0

Community banners can take their image from Storage, and a banner can be pinned in the sidebar.

The form of a community banner in the Control Panel: its picture chosen from Storage with Select a file, or an image URL, its form, and its placement set to Pinned in the sidebar.

Database connection pool logging

26.10.0

Every process now watches its PostgreSQL pools and warns when queries have been left waiting for a free connection, then logs each pool's peaks once an hour. The pool size can be set from evidence rather than guessed.

Temporary files that clean up after themselves

26.7.0

Catodon manages its own temporary files, and removes the stale ones at startup and every hour.

Rate-limited sign-ups

26.9.0

Sign-ups, and sign-ups waiting to be completed, are now rate-limited per IP address.

Custom CSS for the whole server

26.9.0

Admins can add custom CSS for the whole server, and it is served as a real stylesheet.

The Custom CSS section of the Control Panel branding, with a code editor for CSS applied to the whole server.

Choosing what a visitor is shown first

26.10.0

A Landing page setting decides what somebody who is not signed in gets at the site root: the welcome screen, the public timelines, Explore or the About page. Only pages that work without an account are offered, and the stored default is what the server served before.

The Landing page setting of the Control Panel, offering the welcome screen, the public timelines, Explore or the About page to visitors.

A plain dark status bar in the installed app

26.10.0

The server tag colour is what Android paints the status bar with once somebody adds the server to their home screen, and a light or saturated one leaves that bar unreadable. A switch serves black there instead, touching nothing else about the colour.

The server tag colour in the Control Panel's branding, with a Plain dark status bar in the installed app switch turned on below it.

Holding an email domain for approval

26.10.0

Beside the banned domains, a second list whose sign-ups are created and wait for a moderator in the existing approval queue, where a banned domain refuses them outright. A domain listed covers its subdomains.

The Email domains that need approval list in the Control Panel's registration settings, just below the banned email domains.

A role can require two-factor authentication

26.10.0

Off by default. An account the policy applies to can no longer turn its two-factor authentication or its passkeys off once set up. It does not refuse the sign-in of an account that has none yet, which would leave that account outside with no way back in.

The Require two-factor authentication policy of the role template, turned on, with its explanation.

Blocking IP addresses and ranges

26.10.0

Single addresses, CIDR ranges and the loopback, link-local and unique-local names. Sign-in, passkey sign-in and sign-up are refused from them; reading is not affected and a session already signed in is not ended, so this closes the way in rather than putting anyone out.

The Blocked IP addresses setting, with a warning that an IPv4 range does not cover IPv6 and a list of addresses and CIDR ranges.

Suggested performance settings

26.11.0

Control Panel > Performance now opens with settings suggested for the machine it runs on, worked out from its memory, CPU cores, active accounts, database size and free disk space, each with its reason and an Apply button. Nothing changes until you apply one, and a nearly full disk for cached remote files lights the Control Panel dot. The list is also available through admin/performance-suggestions.

The Suggested for this server section at the top of the Control Panel performance page: what it read of the machine, its accounts, its database and its disk, and here nothing to suggest.

Sending an announcement by email

26.10.0

A switch in the announcement editor mails it to the local accounts that have left email announcements on and have a verified address. It is sent in the background in batches, resumes where it left off, and happens once for an announcement's whole life.

The announcement editor with the Also send this announcement by email switch turned on and its explanation.

A weekly container image of develop

26.10.0

Every Saturday the default branch is built and pushed under a moving dev tag and a dated one, so an instance can run what is being written without building it. The three most recent dated images are kept, so a bad week can be stepped back from, and the release channels are untouched.

Moving a recent Misskey server to Catodon

26.10.0

A server on any Misskey release up to 2026.10.0 can now migrate to Catodon in place, without manual SQL, where only Misskey 2025.4.1 or earlier could before. Remote note cleaning arrives switched off and in dry-run mode, even if it was on under Misskey.

Code block colours for the whole server

26.10.0

Control Panel → Branding lets admins choose the colours of code blocks in posts, one theme for dark mode and one for light mode, with a preview. The choice applies to everyone whose colour theme does not set code colours of its own, and the default keeps the colours used until now.

The two code highlighting selects of the Control Panel branding, for dark mode and for light mode, each above a preview of a code block in the chosen colours.

A public list of moderated servers

26.11.0

Control Panel → Federation → Policy gains a Moderated servers section: each blocked or silenced server can carry a public comment and have its name obfuscated, and admins choose who may see the list and the comments, nobody by default. The list then shows on the About page and to Mastodon apps, and imports and exports Mastodon's domain_blocks.csv with a preview before saving.

The Moderated servers section of the federation policy: spam.example blocked and noisy.example silenced, each with a public comment and an obfuscate switch, who may see the list and the comments, and the CSV export and import.

Explanations and translations for server rules

26.11.0

Each server rule can now carry a longer explanation and translations into any language Catodon speaks, as Mastodon 4.4 allows. People read the rules in their interface language where a translation exists, on the About page, at sign-up and when reporting, and Mastodon apps receive both from the instance endpoints.

The first server rule in the Control Panel, Be kind and respectful, with its Additional information and a French translation of both under Translations.

Notice of a new release

26.11.0

Once a day the server asks Catodon's forge for the latest stable release, and when it is newer the Control Panel Dashboard shows administrators a notice with a link to its release notes. Unlike Mastodon's check, the request does not send the running version, and it can be turned off in Network security.

Critical update and end-of-support warnings

26.11.0

The daily update check now reads which releases are critical and when each release line stops being supported. A newer critical release brings a Dashboard warning that cannot be closed, plus an announcement and email to each administrator, and the end of support is announced three months and two weeks before, then once past. As with the update notice, the request sends neither the server's name nor its version.

A Control Panel dot for pending work

26.11.0

The dot next to Control Panel in the navigation used to light only for unresolved reports and forum follow requests. It now lights for every card under Dashboard > Needs attention, from accounts awaiting approval and trends awaiting review to appeals and, for administrators, a critical update, now a card there instead of a banner. The dot, the menu count and the cards now agree.

The Control Panel dashboard: Needs attention: 2 at the top of its menu, and the Needs attention cards for unresolved reports and trending hashtags waiting for review.

Terms of service on the server

26.11.0

Administrators can now publish dated terms of service written in Markdown, with a summary of changes, from Control Panel → Terms of Service, instead of linking to a page elsewhere. Every version is kept and readable on the server, published versions cannot be edited, and accounts are notified ahead of a version taking effect later.

The Terms of Service page of the Control Panel: an explanation of dated versions, and Publish a version open on the text in Markdown, a summary of what changed and the date it takes effect. Nothing published.

Minimum age for new accounts

26.11.0

As in Mastodon 4.4, an admin can set a minimum age in Control Panel > Registration. The sign-up form then asks for a date of birth and refuses anyone younger, with an invitation or not, and only checks the date without storing it. Existing accounts are not asked anything, and the age is served to Mastodon apps as registrations.min_age of /api/v2/instance.

The Minimum age setting of the Control Panel registration page, empty and so turned off, with its explanation.