mrkeyoor.com_
Wed 16 Sept 06:22 UTC
Self-Hostedevaluationupdated 16 Sept 2026

forem review

Forem is the open-source Rails platform behind DEV, built for running a publishing community with articles, discussions, profiles, moderation, and feeds. It solves the product work of assembling those community features, while leaving you responsible for a sizeable application and its services.

Verdict

Our Forem run installed 1,376 packages and built in 5 seconds, but 44 of 1,242 Jest tests failed, so this is a credible community product with a serious ownership cost. Use it when DEV's article-first model is what you want and your team can operate Rails, PostgreSQL with pgvector, Redis, and Sidekiq. A smaller forum is the better call when you mainly need threads and member accounts.

We ran it

Lab card: what happened when we ran foremScreenshot of forem (forem.com)
Install✓ · 71s1376 packages · 974 MB
Build✓ · 5s
Tests✗ · 92s1198 passed · 44 failed of 1242 (jest)
Repo6687 files~358,599 lines of source · 103.5 MB · 11 CI workflows · Dockerfile · tests dir

Answers from our run

Does forem build from source?

Dependencies installed in 71 seconds (1376 packages), and the build succeeded in 5 seconds. We cloned commit 000c183 into a clean Debian container with 3 CPUs and no project-specific setup.

Do forem's tests pass?

Not all of them: 1198 of 1242 passed and 44 failed when we ran the project's own test command (jest). Some failures need services or credentials a bare container does not have.

Who should not use forem?

Teams seeking a small forum package: our checkout contained 6,687 files and roughly 358,599 source lines before the 1,376-package install.

What are the alternatives to forem?

Discourse, NodeBB, Lemmy. Our Forem run installed 1,376 packages and built in 5 seconds, but 44 of 1,242 Jest tests failed, so this is a credible community product with a serious ownership cost.

Setup2/5Fast build, but 974 MB installed and four production services
Docs4/5Detailed install and Kamal guides, with an explicit staleness warning
Community5/522,776 stars, a September 2026 push, and active issue traffic
Maturity4/5Powers DEV, though our checked commit had 44 failing Jest tests

Who it’s for

Organizations that want a DEV-style publishing community under their own domain and rules.
Rails teams prepared to operate PostgreSQL, Redis, background jobs, and a mixed Ruby and JavaScript codebase.
Community operators who need articles, profiles, discussions, feeds, and moderation in one product.
Contributors who want to work on the same open-source codebase that powers DEV.

Who it’s NOT for

Teams seeking a small forum package: our checkout contained 6,687 files and roughly 358,599 source lines before the 1,376-package install.
Operators who cannot run pgvector 0.8.0 or newer: the README calls it a hard migration requirement, even when optional Gemini embeddings are disabled.
Shops unwilling to publish network modifications under the AGPL-3.0 terms: Forem uses that license and also requires a contributor license agreement for pull requests.
A one-server hobby deployment with no appetite for background jobs or service administration: the beta Kamal guide separates the web app, Sidekiq, PostgreSQL, and Redis.
Communities expecting spam prevention to be finished out of the box: open issue 23840 reports deleted spam still reaching the DEV notification inbox.

Setup reality

Our sandbox install succeeded in 71 seconds, adding 1,376 packages and using 974 MB. The build passed in 5 seconds. Tests failed after 92 seconds: Jest reported 1,198 passed and 44 failed out of 1,242, across 7 failed suites, with 1 failed snapshot.

Local development sits on a Rails backend with a Preact transition in progress. PostgreSQL needs pgvector 0.8.0 or newer, while Gemini credentials are optional. The beta Kamal path needs SSH access, Docker, a container registry, a Rails master key, a database URL, and service passwords.

Production also includes Redis, Sidekiq, asset handling, SSL, database connection sizing, and cloud-specific networking. The README directs readers to fuller docs and warns that some documentation may lag the code.

Forem gives you DEV's publishing model, not a small forum kit

Forem is the application behind DEV, and its center of gravity is the article. Members publish posts, build profiles, join discussions, and receive material through feeds. That is a different product choice from installing a compact message board. Organizations that want a branded writing community get a working model to start from. Teams that only need topics and replies inherit far more code than the job calls for.

