factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
자체 호스팅 웹 분석, SQLite 파일 하나에 모든 데이터 저장, $5 VPS에서 실행, 데이터는 서버에 보관, 무료 오픈소스
Self-hosted web analytics in one SQLite file. Runs on a $5 VPS. Your visitors' data stays on your server. Free and open source.
데이터Go · TypeScriptGitHub @karloscodes온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Single tenant, self-hosted analytics that runs on SQLite
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Self-hosted web analytics in one SQLite file.
See who visits, where they come from, and what they click.
No cookies, no fingerprinting, no third parties. Your data never leaves your server.
The real dashboard for fusionaly.com. Open it live .
Runs on a Raspberry Pi or a $5 VPS, on your own domain. One command installs it, and it updates itself every night.
Ask it questions from Claude, Codex, Cursor, or Gemini.
It installs Chasen (and Docker, when the server has none) and runs Fusionaly: HTTPS, live backups of the database, and an update each night. Run it again to update now.README 전문 보기 ↗Self-hosted web analytics in one SQLite file.
See who visits, where they come from, and what they click. No cookies, no fingerprinting, no third parties. Fusionaly runs on a Raspberry Pi or a $5 VPS, on your own domain: one command installs it, and it updates itself every night. Ask it questions from Claude, Codex, Cursor, or Gemini.
Website · Docs · Live dashboard
On your server, as root:
curl -fsSL https://fusionaly.com/install | sudo bash -s data.example.com
It installs Chasen (and Docker, when the server has none) and runs Fusionaly: HTTPS, live backups of the database, and an update each night. Run it again to update now.
From your computer instead:
curl -fsSL https://chasenhq.com/cli | sh
chasen deploy karloscodes/fusionaly --server [email protected] --domain data.example.com --auto-update
Or run the image yourself: karloscodes/fusionaly on Docker Hub, or ghcr.io/karloscodes/fusionaly. Servers that the older installer set up keep working; to move one to Chasen, see Move to Chasen. The full setup is in the installation guide.
Don't host it on an
analytics.*subdomain: ad blockers (uBlock Origin, EasyPrivacy) block hostnames like that and drop your tracking requests. Use a neutral subdomain such asdata.example.com.
Add the script to your site:
<script defer src="https://your-domain.com/y/api/v1/sdk.js"></script>
Page views and clicks are tracked automatically. For a named event, add one attribute to any element:
<button data-fusionaly-event-name="signup_clicked">Sign up</button>
<a href="/pricing" data-fusionaly-event-name="pricing_viewed">Pricing</a>
<form data-fusionaly-event-name="contact_submitted">...</form>
<section data-fusionaly-event-name="testimonials_seen">...</section>
The SDK picks the right trigger for each element: click, submit, sendBeacon, or scroll into view. Read the docs.
Ask "where did my traffic come from this week?" in the AI client you already use. Fusionaly answers the Model Context Protocol at /mcp with four read-only tools, and the plugin adds a skill that turns questions into the right queries.
/plugin marketplace add karloscodes/fusionaly-oss
/plugin install fusionaly
/fusionaly:connect
That is Claude Code. Codex, Gemini CLI, Cursor, Claude Desktop, and others are one command each: see the plugin README. Get the agent key from Administration > Agents. Your client asks your server, and only the answer reaches your AI provider. The tools can't write, and they can't read accounts, settings, or keys.
FUSIONALY_DOMAIN and FUSIONALY_PRIVATE_KEY (at least 32 characters: openssl rand -hex 32). Chasen gives the key as PRIVATE_KEY, which Fusionaly reads too. SDK configuration has the tracking options.Requirements: Go (the version in go.mod), Node.js 22 or later.
make install # dependencies
make db-migrate # migrations
make dev # the dev server with hot reload, at http://localhost:3000
make test # the unit tests
make test-e2e # the Playwright end-to-end tests
make lint # the linters
make build # the production binaries
The code: cmd/fusionaly is the server, cmd/fnctl the admin CLI (migrations, accounts), and cmd/manager the older installer. internal/ holds the core logic in Phoenix contexts, api/v1/ the public tracking API and the SDK, web/ the React frontend (Inertia.js, Tailwind), and e2e/ the Playwright tests. Open an issue before a large change, and run make lint, make test, and make test-e2e before a pull request.
MIT. See LICENSE.