This is an Alpine linux container which builds GoAccess including GeoIP. It reverse proxies the GoAccess HTML files and websockets through nginx.
This is readily available to use with SWAG. However, with some configuration tweaks, it can likely be adapted for use with other frameworks.
Based on GregYankovoy/docker-goaccess
Simply pulling ghcr.io/niniyas/docker-goaccess:latest should retrieve the correct image for your arch, but you can
also pull specific arch images via tags.
| Architecture | Tag |
|---|---|
| amd64 | amd64 |
| arm64 | arm64 |
version: '3.9'
services:
goaccess:
container_name: GoAccess
#build: #
# context: . #
# dockerfile: Dockerfile # - If you want to build.
# args: #
# OVERLAY_ARCH: #
image: ghcr.io/niniyas/docker-goaccess:latest
ports:
- 7889:7889
volumes:
- .config:/config
- .goaccess/logs:/opt/log
environment:
- PUID=1000
- PGID=1000
- UMASK=022
- MAXMIND_LICENSE_KEY=<license-key>
- INCLUDE_ALL_LOGS=true
- TZ=Europe/Brusselsdocker run -d \
--name=GoAccess \
-e PORT=9994 \
-e PUID=1000 \
-e PGID=1000 \
-e UMASK=002 \
-e MAXMINDDB_LICENSE_KEY=<license-key> \
-e INCLUDE_ALL_LOGS=true \
-p 7889:7889/tcp \
-v /path/to/data:/config \
-v /path/to/host/nginx/logs:/opt/log
ghcr.io/niniyas/docker-goaccess:latest- MAXMIND_LICENSE_KEY
- License key to automatically download and update GeoIP2 database. Get it for free here. Optional
- TZ
- Timezone. View available values here. Default
is
Europe/Brussels. Optional
- Timezone. View available values here. Default
is
- PUID
- User ID. Optional
- PGID
- Group ID. Optional
- Umask
- Wiki. Optional
- INCLUDE_ALL_LOGS
- Include all logs under
/opt/logsuch asaccess.log.*files. true|false. Default isfalse. Optional
- Include all logs under