goaccess/docker-compose
Linus Gasser 22451f4e6c
Some checks failed
C build and Test / build (, macos-14, brew update && brew install ncurses gettext autoconf automake openssl@3 libmaxminddb jq) (push) Has been cancelled
C build and Test / build (, macos-latest, brew install ncurses gettext autoconf automake libmaxminddb openssl@3 jq) (push) Has been cancelled
C build and Test / build (, ubuntu-latest, sudo apt-get update && sudo apt-get install -y build-essential autoconf gettext autopoint libncursesw5-dev libssl-dev git libmaxminddb-dev jq) (push) Has been cancelled
C build and Test / build (--enable-debug, macos-14, brew update && brew install ncurses gettext autoconf automake openssl@3 libmaxminddb jq) (push) Has been cancelled
C build and Test / build (--enable-debug, macos-latest, brew install ncurses gettext autoconf automake libmaxminddb openssl@3 jq) (push) Has been cancelled
C build and Test / build (--enable-debug, ubuntu-latest, sudo apt-get update && sudo apt-get install -y build-essential autoconf gettext autopoint libncursesw5-dev libssl-dev git libmaxminddb-dev jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --enable-debug --with-getline, macos-14, brew update && brew install ncurses gettext autoconf automake openssl@3 libmaxminddb jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --enable-debug --with-getline, macos-latest, brew install ncurses gettext autoconf automake libmaxminddb openssl@3 jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --enable-debug --with-getline, ubuntu-latest, sudo apt-get update && sudo apt-get install -y build-essential autoconf gettext autopoint libncursesw5-dev libssl-dev git libmaxminddb-dev jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --with-getline --enable-asan, macos-14, brew update && brew install ncurses gettext autoconf automake openssl@3 libmaxminddb jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --with-getline --enable-asan, macos-latest, brew install ncurses gettext autoconf automake libmaxminddb openssl@3 jq) (push) Has been cancelled
C build and Test / build (--enable-utf8 --with-getline --enable-asan, ubuntu-latest, sudo apt-get update && sudo apt-get install -y build-essential autoconf gettext autopoint libncursesw5-dev libssl-dev git libmaxminddb-dev jq) (push) Has been cancelled
C build and Test / build (--with-getline --enable-asan, macos-14, brew update && brew install ncurses gettext autoconf automake openssl@3 libmaxminddb jq) (push) Has been cancelled
C build and Test / build (--with-getline --enable-asan, macos-latest, brew install ncurses gettext autoconf automake libmaxminddb openssl@3 jq) (push) Has been cancelled
C build and Test / build (--with-getline --enable-asan, ubuntu-latest, sudo apt-get update && sudo apt-get install -y build-essential autoconf gettext autopoint libncursesw5-dev libssl-dev git libmaxminddb-dev jq) (push) Has been cancelled
Docker / test (push) Has been cancelled
Docker / push (push) Has been cancelled
Adding docker-compose configuration files and documentation
2025-01-15 08:23:03 -06:00
..
configs Adding docker-compose configuration files and documentation 2025-01-15 08:23:03 -06:00
docker-compose.traefik.yaml Adding docker-compose configuration files and documentation 2025-01-15 08:23:03 -06:00
docker-compose.vanilla.yaml Adding docker-compose configuration files and documentation 2025-01-15 08:23:03 -06:00
README.md Adding docker-compose configuration files and documentation 2025-01-15 08:23:03 -06:00

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
  • DNS configuration for two domain names pointing to your server's IP:
    • yourdomain for the static pages, e.g., a blog-post using Hugo
    • goaccess.yourdomain for the stats with goaccess