Skip to main content

Make an instance

1

Get a server and domain

You need a server and a domain name that serves HTTPS.
2

Install Xitter

Follow the Quickstart or Docker Compose, with PUBLIC_ORIGIN set to your address, for example https://xit.example.org. Federation is on by default.
3

Back up data/

The data/ folder holds your instance’s federation key. Other instances stop trusting you if you lose it.

Requirements

  • A recent Xitter version with federation on, over HTTPS, with nothing behind a paywall.
  • Active moderation, and a way for the project’s moderators to reach you. Join the Xitter Discord and put your Discord username in your pull request.
  • Public rules, written in the admin panel under Settings and shown at /rules, that ban:
    • sexual content of any kind, including pornography and non-consensual intimate media (AI-generated or deepfake included);
    • gore, including graphic images or videos of death, mutilation, serious injury or cruelty to people or animals;
    • harassment, doxxing, threats, incitement to violence, glorifying violent attacks and promoting terrorist or violent extremist groups;
    • attacking or demeaning people for their race, ethnicity, nationality, religion, sex, gender identity, sexual orientation, disability or age, including slurs, misgendering and deadnaming;
    • encouraging or instructing suicide, self-harm or eating disorders (supportive and recovery discussion is allowed);
    • spam, scams and manipulation;
    • misleading impersonation of a person, brand or organization;
    • anything illegal under Portuguese law or applicable EU law;
    • ban evasion.
An instance that doesn’t enforce these rules can be suspended or blocked on the list for a time or for good. The list’s maintainers can refuse any pull request and remove any instance.

Open the pull request

1

Copy your entry

Sign in as an admin and open the admin panel, then Federation. It shows the entry for your instance.
2

Add it to instances.json

Fork Xittered/xitter and add the entry to instances.json. Keep the list sorted by id, and raise sequence at the top by one.
3

Update INSTANCES.md

4

Open the pull request

Include your Discord username. A check confirms your instance is online, serves the key you listed and has rules at /rules.
Once it is merged, every instance picks up the new list within 5 minutes and starts syncing with yours.

Leaving

Set FEDERATION=off to stop federating, and open a pull request that removes your entry from instances.json. Turning federation off also stops superadmins from signing in to your instance.