Skip to content

Start here

This page helps you choose a setup. New to servers? Follow the three tutorials in order: 1. Try Looku on your computer, 2. Your first installation on a home server and 3. Connect your site. They explain each step and show what you should see. The other pages are the documentation: shorter, with all the options. What you can do with Looku shows what to turn on for your needs.

Words such as receiver, connector or tunnel are explained at the end of this page, in Words used in these guides.

Read this page even if you have run servers before: Looku has two parts with different rules about who may reach them.

  • A site whose server you control, or at least whose server-side code you can change: Next.js (also on Vercel), Node.js or Express, or a static site served through Cloudflare. If you can only paste a script into a page builder, Looku does not fit.
  • A place to run Looku: your own computer (to try it), a home server, or a virtual private server (VPS). It needs Docker, or Node.js 22 or newer. Looku is small: its two processes use about 100 MB of memory together, and all data is in one database file.
  • A way for your site to reach Looku. Your site’s server sends each page view to Looku over the internet, so the receiving part of Looku needs a public HTTPS address. The guides show two ways: a Cloudflare Tunnel (no open ports at home) or a reverse proxy on a VPS.
  • About an hour for the first real installation. Trying it on your own computer takes about 20 minutes.

You do not need to know Docker, tunnels or signatures beforehand. Each guide explains them where they come up, and How Looku works explains the whole picture.

Try it locally Home server + Cloudflare VPS + Caddy
For seeing Looku before you decide a home server or a Raspberry Pi you already have anyone without a home server
Costs nothing a domain (about 10 € a year); the Cloudflare account is free a VPS (a few euros a month) and a domain
Receiver (takes page views) on your computer behind a Cloudflare Tunnel behind Caddy, with HTTPS
Dashboard (where you read the numbers) on your computer only on your home network (or Tailscale) on the internet behind a password, limited to your own networks
Real visitors? no, only the demo site yes yes
Tutorial 1. Try Looku on your computer 2. Your first installation
Documentation Home server + Cloudflare VPS + Caddy (step by step)

Not sure? Start with 1. Try Looku on your computer. Nothing you do there affects a real site.

If you already run a reverse proxy other than Caddy (nginx, Traefik), follow the VPS guide and adapt the proxy step. To run Looku without Docker, see Without Docker.

  1. Connect your site so that it sends page views: Next.js or Node.js, Express, Cloudflare or your own.
  2. Update your privacy notice. Privacy and the law has a template and explains what is stored.
  3. Optional: reading time and scroll depth from visitors who consent, shop orders, or data from your previous analytics.
  4. Set up backups and updates.

Receiver : The part of Looku that takes page views from your site (looku ingest, port 8787). It must be reachable from your site’s server, usually over the internet. It only accepts data that carries a valid signature, and it has nothing to read.

Dashboard : The part where you read the numbers (looku serve, port 8788). It needs a password. Keep it as private as you can.

Connector : A small piece of code that you add to your site. On every page request it sends a signed record to the receiver.

Site id and signing key : When you add a site to Looku, it gets a short id that you choose (for example myblog) and a long random signing key. The connector signs each record with the key, so the receiver knows the record really came from your site. Keep the key secret, like a password.

Terminal, shell : The text window where you type commands: Terminal on macOS and Linux, PowerShell on Windows. See 1. Try Looku on your computer. On a server you open it with ssh, which also works in PowerShell.

Docker, container, Compose : Docker runs a program in an isolated box (a container) with everything it needs, so you do not install Node.js or libraries on the server. Docker Compose starts several containers from one file (compose.yaml) and one settings file (.env).

Environment variable : A named setting given to a program from outside, for example LOOKU_TIMEZONE=Europe/Helsinki. With Docker, these live in the .env file. See Settings.

Reverse proxy : A web server in front of your apps (Caddy, nginx). It holds the HTTPS certificate and forwards each request to the right app.

Tunnel : A program on your server that opens an outgoing connection to a service such as Cloudflare. Requests to your public address come back through that connection, so you do not open any ports in your home router.

Domain, hostname : example.com is a domain; looku.example.com is a hostname under it. The receiver needs a hostname of its own.

About the author