Home/Community

Community

List your instance

Add a community-run SiliconBeest server to the public instance directory through a validated pull request.

7 min readBased on project sourcesEnglish

One public registry

The root instance.json file is the single source of truth for stable directory metadata. After the page renders, the browser calls a separate project API that resolves description, languages, source URL, thumbnail, and registration mode from each server.

i
Keep the registry static and reviewable

Store stable public metadata only. Description, languages, source URL, thumbnail, registration mode, version numbers, user counts, uptime, and other live API values do not belong in instance.json.

Live fields come from the instance API

After page load, the directory calls /api/instances/metadata. That endpoint requests the optional uri field, or derives /api/v2/instance from url, and reads description, languages, source_url, thumbnail.url, and registrations.mode. SiliconBeest currently returns open, approval, referral, or closed. Unreachable or invalid fields are shown as unavailable rather than guessed.

FieldWhat to provide
name · domain · urlPublic name and an HTTPS origin whose hostname matches the domain
uriOptional explicit HTTPS /api/v2/instance endpoint on the same domain
statusproduction, active, development, or maintenance
featuredOptional maintainer-curated feature flag

Submit a pull request

  1. 1
    Fork and branch

    Fork SJang1/siliconbeest-io, then create a focused branch such as instances/example-social.

  2. 2
    Add one registry entry

    Edit only instance.json for a normal submission. Preserve the schema version and do not change another operator’s entry.

  3. 3
    Validate locally

    Run the deterministic registry validator, then type-check and build the site.

  4. 4
    Open the pull request

    Complete the instance pull request checklist. A maintainer may verify the public Mastodon-compatible instance endpoint before merging.

Terminal
git switch -c instances/example-social
# Edit instance.json
pnpm validate:instances
pnpm check
pnpm build
git add instance.json
git commit -m "Add example.social to the instance directory"
git push -u origin instances/example-social

Minimal entry example

instance.json
{
  "name": "Example Social",
  "domain": "example.social",
  "url": "https://example.social",
  "status": "active"
}
i
Only stable directory fields belong here

Do not add description, languages, source_url, thumbnail, or registration mode: the directory fetches those fields asynchronously from url + /api/v2/instance. Add uri only when the instance API uses an explicit endpoint.

!
Do not submit private or operational data

Do not include personal email addresses, API tokens, private analytics, user counts, infrastructure identifiers, or secrets. Link only to information that the operator intentionally publishes.

Review and maintenance

  • The validation workflow rejects unknown fields, duplicate domains, non-HTTPS URLs, and domain or API-path mismatches.
  • Maintainers verify that the server identifies itself as SiliconBeest and that description, languages, source_url, and thumbnail.url are supplied by its public API.
  • Description, languages, source URL, thumbnail, and registration mode update automatically from the live API; operators should submit a follow-up pull request when status, ownership, or other stable metadata changes.
  • Entries may be marked maintenance or removed when the domain no longer serves a SiliconBeest instance.
  • The featured flag is curated by directory maintainers and is not guaranteed by submission.
Want to improve this documentation?Every contribution helps.
Contribute on GitHub ↗