unsubbed.co

Elgg

Self-hosted social & community tool that provides powerful social networking engine.

Open-source social platform engine, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: A PHP/MySQL framework for building custom social networking applications — not a turnkey social network, but the engine underneath one [README].
  • Who it’s for: Developers and technical teams who need to build a branded social community for an organization, university, or SaaS product, and want to own the code [README][website].
  • Cost savings: Circle.so runs $89–$399/mo, Mighty Networks $41–$360/mo for comparable community platform functionality. Elgg self-hosted on a VPS costs $0 in licensing and $10–30/mo in hosting.
  • Key strength: Twenty years of hardening, a genuine nonprofit foundation, dual GPL/MIT licensing, and 1,000+ community plugins that cover the long tail of social features [README][website].
  • Key weakness: With only 1,672 GitHub stars for a project started in 2004, the community has never broken into the mainstream. It’s a framework that requires PHP development skills to customize seriously — and the upgrade history suggests that “framework” is the right word, not “product” [5].

What is Elgg

Elgg is an open-source social networking engine written in PHP with MySQL as its database. It has been in continuous development since 2004, when Ben Werdmuller and Dave Tosh started the project. The Elgg Foundation — a registered nonprofit — has governed it since then, which is an unusual governance structure for an open-source tool and one that provides some long-term stability guarantees [README].

The elevator pitch from the homepage is direct: “Providing you with the core components needed to build a socially aware web application” [website]. What that means in practice is that Elgg gives you a user system, content entities, groups, file storage, access controls, notifications, and an event/plugin architecture — and you build your social product on top of it.

The distinction matters: Elgg is not a social network you install and configure. It’s a framework you install and extend with plugins and custom code. The homepage showcases use cases ranging from campus-wide university networks to organizational intranets to brand community platforms [website]. All of these require a developer who understands the Elgg plugin system.

The current stable release is 6.3.3. Under the hood, it uses Symfony HTTP Foundation for request handling, Symfony Mailer for email, Phinx for database migrations, Monolog for error handling, and Imagine for image manipulation — a reasonably modern PHP stack for a project that’s been running since 2004 [README].

The license is dual: GPL v2 and MIT-X11. That dual licensing is genuinely useful — MIT lets you embed Elgg in commercial products without inheriting the GPL’s copyleft obligations [README].


Why people choose it

The available third-party sources for Elgg are thinner than a typical mature project — the provided sources are primarily internal community posts rather than independent reviews, which is itself a signal about where Elgg sits in the current market. What can be read between the lines:

For organizations building internal platforms. The recurring use cases on the Elgg showcase are universities and companies building intranets. These are environments where an off-the-shelf SaaS community platform would mean trusting sensitive HR or academic data to an external vendor. Elgg solves a real problem here: you get a feature-complete social layer without writing the groups, notifications, and access control system from scratch, and without sending your data to Circle or Slack [website].

For developers who want extensibility without a rewrite. The Elgg community hackathon posts from 2015 and 2016 show a project focused on paying down technical debt and making the framework “more modern, testable, lower-maintenance” [1][2]. That kind of internal discipline doesn’t show up in marketing copy. The fact that they’re on version 6.3 in 2025 suggests the project is actively maintained, not mothballed.

For the upgrade realists. Source [5] is a technical support thread about upgrading from 2.x to 3.x — and it’s ugly. The user ran into Composer dependency conflicts, bower-asset resolution failures, and version lock conflicts that required a hosting technician to troubleshoot. The resolution involved manual PHP version changes, Composer version juggling, and multiple failed attempts [5]. This is not a platform where you click “update” and it works. That’s a real trade-off.

Against Circle and Mighty Networks. The cost argument is strongest here. Circle.so charges $89/mo for basic community features and $399/mo for advanced tiers. Mighty Networks charges $41–$360/mo with transaction fees on memberships. For organizations running 20–50 community use cases, those bills add up to $1,000–$4,800/year for functionality that Elgg’s core plus a handful of plugins covers. The trade-off is developer time — Elgg doesn’t configure itself.


Features

Based on the README and website documentation:

Core social primitives:

  • User authentication with pluggable auth modules — SSO integrations are possible through plugins, not built into core [README]
  • Groups with out-of-the-box support [README]
  • Flexible entity system for prototyping content types and user interactions [README]
  • Access control system for private networks, intranets, and granular content policies [README]
  • File storage API with streaming support [README]
  • Notifications service with on-site and email delivery; third-party integrations via plugins [README]

Developer framework:

  • Well-documented core API with “simple learning curve” (their characterization) [README]
  • Composer-based package management for plugins and core [README]
  • Flexible event system — plugins can intercept and modify most aspects of application behavior [README]
  • Extendable view system for complex custom theming [README]
  • Client-side API with asynchronous ES modules and a built-in Ajax service [README]
  • RPC web services for mobile clients and external integrations [README]

