Aller au contenu

Server modes: a community, invite-only, or just you

Documentation 6 min de lecture Source sur codefloeEn anglais uniquement

Sur cette page

An admin says who the server is for in Control Panel > Community > Server mode, or in the question the first-admin setup asks. There are three modes. A mode is a preset over settings the server has anyway: it writes a few of them for you, every one of them can still be changed by hand afterwards, and switching to another mode puts back what the mode changed. Nothing is deleted, and nothing is blocked.

The three modes

A community is how a Catodon server has always worked, and it is the mode every existing server is in after upgrading. It changes nothing: registration, invitations, roles and every page for several people stay as you set them.

Invite-only is for a small server among people who know each other. It closes registration, and new people join with an invitation from an admin or a moderator. Roles are left alone, so the base role still cannot invite: give the Can create server invite codes policy to a role if you want members to invite too. Posts on an invite-only server are exactly as public and as federated as on any other server; only signing up is restricted. Signed-out visitors still read public posts and profiles through direct links, and the sign-in page keeps its Sign up at this server button for whoever holds an invite code.

Just me is for a server run by one person, its owner. It:

  • closes registration;
  • turns on the Simple setup, a timeline of the accounts you follow with a short navigation bar and no tab for this server or for all servers, and makes it the default setup for new accounts;
  • shows signed-out visitors the owner's profile on the server's front page, unless the landing page under Control Panel > Discovery and defaults is set to something other than the welcome screen;
  • fills in the server's name, icon and maintainer name, wherever you left them empty, with the owner's display name and avatar: in page titles and link previews, the favicon, the name the app installs under and nodeinfo. A value you set yourself always wins, and the Control Panel forms keep showing the fields as you left them;
  • hides the sign-up buttons and the invitation links, and moves the Control Panel pages for several accounts (Appeals, Roles, Invites, Registration) into a folded Multi-user group. They open with a click, and the Control Panel search still finds them;
  • lowers the timeline cache kept for each account from another server from 800 posts to 200, under Control Panel > Performance, but only if that number was still 800. It only saves memory: nothing reads those lists for a remote account today, the profile page reads its posts from the database.

The owner is chosen on the Server mode page. When nobody is chosen, the account that set the server up becomes the owner. Changing the owner later changes the profile visitors meet and the name and avatar that stand in for the server's.

When you switch to Just me from the Control Panel, the accounts that already exist keep the setup they see, unless you turn on Also give the Simple setup to existing accounts. The first-admin setup does it for you, since the owner is then the only account.

Switching back, and what is put back

Switching to another mode puts back every setting the previous mode changed, as long as the setting still holds the value the mode wrote. A setting you edited since keeps your value. For example, if you opened registration again by hand while in Just me, switching to A community leaves it open; if you did not touch it, it goes back to what it was before Just me.

Nothing the mode hid is gone: the pages, buttons and links come back as soon as you leave the mode.

Accounts can still be created by hand

Just me does not block a second account. Add a user, on Control Panel > Users, still creates one, and invitations made before still work. When the server has more than one account, the Dashboard says so and suggests choosing another mode; nothing switches by itself.

Moving in

Once the server is in Just me, the Server mode page lists the pages that help its owner settle in, and so does the last page of the Profile setup dialog the owner sees after the first-admin setup:

  • Migrate another account to this one, in Settings > Manage account: add your old account as an alias here, then move it from its own server, and its followers follow you here.
  • Import and export, in Settings > Data and storage: import the accounts you followed, exported from your old account.
  • Relays, in Control Panel > Federation. A server with one account only receives posts from the accounts you follow. A relay, or a Mobilizon or PeerTube server followed the same way, sends this server its public posts, so search and hashtags find more.

Remote profiles that fill in when opened

On a server with few accounts, few remote accounts are followed, so the profile of someone reached through a mention or a search often shows their pinned posts and nothing else. In the Invite-only and Just me modes, opening such a profile while signed in fetches the account's recent posts from its server in the background, the same refresh a new follower gets. They show the next time the profile is opened.

A profile counts as little-known when this server has fewer of its posts than a threshold. Pinned posts, replies and reposts do not count. The threshold is on the Server mode page, 5 by default, from 0 to 10, and 0 turns this off. Each account is fetched at most once every 5 minutes, whatever asked for it. A community server never does this, whatever the threshold.

The Your server card

The Control Panel Dashboard has a Your server card with what the admin of a small server wants at a glance, each line leading to the page with the detail:

  • failed and delivered deliveries over the last 24 hours, from the hourly federation chart, which is cached for an hour;
  • jobs waiting and delayed in the delivery and inbox queues. Delayed jobs include retries for servers that are down, so a server that has gone away keeps this above zero for a while;
  • when a relay last sent something to this server;
  • for administrators, whether a newer Catodon release is out.

The relay line asks each relay's server for the most recent request this server received from it, for the 10 relays the list gives first: a server following more is read for those 10, and the line says Not available rather than a figure it could not check.

The card is open on invite-only and personal servers. On a community server it is folded and asks the server for nothing until it is opened.

The configuration file

Some settings live in .config/default.yml, not in the database, and no mode changes them. When Just me is chosen, the Server mode page recommends three lower job queue settings for a server with one account:

deliverJobConcurrency: 32
inboxJobConcurrency: 8
relationshipJobConcurrency: 8

They are the "Small instance" values of .config/example.yml, against 128, 16 and 16 by default. Restart the server after adding them, and if jobs pile up on the Server health page, under Control Panel > System, raise them again. Keep deliverJobConcurrency at 32 or more: deliveries wait on other servers, and a lower value delays your posts.