MCPSERV.CLUB
Socialhome

Socialhome

Self-Hosted

Federated personal profile and social networking platform

Active(70)
372stars
0views
Updated Sep 20, 2025
Socialhome screenshot

Overview

Discover what makes Socialhome powerful

Socialhome is a self‑hosted, federated social networking engine that blends personal profile management with robust content publishing and federation. Built on a modern Python stack, it exposes ActivityPub and Diaspora protocols out of the box, enabling seamless interaction with other federated services such as Mastodon, Friendica or Diaspora*. The core idea is to give developers a lightweight yet extensible platform that can serve as the backbone of community sites, internal communication portals, or custom micro‑blogging services.

Language

Framework

Database

Task Queue

Overview

Socialhome is a self‑hosted, federated social networking engine that blends personal profile management with robust content publishing and federation. Built on a modern Python stack, it exposes ActivityPub and Diaspora protocols out of the box, enabling seamless interaction with other federated services such as Mastodon, Friendica or Diaspora*. The core idea is to give developers a lightweight yet extensible platform that can serve as the backbone of community sites, internal communication portals, or custom micro‑blogging services.

Technical Stack & Architecture

  • Language: Python 3.10+, leveraging the asyncio ecosystem for concurrent request handling.
  • Framework: Django 4.x, chosen for its mature ORM, admin interface, and built‑in authentication. The project is modularized into apps (socialhome, api, federation) to keep concerns separated.
  • Database: PostgreSQL is the recommended backend, providing full‑text search, JSONB support, and robust transaction guarantees. SQLite can be used for lightweight dev deployments.
  • Task Queue: Celery with Redis broker handles background jobs such as federation delivery, media processing, and scheduled tasks.
  • Web Server: ASGI support via Daphne or Uvicorn, allowing HTTP/2 and WebSocket integration for real‑time updates.
  • Containerization: A ready‑to‑use Docker image is available (jaywink/socialhome) and the repository ships a docker-compose.yml that wires together Django, PostgreSQL, Redis, and Nginx.

The architecture follows a classic micro‑service flavor: the Django core serves API endpoints, while federation logic is encapsulated in a separate service that listens to outgoing and incoming ActivityPub messages. This separation makes it straightforward to scale the API layer independently from federation traffic.

Core Capabilities & APIs

  • Rich Content Model: Users can author posts using Markdown, or inject raw HTML/JS/CSS if granted trust. Posts are first‑class objects with tags, reactions, and pinning support.
  • Federation APIs: Full ActivityPub compliance (Actors, Objects, Activities) plus Diaspora’s dpost/dreply endpoints. The API is documented in OpenAPI format, and can be explored via the built‑in Swagger UI.
  • Webhooks & Callbacks: External services can subscribe to events (new post, comment, follower change) through configurable webhooks. The payloads are JSON‑encoded and signed with a shared secret.
  • Plugin System: A lightweight plugin API allows developers to inject custom logic into request/response cycles, modify the ORM models, or register new endpoints without forking the core.
  • Internationalization: All strings are translatable; developers can add new locales via the Codeberg Translate integration.

Deployment & Infrastructure

Socialhome is designed for Docker‑native deployments but can run on any ASGI‑compatible server. The provided docker-compose.yml handles environment variables, volume mounts for media, and reverse‑proxy configuration. For production, a typical stack would involve:

  1. NGINX (or Traefik) for HTTPS termination and static asset serving.
  2. PostgreSQL with WAL archiving for point‑in‑time recovery.
  3. Redis as a Celery broker and cache backend.
  4. Horizontal scaling of Django workers behind a load balancer; federation processes can be scaled separately to handle bursty activity streams.

The application’s use of standard protocols and open‑source tooling means it can be integrated into existing Kubernetes clusters or legacy LAMP stacks with minimal friction.

Integration & Extensibility

  • OAuth2 / OpenID Connect: Socialhome can act as an identity provider or integrate with external auth providers.
  • GraphQL: A GraphQL endpoint is available for fine‑grained data fetching, reducing over‑fetching in mobile clients.
  • Custom Widgets: Front‑end templates are themeable; developers can override the Django template hierarchy or inject React components via a simple static file hook.
  • Community Plugins: The ecosystem includes plugins for Markdown extensions, emoji support, and moderation tools that can be installed via pip.

Developer Experience

The project’s documentation (Read the Docs) covers everything from installation to advanced federation tuning. A comprehensive test suite ensures that changes in core modules do not break protocol compliance. The AGPLv3 license encourages contributions while protecting the open‑source nature of the software. Community channels (Matrix, issue tracker on Codeberg) provide rapid feedback loops for bug reports and feature requests.

Use Cases

  • Community Platforms: Small‑to‑medium NGOs or hobbyist groups wanting a self‑hosted, federated space without vendor lock‑in.
  • Enterprise Internal Networks: Companies can deploy Socialhome behind a firewall, using its ActivityPub support to integrate with partner services.
  • Educational Projects: Universities can use it as a teaching tool for distributed systems, federated identity, and web development.
  • Personal Profiles & Portfolios: Developers can host a personal profile that automatically shares posts to Mastodon, Diaspora, and other networks.

Advantages

  • Protocol‑First: Built‑in ActivityPub/Diaspora support eliminates the need for custom federation layers.
  • Modular Architecture: Django apps and a clear plugin API make it easy to extend without touching core code.
  • Scalable Design: Separate Celery workers for federation allow horizontal scaling; PostgreSQL’s JSONB enables flexible data models.

Open SourceReady to get started?

Join the community and start self-hosting Socialhome today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
apis-services
License
NOASSERTION
Stars
372
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
jaywink
jaywink
Last Updated
Sep 20, 2025