Infrastructure:

  • Nginx and Apache compatible [README]
  • Redis support [merged profile]
  • REST API [merged profile]
  • Cacheable static asset serving that bypasses the PHP engine [README]
  • Built-in CSRF protection, XSS filtering (htmLawed), HMAC signatures, modern password hashing [README]
  • Internationalization and localization with third-party service support [README]

Plugin ecosystem:

  • 1,000+ community plugins in the Elgg plugin repository [README][website]
  • Plugins are Composer packages — versioned, manageable, consistent [README]

What’s notably absent from core:

  • No built-in real-time messaging (plugins cover this)
  • No ActivityPub/federation support — Elgg is not part of the Fediverse
  • No video hosting
  • No mobile apps — you’d build those against the RPC/REST API

Pricing: SaaS vs self-hosted math

Elgg has no managed cloud offering. It’s purely self-hosted. Pricing is simple: $0 for the software, plus infrastructure.

Self-hosted Elgg:

  • Software: $0 (GPL v2 / MIT-X11) [README]
  • VPS hosting: $10–30/mo depending on user count and media storage (Hetzner, Contabo, DigitalOcean)
  • Domain: ~$12/year
  • Developer time for initial setup and customization: varies widely

SaaS alternatives for comparison:

PlatformCostNotes
Circle.so$89–$399/moPolished, no self-host
Mighty Networks$41–$360/moPlus transaction fees
BuddyBoss~$228/year + hostingWordPress-based, more product-like
Discourse$0 self-hosted / $100+/mo cloudForum-focused, not social network

Annual savings math for a typical organization:

Running a community platform for 200–500 members on Circle Professional runs ~$4,788/year. Elgg on a $20/mo VPS costs $240/year in hosting, plus one-time developer setup. If setup runs 20 hours at $100/hr, break-even is approximately year one. After year one, the annual cost drops to $240 vs $4,788.

The catch: that math assumes you have a PHP developer who can maintain the platform and handle upgrades — and as source [5] demonstrates, upgrades are not trivial.


Deployment reality check

Elgg’s install documentation lives at learn.elgg.org. The current installation requires:

  • PHP 8.1+ (version 6.x requires modern PHP)
  • MySQL or MariaDB
  • Web server (Apache with mod_rewrite, or Nginx)
  • Composer for dependency management
  • Optionally: Redis for caching, a dedicated SMTP provider

What the support thread reveals about real deployments [5]: The 2.x to 3.x upgrade required PHP version changes, Composer version management between Composer 1.x and 2.x, resolution of bower-asset package conflicts, and manual .htaccess edits. The user and their hosting technician spent significant time on this. The error logs in [5] show missing bower packages, version lock conflicts, and minimum-stability issues.

This is not the Elgg team’s failure — it’s what upgrading any PHP Composer application with third-party plugin dependencies looks like after sitting on an older version. But it’s worth stating plainly: if you’re not comfortable with Composer, PHP version management, and reading dependency error logs, budget for professional help during upgrades.

What goes well:

  • Composer makes installation reproducible — composer install, configure database, run migrations
  • The Nginx/Apache configs are well-documented
  • The active development (6.3.3 release in 2025) means PHP compatibility is current

Realistic time estimates:

  • Fresh install for a developer: 2–4 hours including plugin setup
  • Fresh install for a non-technical user following documentation: full day, with friction
  • Major version upgrade with existing plugins: budget 4–8 hours and test in staging first

Pros and Cons

Pros

  • Genuine dual GPL/MIT license. Embed Elgg in a commercial product, white-label it, resell it — the MIT component covers this without commercial licensing negotiations [README].
  • 20 years of maintenance. The Elgg Foundation has kept the project alive and current since 2004. Version 6.3 in 2025 means active PHP compatibility maintenance, not abandonware [README][website].
  • Nonprofit governance. The Elgg Foundation is structured to protect the project from acquisition or license changes. It’s not a VC-backed company with an exit strategy [README][website].
  • 1,000+ plugins. A deep community plugin repository covering most standard social features [README][website]. You don’t build groups, events, messaging, or media from scratch.
  • Strong security foundations. Built-in CSRF protection, XSS filtering, HMAC, modern password hashing — the security posture is serious for a framework handling social data [README].
  • Access control for private networks. Granular content access policies make it well-suited for intranets and restricted communities — something consumer social platforms don’t support [README].
  • Composer-native. Modern PHP dependency management means reproducible deployments and standard tooling [README].

