Skip to content

Latest commit

 

History

History
58 lines (37 loc) · 2.96 KB

README.md

File metadata and controls

58 lines (37 loc) · 2.96 KB

Awstats Docker

Build Status

Generate web server statistics using Awstats. The generation of Awstats statistics is decoupled from the Awstats web interface.

/var/lib/awstats should be a persistent volume.

Usage

Create a named volume:

docker volume create --name awstats-db

Generate web log statistics in awstats-db. The names of the log files to be processed should be passed as command line arguments, wildcards will be expanded. For example, if the web logs are /data/web-logs/access.log-*.gz:

docker run --rm -v /data/web-logs:/web-logs:ro -v awstats-db:/var/lib/awstats \
    openmicroscopy/awstats /web-logs/access.log-\*.gz

Run the Awstats web interface by passing just httpd as an argument:

docker run --rm -p 8080:8080 -v awstats-db:/var/lib/awstats openmicroscopy/awstats httpd

Awstats should now be accessible at http://localhost:8080. Apache authentication is not enabled.

You can update the web log statistics in awstats-db by re-running with the new log files (Awstats will automatically skip duplicate entries, for example if you pass a log file that has already been processed). The new logs must be newer than the existing ones:

docker run --rm -v /data/web-logs-new:/web-logs-new:ro -v awstats-db:/var/lib/awstats \
    openmicroscopy/awstats '/web-logs-new/access.log-\*.gz'

Configuration

The configuration file /etc/awstats/awstats.SITE_DOMAIN.conf will be automatically generated at runtime if it doesn't exist. The generated configuration can be modified using the following optional environment variables, see entrypoint.pl for defaults.

  • SITE_DOMAIN: The site domain, default localhost. If you change this you must set the config= query parameter when using the web interface, e.g. http://localhost:8080/awstats/awstats.pl?config=SITE_DOMAIN (this is intended to support statistics for multiple domains)
  • SKIP_USER_AGENTS: A space separated list of user agents, default Travis Hudson
  • SKIP_HOSTS: A space separated list of regex IP matches to be skipped, default are private IP ranges and some Travis IPs.
  • SKIP_HOSTS_ADDITIONAL: A space separated list of regex IP matches to be skipped in addition to the default SKIP_HOSTS This is provided so that you can add additional regexs to the default SKIP_HOSTS instead of having to define the full set.
  • LOG_FORMAT: Set the LogFormat value. If quotes are desired, they should be added by the caller: -e LOG_FORMAT=\"...\"

For example

docker run -e SKIP_HOSTS_ADDITIONAL="^1\.1\.  ^2\.2\. " \
    ... openmicroscopy/awstats ...

will skip IPs matching ^1\.1\. ^2\.2\. in addition to the defaults.

Alternatively you can provide a full configuration by mounting /etc/awstats into the container. If no logfiles are passed on the command line the LogFile configuration option will be used.