mrkeyoor.com_
Sat 19 Sept 15:47 UTC
Self-Hostedevaluationupdated 19 Sept 2026

OpenStock review

OpenStock is a self-hosted stock dashboard for searching companies, saving watchlists, viewing charts, and receiving personalized market emails. It combines Finnhub data and TradingView widgets with user accounts backed by MongoDB, but it is an information tool rather than a brokerage.

Verdict

Our OpenStock run passed 79 tests but failed its 18-second production build, while npm reported 71 known vulnerabilities, so this commit is better source material than a ready deployment. Try it if you want a Next.js stock dashboard and can repair the build, review the dependency findings, and supply the outside services. Choose a portfolio tracker or research platform if you need holdings analysis, trade execution, or broader control over market data.

We ran it

Lab card: what happened when we ran OpenStockScreenshot of OpenStock (openstock-ods.vercel.app)
Install✓ · 42s999 packages · 924 MB
Build✗ · 18s
Tests✓ · 2s79 passed · 0 failed · 4 skipped of 83 (vitest)
Known vulns715 critical · 19 high · 45 moderate · 2 low (npm audit)
Repo121 files~10,306 lines of source · 1.6 MB · 0 CI workflows · Dockerfile · tests dir

Answers from our run

Does OpenStock build from source?

Dependencies installed in 42 seconds (999 packages), and the build failed. We cloned commit 4a485f0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do OpenStock's tests pass?

Yes: 79 of 83 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does OpenStock have known vulnerabilities in its dependencies?

npm audit flagged 71 known advisories in the dependency tree, including 5 critical at the time of our run.

Who should not use OpenStock?

Investors who need an order-entry system: the README says OpenStock is not a brokerage.

What are the alternatives to OpenStock?

Ghostfolio, Maybe, OpenBB. Our OpenStock run passed 79 tests but failed its 18-second production build, while npm reported 71 known vulnerabilities, so this commit is better source material than a ready deployment.

Setup2/5Install passed, but production build failed and services are required
Docs4/5Setup, services, Docker, and market limits are documented
Community4/515,767 stars, a same-day push, and active issues and PRs
Maturity2/5Build failure, 71 advisories, no releases, and no CI workflows

Who it’s for

Developers who want a readable Next.js base for a personal market dashboard.
Self-hosters willing to manage MongoDB and several outside data or messaging services.
Contributors interested in watchlists, financial widgets, scheduled email, and market-data integration.
Teams whose AGPL-3.0 policy permits publishing the source of a modified hosted service.

Who it’s NOT for

Investors who need an order-entry system: the README says OpenStock is not a brokerage.
Users who require dependable free charts for every international exchange: the market guide documents missing TradingView charts and delayed non-US quotes.
Operators seeking a ready-made public image: open issue 36 says users still build the Docker image themselves.
Companies that cannot release modifications to a network-hosted service under AGPL-3.0: the README states that hosted changes must be published.
Anyone wanting a production build that passes unchanged in a fresh Node container: our measured build stopped while collecting data for the home page.

Setup reality

Our sandbox installed 999 npm packages in 42 seconds and used 924 MB. All 79 executed Vitest cases passed in 2 seconds, with 4 skipped out of 83, but the 18-second production build failed while Next.js collected page data for /. The audit found 71 known vulnerabilities: 5 critical, 19 high, 45 moderate, and 2 low.

A useful deployment needs MongoDB, a Better Auth secret, and a Finnhub API key. Scheduled email adds Inngest plus SMTP or Gmail credentials, while AI-written welcome text needs a supported model provider. TradingView supplies several embedded market views.

The repository includes a Dockerfile and Compose file, though no public image is documented. Our scan found no CI workflow files. Free market-data tiers also impose rate, delay, and exchange limits, so a running app does not guarantee every chart or quote will be available.

OpenStock puts a market dashboard behind personal accounts

OpenStock combines company search, saved watchlists, market news, and TradingView panels in a Next.js 15 application. Better Auth handles email and password accounts, MongoDB stores users and watchlists, and Finnhub supplies symbol search, company profiles, and news. The result resembles a personal market home page more than an analysis terminal. You can move quickly between a watchlist and a stock detail page, but you cannot place a trade. The README explicitly says the project is not a brokerage.

The feature that separates it from a static stock screen is scheduled personalization. Inngest reacts to a new account and runs a daily news-summary job based on saved symbols. Nodemailer sends the messages, and a supported AI provider can write the welcome introduction. That makes sense for a developer studying a full web stack or building an internal market portal. It also means the dashboard depends on more than the 1.6 MB checkout suggests.

Free data leaves holes in some international charts

