northpoint-app
v0.1.0
Published
Northpoint — financial operating-layer for active traders. Bundles the runtime + web UI into one installable package; ships a `northpoint` CLI to run it.
Downloads
12
Readme
northpoint
The Northpoint server — financial operating-layer for active traders and investment teams. One installable npm package that ships:
- The Fastify runtime (auth, dashboard, data terminal, portfolio, intelligence, notifications, streaming bridge, all connectors)
- The web SPA (served from the same port, no separate build to host)
- A single CLI:
northpoint
Install
Quick try
npx northpointPersistent install
# global
npm install -g northpoint
northpoint
# or per-project
npm install northpoint
npx northpointRequires Node 20+. The package ships a native dependency
(better-sqlite3, argon2); on most platforms npm install resolves
prebuilt binaries automatically. If your platform doesn't have a prebuilt
build, node-gyp will compile it — you'll need a C++ toolchain
(build-essential on Debian/Ubuntu, Xcode CLI on macOS).
Running
northpoint # start the server (UI + API on http://127.0.0.1:4200)
northpoint --help # usage
northpoint --version # print versionOpen http://127.0.0.1:4200 in a browser to log in.
Exposing on a server
By default the server binds to 127.0.0.1 so a fresh install isn't
publicly reachable. To expose it to the network, set the host:
NORTHPOINT_RUNTIME_HOST=0.0.0.0 northpointFront it with nginx / Caddy for TLS in production. The SPA + API live on
the same origin, so a single proxy_pass is enough.
Configuration
All configuration is via environment variables. None are required for a local install — the runtime ships sensible defaults.
| Variable | Default | What it does |
|---|---|---|
| NORTHPOINT_DATA_DIR | ~/.northpoint | SQLite DB, uploads dir, logs |
| NORTHPOINT_RUNTIME_HOST | 127.0.0.1 | Bind address (use 0.0.0.0 to expose) |
| NORTHPOINT_RUNTIME_PORT | 4200 | HTTP port |
| NORTHPOINT_WEB_DIR | bundled | Override the SPA dir |
| NORTHPOINT_MANIFEST_PATH | bundled | Override the module manifest |
| NORTHPOINT_ENV_FILE | — | Path to a .env file to load |
Connector-specific env vars (Alpaca / IBKR / Polygon / SQL keys) can also be
supplied via .env in the working directory or via the NORTHPOINT_ENV_FILE
override. Most connectors are also configurable from the in-app Sources
tab once the server is up — that's the recommended path.
Data persistence
Everything writable lives under NORTHPOINT_DATA_DIR:
northpoint.db— SQLite (audit log, datasets, quality alerts, intelligence models, notifications, uptime counters)csv-uploads/,broker-files/— legacy upload sinks (new installs link directories instead — see Sources tab → Files & Directories)
To back up: stop the server, tar the data dir, restart.
Linking files / directories on the server
Once logged in, the Data → Sources → Files & Directories card lets you link a path on the server to expose CSV/XLSX files as live datasets. Paths refresh automatically when the file is rewritten — no re-upload.
Tip: point Northpoint at the directory your broker / pipeline drops exports into (e.g.
/var/feeds/broker_export). Every file in there becomes a dataset; new files appear without restart.
Updating
npm install -g northpoint@latestThe DB schema migrates itself on boot. Roll back to a prior version by installing that version explicitly; the runtime is built to be forward-compatible within a major version.
Logs
The runtime logs to stdout in a structured plaintext format. Pipe to
pino-pretty or capture to a file with your service manager (systemd,
launchd, pm2, supervisor).
northpoint 2>&1 | tee -a /var/log/northpoint.logBuilding from source
git clone <repo>
cd northpoint
pnpm install
pnpm --filter northpoint build # bundles server + web → apps/server/dist
node apps/server/bin/northpoint.jsThe build script is apps/server/build.js. Pass --web or --server to
rebuild only one half.
