Simple analytics for website
Data must be owned by 1001
- Monorepo with multiple services:
eye(Go backend),eye-admin(React admin UI),tracker(JS client),landing(Hugo site), plus supporting infra (promtail,metabase,postgrest,postgres,clickhouse). - Data flows from
tracker/analiza.js(client) →eye(Go API) → ClickHouse/Postgres →eye-admin(React UI) via PostgREST/Metabase. - Traefik routes traffic and manages CORS.
The project is configured with direnv and nix to manage all the dependencies.
Direnv is in the .envrc file and the nix setup is in the nix directory.
Installation steps can be found in the direnv and Nix setup guide.
- Local dev: Set
*.dev.analiza.landomains to127.0.0.1. Data dirs must be owned by UID 1001. - Build/run:
make start(Docker Compose),make clean(teardown), subfolder Makefiles for service-specific builds. - Secrets:
.env.privatefor local, Netlify for deploy.
docker-compose.yml: Service orchestrationMakefile: Build/run commands- See subfolder READMEs for service details.
api.dev.analiza.lanmust point to 127.0.0.1 for the local setup to workadmin.dev.analiza.lanmust point to 127.0.0.1 for the local setup to workmetabase.dev.analiza.lanmust point to 127.0.0.1 for the local setup to workopenapi.dev.analiza.lanmust point to 127.0.0.1 for the local setup to work