mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-10-19 15:44:27 +00:00
- LICENSE is the plain Apache 2.0 text, without the "Portions of this software" preamble, so GitHub's About panel names the license. The two BSL folders keep their own LICENSE, which names each folder as its scope; the README's License section and the Terms page now name both, and the Terms point at the LICENSE files rather than the root one alone. - /plugins: the eight plugins shipped in 2.2.1, with what each reads, how to start (download, free 30-day licence, Settings › Plugins, @ in a chat), third-party plugins and the registry, and why Reddit and Instagram are not offered. - /pricing: 7 platforms and the web crawler, not 9; the plugin note, the licence and trial answers and the expiry answer describe the shipped plugins; third-party plugins need no licence. - Homepage plugin band: no longer "Coming soon". - README: a Plugins section linking /downloads for the free licence, in place of Star history. |
||
|---|---|---|
| .. | ||
| app | ||
| atoms | ||
| blog/content | ||
| changelog/content | ||
| components | ||
| content/docs | ||
| contexts | ||
| contracts | ||
| features | ||
| hooks | ||
| i18n | ||
| lib | ||
| messages | ||
| public | ||
| scripts | ||
| tests | ||
| types | ||
| zero | ||
| .cursorrules | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| biome.json | ||
| CLAUDE.md | ||
| components.json | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| instrumentation-client.ts | ||
| instrumentation.ts | ||
| LICENSE | ||
| mdx-components.tsx | ||
| next.config.ts | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| postcss.config.mjs | ||
| proxy.ts | ||
| README.md | ||
| source.config.ts | ||
| svgr.d.ts | ||
| tailwind.config.js | ||
| tsconfig.json | ||
SurfSense web
Next.js UI for the self-host stack (App Router, pnpm).
This is not the desktop UI. Desktop frontend lives in surfsense_local/frontend/.
You need
- Node.js 20+ and pnpm (not npm)
- The API in
surfsense_backend/on http://localhost:8000
Run it
cp .env.example .env
In .env, point at a backend on your machine (the example file uses Docker hostnames):
NEXT_PUBLIC_FASTAPI_BACKEND_URL=http://localhost:8000
SURFSENSE_BACKEND_INTERNAL_URL=http://localhost:8000
AUTH_TYPE=LOCAL
ETL_SERVICE=DOCLING
DEPLOYMENT_MODE=self-hosted
Then:
pnpm install
pnpm dev
Match AUTH_TYPE with the backend. Leave SUNSET_MODE unset.
Live document/chat updates need zero-cache. Most UI PRs can run without it; the page just will not refresh itself.
Tests
pnpm test:unit
pnpm format
Playwright needs Postgres, Redis, the API, and a worker. See tests/README.md.