New
Apps 1,232Makers 1,230This week 1,232
Promote your app−30%
0views in
the last 30 days

Ocelot.Social

Open-source software for running your own fair, self-governed social networks.

Built with Claude Code

by ocelot-social-community · added Oct 29, 2026
no ratings0 comments

Ocelot.social is free and open-source software to run your own social network — for a community, an association, a movement or a region. It is developed by a community of programmers and the operators of the networks running on it.

ocelot.social

Our goal is that people can take part fairly and equally in online social networks — with every voice able to be heard. Instead of one platform for everybody, operators run networks of their own, and people choose where they want to be. The data stays close to the people and to the operator they trust.

In the long run we want these networks to connect (ActivityPub, Fediverse), so that people can follow and befriend each other across networks. If you would like to help build that, get in touch.

Screenshots

The pictures are taken from our demo data by the CI on every change to master, so they show the network as it is today.

News feed
A post with its comments Groups
A group Map
Chat Rights a network gives its groups

Features

Content

  • news feed, filtered by topic, post type, the people you follow or your groups, and sorted by date or event start
  • posts as articles and events (date, place, online or on site), with images and embeds
  • comments, reactions, shouts and pinned posts
  • hashtags, @-mentions and full-text search
  • a map of people, groups and events

Community

  • user profiles with location, social media links and badges
  • following, muting and blocking
  • groups — public, closed or hidden — with their own roles and rights: who may read, post, comment, invite, join or manage members is set per role, from a template or right by right
  • invite links for the network and for groups

Communication

  • chat: direct messages, group chats and file messages
  • video calls in groups (LiveKit)
  • notifications in the app and by e-mail, the e-mails configurable per kind

Running a Network

  • roles and permissions: define who may do what in the network, beyond the built-in user, moderator, admin and owner
  • network policies: switch features on or off — registration, invitations, groups, video calls and more
  • moderation: reports, review decisions, disabling content and users
  • administration of users, groups, categories, hashtags, pages, donations and API keys
  • branding: name, logo, colours and texts of your own network
  • 11 languages, installable as an app (PWA)

User Guide and FAQ

Demo

Try it on our staging network stage.ocelot.social. These logins work there and on a local installation with the demo data:

email password role
user@example.org 1234 user
moderator@example.org 1234 moderator
admin@example.org 1234 admin
owner@example.org 1234 owner

Help Us

Donate

Ocelot.social is mostly developed and maintained by the association busFaktor() e.V.. Please support it with a donation. Thanks a lot! ❤️

Contact

Would you like to run a network of your own, or join one?

For Developers

New here? The documentation covers the backend, the webapp, testing and deployment; questions are welcome on Discord.

Quick Start

With Docker (24.0.6 or newer):

$ git clone https://github.com/Ocelot-Social-Community/Ocelot-Social.git
$ cd Ocelot-Social
$ cp webapp/.env.template webapp/.env
$ cp backend/.env.template backend/.env
$ docker compose up

# in a second terminal, once everything is up
$ docker compose exec backend npm run db:migrate -- init
$ docker compose exec backend npm run db:migrate -- up
$ docker compose exec backend npm run db:seed

Then open http://localhost:3000 and log in with one of the demo accounts. The full guide — production compose, local installation without Docker, Apple Silicon and the one-time MinIO volume migration — is in installation.md.

Repository Layout

Folder What it is
backend GraphQL API server (Node.js, TypeScript, Apollo) on a Neo4j graph database
webapp the web frontend (Vue 2, Nuxt 2), server- and client-side rendered
packages/ui the component library, Vue 2 and 3 compatible, with Storybook
packages/branding what a network can brand, and the defaults
cypress end-to-end tests and executable feature specifications
deployment Helm charts and configuration for running a network
maintenance the page shown while a network is under maintenance

Technology Stack

Contributing

Choose an issue — our good first issues are a good start — and leave a comment there. We will then invite you to our volunteers team, which gives you the permission to push to this repository; if we have not invited you yet, ask for it on Discord.

Please work on a branch of this repository rather than a fork: the CI needs credentials a fork does not get. Name the branch <issue-number>-<description> and open a pull request against master.

Before you push, run the linters, and the tests of what you changed:

# in folder webapp/
$ npm run lint -- --fix
$ npm test

# in folder backend/ — the tests wipe the database they run against,
# so never point them at data you want to keep
$ npm run lint -- --fix
$ npm test

More in our contribution guideline. On Discord, introduce yourself at #introduce-yourself and mention @@Mentors to get onboard 🤓

Deployment

Networks run on Kubernetes, deployed with the Helm charts in deployment. A network's look and texts live in its own branding repository; stage.ocelot.social is the template.

Attributions

Locale icons made by Freepik from www.flaticon.com, licensed under CC 3.0 BY.

Browser compatibility testing with BrowserStack.

BrowserStack Logo

License

See the LICENSE file for license rights and limitations (MIT).

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#social-network · #social · #self-hosted