7436bf6e2e
C changes: - gstorage.c: encode continent into root key for --persist --restore survival - gholder.c: decode continent from root + lat/lng storage - commons.h: add lat/lng fields to GMetrics struct - geoip2.c/geoip1.h: extract coordinates from MMDB - json.c: output lat/lng in geolocation JSON JS changes: - Remove cityIndex guard for static HTML city dots - TopoJSON lat/lng fallback for city coordinates - updateMap fallback city collection - Dynamic orthographic center based on visitor count - Mercator stays at [0,15] for full world view Co-Authored-By: Claude <noreply@anthropic.com>
35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# Docker-compose configuration
|
|
|
|
Here are two docker-compose configurations for goaccess which
|
|
combine a static site with a real-time report of goaccess.
|
|
The directories used are:
|
|
|
|
- `configs` - for the nginx and goaccess configuration
|
|
- `public` - the files served by nginx - put your static site here
|
|
- `logs` - nginx logs - there is no log rotation in place!
|
|
|
|
There are two flavors of the docker-compose files and the goaccess files:
|
|
- `*.vanilla.*` which need you to take care of the TLS certificates
|
|
- `*.traefik.*` using traefik for TLS and domain routing
|
|
|
|
## Vanilla
|
|
|
|
For the vanilla version, you'll have to do the following:
|
|
|
|
- put the TLS certificates into `configs/certs`, following the naming scheme
|
|
in `goaccess.vanilla.conf`
|
|
- route requests for the static webpage to port `8080`
|
|
|
|
## Traefik
|
|
|
|
The traefik version is setup to make it easier to do the routing.
|
|
You don't need to take care of the TLS certificates, and the
|
|
goaccess websocket gets its own subdomain.
|
|
|
|
To put it all together, the following environment is needed:
|
|
- traefik configured according to [Traefik-101](https://ineiti.ch/posts/traefik-101/traefik-101/)
|
|
- DNS configuration for two domain names pointing to your server's IP:
|
|
- `yourdomain` for the static pages, e.g., a blog-post using [Hugo](https://gohugo.io/)
|
|
- `goaccess.yourdomain` for the stats with goaccess
|
|
|