The project documents support for more than 30 exchanges, then gives the qualification that matters. Finnhub's free tier can delay non-US prices by 15 minutes or more, limits calls, and excludes some asset classes. TradingView's free widgets may refuse charts for symbols on exchanges such as India's NSE and BSE. Open issue 83 records that exact message for an NSE stock on the hosted demo.

OpenStock still lets a user find some affected companies through Finnhub, save them, and read available profile or news data. The interactive chart and technical indicators can remain unavailable. That split is easy to miss if your test list contains only US tickers. Anyone deploying the app for a regional audience should make an exchange-by-exchange acceptance list before promising coverage. Paid provider access or a different chart source may be necessary.

What happened when we ran it

Our sandbox installed 999 npm packages in 42 seconds, leaving 924 MB on disk. Vitest completed in 2 seconds: 79 tests passed, none failed, and 4 were skipped out of 83. Those are useful checks for the code paths the suite covers, and the repository does contain a tests directory. Our scan found 0 CI workflow files, so the checkout did not show GitHub Actions running the same suite for each change.

The production build failed after 18 seconds. The final error says Next.js could not collect page data for /, followed by stack frames inside generated .next/server/chunks/ssr files. That tail does not identify the original exception, so it would be wrong to blame a missing secret, MongoDB, or Turbopack from this evidence alone. The practical result is simpler: commit 4a485f0 did not produce a deployable build in our fresh Node 22 container.

Npm audit reported 71 known vulnerabilities across the installed tree: 5 critical, 19 high, 45 moderate, and 2 low. We did not turn those counts into exploit claims. They do make dependency review a required step before exposing the app. The project had 10,306 source lines across 121 files, so tracing the failed home-page collection and auditing reachable dependency paths is a bounded job, though it is still work the adopter must do.

A useful deployment needs several outside services

The minimum working path needs Node.js 20 or newer, MongoDB, a Better Auth secret, and a Finnhub key. Docker Compose can start MongoDB beside the app, and the repository has both a Dockerfile and a Compose file. Open issue 36 asks for a published image because users currently build it themselves. That distinction matters for updates: you own the image build as well as the database volume.

Email and automation expand the list. Local Inngest runs separately, production Inngest needs a signing key, and Nodemailer is configured around Gmail unless you change the transport. Gemini, MiniMax, or Siray credentials are optional for AI text. The README also warns that variables beginning with NEXT_PUBLIC_ reach the browser. Treat the sample environment file as a wiring guide, then decide which features you can disable before collecting secrets for every integration.

AGPL-3.0 is part of the deployment decision

OpenStock uses AGPL-3.0, and its README spells out the hosted-service consequence: if you modify and deploy it, you must release that source and credit the authors. That can suit a personal server, a public community project, or a company comfortable returning changes. It can conflict with a proprietary product whose advantage sits in modifications to this application. Check that policy before writing private adapters around the 999-package install.

The data providers bring separate terms. Finnhub rate limits and TradingView widget restrictions do not disappear because the application code is open. OpenStock can spare you from designing the account, watchlist, and dashboard layers, but it does not grant market-data rights. The README's own warning about delayed quotes should remain visible to users who may otherwise mistake a polished chart for trade-ready data.

Active commits do not replace a passing release process

GitHub showed 15,767 stars, 29 open issues and pull requests combined, and a last push on September 19, 2026. Recent activity includes provider work and fixes, so this is not a dormant codebase. GitHub returned no latest release, however, and our scan found 0 CI workflows. Users therefore lack a tagged release trail and visible repository automation to balance the failed build we measured.

Use OpenStock as a well-documented starting point if its dashboard is close to the product you want and you can own the repair work. Do not treat 79 passing tests as a deployment certificate. The home page still has to build, the 71 audit findings need triage, and your target exchanges need direct checks against the provider tiers you will actually pay for.

Alternatives

ProjectWhat it isPick it when
GhostfolioA self-hosted wealth tracker centered on holdings, allocation, and portfolio performance.pick this instead when tracking your actual portfolio matters more than browsing market widgets.
MaybeA self-hosted personal finance app that brings accounts and net worth into one place.pick this instead when stocks are one part of a wider household-finance view.
OpenBBA financial data platform aimed at research workflows and programmable analysis.pick this instead when data access and analysis matter more than a consumer-style dashboard.

What people are saying

  1. [github-trending] Open-Dev-Society/OpenStock

Sources

  1. OpenStock README
  2. OpenStock market support and limitations
  3. OpenStock issue 83: NSE chart limitation
  4. OpenStock issue 36: public Docker image request
  5. OpenStock repository

More self-hosted reviews

alertmanager · go-music-dl · fleet · Memoh · audiobookshelf · jitsi-meet · the whole board →