Cons

  • Not a product, a framework. You cannot install Elgg and have a finished social network. Every meaningful customization requires PHP development. This isn’t disclosed prominently enough in the marketing copy [website].
  • Low GitHub traction for its age. 1,672 stars for a 20-year project is a signal that the community didn’t scale mainstream. It’s maintained but not growing. Compare BuddyPress (WordPress-based, broader ecosystem) or HumHub (stronger recent momentum) [merged profile].
  • No Fediverse/ActivityPub support. In 2025, social platforms without federation support are walled gardens. Elgg doesn’t federate with Mastodon, Pixelfed, or anything in the ActivityPub ecosystem. If that matters to your community, it’s a deal-breaker.
  • Upgrades are painful. The support thread [5] shows the reality of cross-major-version upgrades: Composer conflicts, PHP version juggling, dependency resolution failures. On a production instance with third-party plugins, this is serious maintenance work.
  • No managed cloud option. There’s no “Elgg Cloud” you can pay for and skip the infrastructure work. It’s self-hosted or nothing. For non-technical buyers, this eliminates the low-friction on-ramp.
  • No mobile apps. You’d need to build against the RPC/REST API, which is a real development investment if your community expects native apps [README].
  • PHP reputation drag. Whether fair or not, PHP frameworks face headwinds in developer hiring and modern stack discussions. Finding Elgg-specific expertise is harder than finding Node.js or Python developers.

Who should use this / who shouldn’t

Use Elgg if:

  • You’re a developer or technical team building a custom social platform for a university, company intranet, or branded community, and you want to own the code completely.
  • You need granular access controls, private networks, or intranet-style permission systems that commercial community platforms don’t support.
  • You want MIT licensing to embed a social layer in a commercial product.
  • You’re replacing a Circle or Mighty Networks bill that’s grown past $200/mo and you have the PHP development capacity to maintain it.
  • You need the 1,000+ plugin ecosystem to cover specialized features without building from scratch.

Skip Elgg (use HumHub instead) if:

  • You want a more modern developer experience with better current-year documentation and stronger GitHub momentum — HumHub has more recent community activity and a cleaner getting-started path.

Skip Elgg (use BuddyPress instead) if:

  • You’re already running WordPress. BuddyPress integrates natively, has a massive ecosystem, and avoids the overhead of a separate application stack.

Skip Elgg (use Mastodon or Friendica instead) if:

  • Federation with the broader Fediverse matters to your community. Elgg is a closed silo by default.

Skip Elgg (stay on Circle or Mighty Networks) if:

  • You don’t have PHP development capacity in-house.
  • Your community needs mobile apps without custom development work.
  • Major version upgrades feel like a liability, not a manageable task.

Alternatives worth considering

  • HumHub — Self-hosted social network platform with a more product-complete feel and more active recent GitHub traction. Also PHP-based, also has a module system. Easier first run for non-developers.
  • BuddyPress — If you’re on WordPress, BuddyPress is the default social layer choice. Massive plugin ecosystem, familiar admin interface, no separate server stack.
  • Discourse — Better fit if your community is discussion-centric rather than content-centric. Excellent moderation tools, strong mobile experience, mature hosted option.
  • Mastodon — If decentralization and Fediverse federation matter, Mastodon is the category leader. Not a framework — it’s a finished product, but opinionated about what it is.
  • Diaspora* — Federated, social-network-shaped, self-hosted. Smaller community than Mastodon but more flexible for private pods.
  • Friendica — ActivityPub-compatible, feature-rich, can federate with Mastodon. More configuration surface than most alternatives.
  • phpFox — Commercial, but self-hosted social network platform targeting the same Elgg use cases with a more polished admin experience. Not free.
  • Circle.so or Mighty Networks — The SaaS incumbents Elgg replaces. No setup friction, no upgrades, no server maintenance. Worth the bill if you don’t have PHP development capacity.

Bottom line

Elgg is the right answer to a specific question: “I need to build a custom social platform, I want to own the code and data, and I have PHP developers to maintain it.” For that use case — university networks, corporate intranets, branded communities — it delivers a serious, battle-hardened foundation with 20 years of accumulated features and a 1,000-plugin ecosystem that’s genuinely hard to replicate. The nonprofit governance and dual GPL/MIT licensing are real differentiators.

The honest warning is about the gap between what Elgg’s marketing suggests (“powerful open source social networking engine”) and what self-hosting it actually requires. It’s not a product you configure — it’s a framework you extend. Upgrades require developer attention. The community traction, measured by 1,672 GitHub stars in 2025, suggests it’s maintained rather than growing. If you need a finished social network rather than a social networking framework, look at HumHub first. If you need federation, look at Mastodon. If you need a no-code setup, stay on Circle.

But if the use case fits, the price is right: a $20/mo VPS versus $4,788/year on Circle, with complete data ownership and no vendor who can change pricing on you.


Sources

  1. Elgg Blog: Elgg 2.0 Hackathon — Evan Winslow, elgg.org. https://elgg.org/blog/view/2079520/elgg-blog-elgg-20-hackathon
  2. 2nd Annual Elgg Hackathon — ihayredinov, elgg.org. https://elgg.org/blog/view/2529594/2nd-annual-elgg-hackathon
  3. To Evolution bookmark — Abdulaziz, elgg.org community. https://elgg.org/bookmarks/view/2733174/to-evolution
  4. Abdulaziz’s bookmarks — elgg.org community. https://elgg.org/bookmarks/owner/Abdulaziz
  5. What these errors means and how to fix them — poeticrecovery, Elgg Technical Support. https://elgg.org/discussion/view/3134833/what-these-errors-means-and-how-to-fix-them

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API