Overview
Discover what makes Akkoma powerful
Akkoma is a self‑hosted, ActivityPub‑compliant microblogging platform that extends the fediverse ecosystem. It is a fork of Pleroma but deliberately aligns its feature set and API surface more closely with Misskey, offering a richer expression layer through custom emoji reactions and “Misskey‑flavoured” Markdown. From a developer standpoint, Akkoma acts as both a lightweight social network and an extensible platform that can be embedded in larger federated services or used as a stand‑alone server for niche communities.
Language
Web Framework
Database
Background Processing
Overview
Akkoma is a self‑hosted, ActivityPub‑compliant microblogging platform that extends the fediverse ecosystem. It is a fork of Pleroma but deliberately aligns its feature set and API surface more closely with Misskey, offering a richer expression layer through custom emoji reactions and “Misskey‑flavoured” Markdown. From a developer standpoint, Akkoma acts as both a lightweight social network and an extensible platform that can be embedded in larger federated services or used as a stand‑alone server for niche communities.
Technical Stack & Architecture
- Language: Elixir (BEAM VM) – providing concurrent, fault‑tolerant request handling.
- Web Framework: Phoenix – delivering real‑time features via channels and WebSockets for live updates.
- Database: PostgreSQL (primary) with optional Redis for caching and background job queues.
- Background Processing: Oban (Elixir library) for handling asynchronous tasks such as federation pushes, media transcoding, and scheduled notifications.
- Media Handling: ImageMagick/ffmpeg pipelines integrated through Elixir wrappers, enabling on‑the‑fly thumbnail generation and video transcoding.
- Front‑end: Vue.js/React hybrid (depending on build) with a component library that mirrors Misskey’s UI, allowing developers to swap or extend components without touching the core Elixir code.
The architecture follows a clear separation of concerns: Phoenix handles HTTP/WS endpoints, Oban processes long‑running jobs, and Elixir modules expose a public API that mirrors ActivityPub’s verbs (Create, Update, Delete). This modular design makes it straightforward to replace or extend individual layers (e.g., swap Redis for Memcached, integrate a custom CDN for media).
Core Capabilities & APIs
- ActivityPub Implementation – full support for
inbox,outbox, andfollowersendpoints, enabling seamless federation with Mastodon, Pleroma, Misskey, and other ActivityPub‑compliant services. - Rich Markdown & Custom Emoji – a parser that supports extended syntax (tables, footnotes, code blocks) and custom emoji sets that can be uploaded per‑instance.
- Webhooks & Event Hooks – developers can subscribe to user events (e.g.,
post_created,reaction_added) via HTTP callbacks or internal PubSub. - RESTful Admin API – authenticated endpoints for bulk user management, moderation actions, and instance configuration.
- GraphQL API (experimental) – a schema that mirrors the REST endpoints, useful for building custom front‑ends or mobile clients.
- Plugin System – a plug‑in architecture that allows adding new request handlers or modifying the pipeline without altering core code. Plugins are packaged as Elixir modules and can be enabled via configuration.
Deployment & Infrastructure
Akkoma is designed for containerised environments and can be deployed with Docker Compose or Kubernetes. The official Dockerfile exposes a single service that runs the Phoenix web server and Oban workers; side‑cars can be added for PostgreSQL, Redis, or a reverse proxy (NGINX/Traefik). Horizontal scaling is achieved by running multiple web worker replicas behind a load balancer, while background jobs can be distributed across several Oban workers. Persistent storage for media is handled through a mounted volume or an object store (S3 compatible) via the :ecto_sql adapter.
Self‑hosting requirements are modest: a modern 64‑bit CPU, 4 GB RAM for small instances (up to ~10k users), and a PostgreSQL database. For larger deployments, the Elixir runtime’s low memory footprint and the ability to shard media storage make Akkoma competitive with other federated platforms.
Integration & Extensibility
- Custom Emoji Reactions – administrators can upload a set of PNG/SVG files that become available to all users; the API exposes CRUD operations for these assets.
- Federation Hooks – developers can inject middleware to modify outgoing ActivityPub objects (e.g., add custom metadata, filter content).
- Plugin Hooks – the plug‑in system exposes lifecycle callbacks (
before_create,after_update) that can be used to implement custom moderation logic or analytics. - Webhooks – external services can subscribe to events via HTTPS callbacks, enabling integrations with CI/CD pipelines, chatops bots, or notification systems.
- Custom Front‑ends – because the API surface is well‑documented, developers can build standalone mobile apps or desktop clients that consume Akkoma’s REST/GraphQL endpoints.
Developer Experience
Akkoma offers comprehensive documentation covering installation, API reference, and plugin development. The community is active on its own instance, providing quick support through forums and a dedicated Discord channel. Configuration is largely declarative via YAML/JSON files, with sensible defaults that allow a quick “one‑click” Docker deployment. The codebase follows Elixir conventions, making it approachable for developers familiar with Phoenix or functional programming.
Use Cases
- Private Federated Communities – small universities, hobbyist groups, or corporate teams can host an Akkoma instance to enable internal microblogging with federation to external partners.
- Custom Social Networks – creators or brands wanting a platform with rich Markdown and emoji reactions can deploy Akkoma, leveraging its plugin system to add brand‑specific features.
- Experimentation & Research – researchers studying distributed social networks can use Akkoma’s clean ActivityPub implementation as a testbed for new federation protocols or
Open SourceReady to get started?
Join the community and start self-hosting Akkoma 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
Discourse
Open‑source community forum platform with real‑time chat and AI
Misskey
Federated social network, free forever
Noosfero
Self-hosted other
cState
Fast, lightweight status pages for any project
Mataroa
Minimalist blogging for writers
Atheos
Lightweight web IDE for fast, collaborative coding