MCPSERV.CLUB
Misskey

Misskey

Self-Hosted

Federated social network, free forever

Active(100)
10.8kstars
0views
Updated 21 hours ago

Overview

Discover what makes Misskey powerful

Misskey is a federated, open‑source social‑networking platform built for developers who need a flexible, self‑hosted solution. At its core it implements the ActivityPub protocol to interoperate with other Mastodon‑compatible services, while providing a rich API surface that lets you build custom clients, bots, and integrations. The application is written entirely in TypeScript/Node.js on the backend, with a modern React‑based frontend that communicates via GraphQL and REST endpoints. Data is persisted in PostgreSQL, with Redis used for caching, job queues, and rate‑limiting.

Backend

Frontend

Database

Federation

Overview

Misskey is a federated, open‑source social‑networking platform built for developers who need a flexible, self‑hosted solution. At its core it implements the ActivityPub protocol to interoperate with other Mastodon‑compatible services, while providing a rich API surface that lets you build custom clients, bots, and integrations. The application is written entirely in TypeScript/Node.js on the backend, with a modern React‑based frontend that communicates via GraphQL and REST endpoints. Data is persisted in PostgreSQL, with Redis used for caching, job queues, and rate‑limiting.

Technical Stack & Architecture

  • Backend: Node.js (v18+) + TypeScript, Express‑style router with custom middleware. The codebase is modularized into “services” (e.g., UserService, NoteService) that expose both internal APIs and external GraphQL resolvers.
  • Frontend: React + Vite, leveraging TypeScript for type safety. The UI is built as a single‑page application that consumes the GraphQL API and WebSocket events for real‑time updates.
  • Database: PostgreSQL is the primary datastore, with a well‑structured schema that supports sharding via logical replication for large deployments. Redis is used as an in‑memory cache and task queue (BullMQ).
  • Federation: ActivityPub is fully implemented; Misskey can act as both a client and server, handling inbox/outbox logic, signature verification, and object serialization.
  • Containerization: Official Docker images are available on Docker Hub. The repository includes a docker-compose.yml that spins up all required services (API, worker, Redis, PostgreSQL) in a single command.

Core Capabilities & APIs

  • GraphQL: A comprehensive schema that exposes user profiles, notes, reactions, notifications, and federation streams. Supports subscriptions for live updates.
  • REST: Legacy endpoints for backward compatibility, including OAuth2 support for third‑party clients.
  • Webhooks: Publishers can subscribe to events (e.g., new note, user follow) via HTTP callbacks.
  • Plugin System: Developers can write plugins in TypeScript that hook into lifecycle events (e.g., onNoteCreated) and expose new routes or modify federation behavior.
  • CLI Tools: Administrative commands for database migrations, cache clearing, and instance statistics.

Deployment & Infrastructure

Misskey is designed to run in a containerized environment but can also be installed on bare metal. The Docker image exposes ports for HTTP (80/443) and a separate worker port for background jobs. For scaling, the architecture supports:

  • Horizontal Scaling: Multiple API instances behind a load balancer; PostgreSQL can be replicated, and Redis supports clustering.
  • Background Workers: Separate containers or pods handle long‑running tasks such as reblog propagation, email notifications, and cache invalidation.
  • Observability: Integrated Sentry for error tracking, Prometheus metrics, and Grafana dashboards are available out of the box.

Integration & Extensibility

  • OAuth2: Full support for third‑party authentication providers (GitHub, Google) and custom OAuth clients.
  • Federation Customization: Hooks to modify outgoing ActivityPub objects, block certain actors, or implement custom moderation policies.
  • Event Bus: An internal pub/sub system allows plugins to listen for and react to federation events without touching core code.
  • Internationalization: Localization files are maintained in Crowdin, enabling developers to add new languages easily.

Developer Experience

  • Documentation: The project hosts extensive docs covering API reference, deployment guides, and plugin development. The docs folder contains Markdown files that are automatically rendered on the website.
  • Community: Active Discord and GitHub discussions provide quick support. The codebase follows standard TypeScript conventions, making onboarding straightforward.
  • Testing: Codecov and Chromatic integration ensure high test coverage and visual regression testing, which is valuable for plugin authors.

Use Cases

  • Self‑Hosted Social Networks: Organizations can run a private, federated community with full control over data.
  • Custom Client Development: Build lightweight mobile or desktop clients that consume the GraphQL API and subscribe to real‑time updates.
  • Bot Ecosystem: Deploy automated services (e.g., content moderation bots, scheduled posts) as background workers or plugins.
  • Federated Chat: Use Misskey’s note system as a foundation for real‑time chat applications with federation support.

Advantages Over Alternatives

FeatureMisskeyMastodon / Others
TypeScriptNative TS backend & frontendMostly Ruby/Python
GraphQL APIFirst‑class, typed schemaLimited or REST only
Plugin ArchitectureBuilt‑in hooks & CLIOften requires fork
ActivityPub FlexibilityCustomizable serializationStandard implementation
Container SupportOfficial Docker + ComposeVaries by project

Developers choose Misskey when they need a modern, type‑safe stack with robust federation and an extensible plugin system—all while staying within the open‑source ecosystem.

Open SourceReady to get started?

Join the community and start self-hosting Misskey today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
apis-services
License
AGPL-3.0
Stars
10.8k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Supported OS
LinuxDocker
Author
misskey-dev
misskey-dev
Last Updated
21 hours ago