This project allows us to collect telemetry andd display analytics from our open-source applications, in order to better understand how our users are using our software and its reach and impact.
The project runs under the following privacy principles:
- Like the applications themselves, this application is fully open-source and the code is available for anyone to inspect and audit.
- We do not collect any personally identifiable information about users of our projects.
- Those self-hosting projects can opt-out of telemetry collection at any time.
This is a Remix project, which is a framework for building server-rendered React applications. It runs on Cloudflare Workers with their D1 database, which allows us to run the application on the edge with minimal latency - essential for telemetry collection.
You will need to rerun typegen whenever you make changes to wrangler.toml
.
It uses Mantine for UI components, and Drizzle for database management.
It is MIT licensed.
We utilize Wrangler for local development to emulate the Cloudflare runtime. This is already wired up in package.json as the dev
script:
# start the remix dev server and wrangler
npm run dev
Open up http://127.0.0.1:8788 and you should be ready to go!
To generate migrations after adjusting the schema, run npx drizzle-kit generate:sqlite
First, build your app for production:
Note
These notes are incomplete
- Create a new project on Cloudflare Pages
- Make sure to disable fallback mode (open) in the Cloudflare Pages settings
- Mount the D1 database in the project as "DB"
Generate types for your Cloudflare bindings in wrangler.toml
:
npm run typegen