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
asyncioecosystem 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 adocker-compose.ymlthat 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/dreplyendpoints. 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:
- NGINX (or Traefik) for HTTPS termination and static asset serving.
- PostgreSQL with WAL archiving for point‑in‑time recovery.
- Redis as a Celery broker and cache backend.
- 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
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Rocket.Chat
Secure, open‑source team communication platform
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
Weekly Views
Repository Health
Information
Explore More Apps
Webtor
Instant torrent streaming and direct downloads in one app
RSSHub
Your gateway to limitless RSS feeds
Black Candy
Self-hosted music streaming for your personal library
Tube
Self‑hosted video platform for personal or community sharing
Tailchat
Next‑generation IM platform with built‑in plugin ecosystem
Courier MTA
All-in-one mail and groupware server