The size makes that distinction concrete. We checked out 6,687 files, roughly 358,599 lines of source, and 103.5 MB of repository data at commit 000c183. The backend is Rails, while the frontend is moving toward Preact. A team adopting Forem therefore owns an established application with a mixed stack, migrations, background work, and years of product assumptions. The payoff is that those assumptions already support a public community at DEV scale.

What happened when we ran it

Our sandbox installed the JavaScript side in 71 seconds. Yarn added 1,376 packages and occupied 974 MB on disk, then the build completed successfully in 5 seconds. For a codebase of this size, getting through installation and compilation without intervention is a useful result. It does not mean the checked commit was clean.

The Jest run exited with code 1 after 92 seconds. It passed 1,198 tests and failed 44 out of 1,242, spread across 7 failed suites. The log names tests for the article cover image, article display, onboarding, profile form, article options, title handling, and CSS utility documentation. One of 58 snapshots failed as well. The log tail does not identify a shared cause, so we would not write these failures off as one missing Debian package.

PostgreSQL with pgvector 0.8.0 is a hard requirement

The README says database migrations require pgvector version 0.8.0 or newer for HNSW indexing. That remains true if you skip semantic recommendations. A Gemini API key is optional, and the application can run without generating those embeddings, but the database extension itself is mandatory. That detail can rule out a managed PostgreSQL plan before you spend time on themes or imports.

Local setup also reaches beyond Node. Forem is a Rails application, and the linked installation guides cover native macOS and Linux environments. The README admits that parts of the documentation may fall behind the evolving code. Given the 44 test failures in our fresh run, follow the exact commit's prerequisites and keep a short record of any local fixes instead of treating the high-level quick start as a full deployment recipe.

Kamal 2 still leaves four services in your care

The beta Kamal 2 guide runs a web container, a Sidekiq worker, PostgreSQL with pgvector, and Redis. Initial deployment also needs SSH access, Docker on the relevant machines, a registry account, registry credentials, a Rails master key, a database URL, and PostgreSQL credentials. Kamal packages the procedure, but your team still owns those moving parts.

The guide is candid about production details. Database limits must cover both web and Sidekiq pools. Rolling deploys need shared fingerprinted assets so old pages do not request vanished files. Cloudflare must use Full or Full (strict) SSL mode to avoid redirect loops. On managed databases, an operator must confirm that pgvector exists and activate it before migrations. These are solvable jobs, though none belongs to a set-and-forget forum install.

September activity is healthy, while the test failure stays relevant

GitHub recorded a push on September 15, 2026, one day before our review, and listed 22,776 stars. The repository showed 134 combined issues and pull requests, while a separate issue search returned 38 open issues. Recent issue and pull request updates show an active project. The combined count is not a defect count, and the fresh push matters more than the absence of a latest GitHub release response.

Product work is still visible at the edges. Issue 23840 says spam comments that are deleted can still leave notifications in a user's inbox. That report concerns DEV and does not prove every private Forem has the same traffic or moderation burden. It does show why running community software involves policy and abuse handling alongside servers. Source access gives your team a place to fix the flow, not freedom from operating it.

Choose Forem only when the product shape earns the 974 MB install

Forem makes sense when articles, professional profiles, feeds, and discussion belong in one owned community. The 5-second build lowered the cost of evaluating it, and current repository activity is reassuring. The failed 44 tests, mandatory vector extension, four-service deployment, and AGPL obligations make the ownership decision much larger than that first successful build. If DEV's model is incidental to your goal, Discourse or NodeBB will usually ask less of the team that has to keep the lights on.

Alternatives

ProjectWhat it isPick it when
Discourse gh↗A mature discussion platform centered on threaded forums and long-running topics.pick this instead when structured discussion and forum administration matter more than DEV-style publishing and profiles.
NodeBBA Node.js forum with real-time discussions, themes, and plugins.pick this instead when your team wants a JavaScript forum stack with a narrower product surface.
LemmyA federated link and discussion community built around ActivityPub.pick this instead when federation and Reddit-style link communities are core requirements.

What people are saying

  1. [velocity-scout] forem/forem

Sources

  1. Forem README
  2. Forem Kamal 2 deployment guide
  3. Forem repository
  4. Forem issue 23840: spam notifications
  5. Forem commit tested by MrKeyoor

More self-hosted reviews

newsnow · octo-server · runtime · openfang · SparkyFitness · sonic · the whole board →