Giter Club home page Giter Club logo

docker-goaccess's People

Contributors

gregyankovoy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docker-goaccess's Issues

Some questions about your Dockerfile

Hi,

First of all thank you for sharing your container, it saved me quite a lot of time !
I'm trying to make my own version of it updated to v1.4.3 and I had some questions about how you build your image :

  1. What is the purpose of the argument geolite_version ?

I obtained a permalink from maxmind to download the GeoLite2 City database and putting this URL in the argument geolite_city_link worked for me but I'm wondering if I'm missing something.

  1. When creating the final image I encountered the following error :
Step 10/13 : RUN chmod +x /usr/local/bin/goaccess.sh &&     chmod -R 777 /var/tmp/nginx
 ---> Running in dd18c52bdd78
chmod: /var/tmp/nginx: No such file or directory

Commenting the chmod somehow got me a working image but, again, what do I miss here ?

Cheers

NGINX: Keep docker logs AND goaccess

Great image! I've tried various things and this seems the most simple but also most hackish. I'm trying to keep my docker logs AND have it read by goaccess. The best solution is something like this on a cron job.

 cat $(docker inspect --format='{{.LogPath}}' test) | jq -r '.log|tostring'  >>  ~/goaccess/test/access.log 

Then your image can read -v "~/goaccess/test:/opt/log"

Please advise

Persistent storage of statistics?

Hey Greg, sorry to bug you again :-) Was curious, do you happen to have Btree set up with this at all? Persistence of statistics would be the last possible thing I could think of.

Right now once the logs rotate, all statistics are gone in goaccess.

I think this is the solution, but not sure how to... dockerize that:
https://goaccess.io/faq#installation "How to use the on-disk database instead of keeping everything in memory?"

Update to 1.4.4/1.4.5

Thanks for this project, it makes my life a bit easier.

Could we get an update to the current bugfix release of GoAccess?

They seem to have 1.4.5 but I can't find a tag for it on their Github Repo.

Timezone not used

I'm using this with UNRAID. The docker run command includes the -e TZ="America/New_York" environment variable and yet the container ignores it and thinks it is in UTC timezone.

 # date
Fri Mar 12 21:13:25 UTC 2021

It was only after I installed tzdata using apk add tzdata that it then worked:

# apk add tzdata
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/1) Installing tzdata (2020a-r0)
Executing busybox-1.28.4-r3.trigger
OK: 21 MiB in 31 packages
/usr/share # date
Fri Mar 12 16:15:05 EST 2021

The long-term solution is for the Dockerfile to include the line:

RUN apk add tzdata

Support for read-only volumes

Not sure why goaccess would need write or execute access to my logs. Trying to run the volume as read-only results with:

...
chown: /opt/log/error.log.14.gz: Read-only file system
...```

At the very end it will give a `nginx: [alert] could not open error log file: open() "/var/lib/nginx/logs/error.log" failed (13: Permission denied)`

Persist data on docker-volume

Hello @GregYankovoy , I am using your bundle of goaccess and it was a great way to start using this cool project, thanks a lot !

As suggested in the #11 I am using it in docker-compose.

I was wondering how it would be possible to add a docker named volume so that we keep persist the data when restarting, and how that would integrate with your bundle ?

Thanks in advance for your help

PUID and PGID for docker compose

Hello there.
I would like to run the container with no root privileges, using the same UID/GID of the nginx proxy manager container, so there would be no issues accessing log files.
I am not able to find the correct docker-compose.yml file syntax. I receive no errors when rebuilding the docker app, but a "ps- ef" shows me that the goaccess container is still running in the root context.
This is my docker compose service config for goaccess:

  goaccess:
    image: gregyankovoy/goaccess
    container_name: goaccess
    restart: unless-stopped
    ports:
      - '7889:7889'
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./nginx-proxy-manager/log:/opt/log
      - ./goaccess:/config:rw

redirect the output to a subdomain

Hello @GregYankovoy , thanks a lot for this cool project!
it works absolutely fine.
With http://ipadress:7889 I get access to the real-time-html and a green light next to the gear on the goaccess page. Perfect so far.
But when I redirect a subdomain for example "goaccess.mydomain.com" to http://ipadress:7889 then I get the error message: WebSocket connection to 'wss://goaccess.mydomain.com/' failed.
There applies: "GoAccess content to be viewed without any other setup", so I have no chance to change anything, using the config-file.
Do you have an idea how to solve this?

And another note is that it would be great to be able to run the container with different ports.
Background is that I want to display multiple web sites individually.

In any case, thanks again for the great Docker image.
Thanks in advance for your help.

Not updating in real-time

The report does not update after the initial startup of the container. The number of requests, tables/graphs, and the last updated timestamp all haven't updated. Since I was playing around with the configuration, I did reset my goaccess.conf (well, moved appdata/goaccess/) in addition to removing the docker container and image completely and re-downloading with the defaults.

I also cleared access.log so the Total Requests was reset to make it clear that it wasn't updating.

/config/html/index.html has the same modified date as when the docker was started, if that is supposed to change.

Any ideas?

error log permission denied

I've got goaccess reading my SWAG nginx logs, and goaccess says nginx: [alert] could not open error log file: open() "/var/lib/nginx/logs/error.log" failed (13: Permission denied) which is especially strange as both SWAG and goaccess are run by the same user, so I presumed permissions would not be an issue.

Access logs are read fine, as I can see stats in the goaccess dashboard.

Token '-' doesn't match specifier '%s'

Hi,

Getting the above error.

Running Ubuntu 22.04 uname -a:

Linux ubuntu 5.15.0-97-generic #107-Ubuntu SMP Wed Feb 7 13:26:48 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

goaccess.conf:

time-format %H:%M:%S
date-format %d/%b/%Y
log_format [%d:%t %^] %^ %s %^ %^ %m %^ %v "%U" [Client %h] [Length %b] [Gzip %^] [Sent-to %^] "%u" "%R"
real-time-html true
log-file /opt/log/proxy-host-1_access.log
log-file /opt/log/proxy-host-2_access.log
log-file /opt/log/proxy-host-3_access.log
log-file /opt/log/proxy-host-5_access.log
log-file /opt/log/proxy-host-6_access.log
date-spec min
http-protocol no

Any help will be appreciated.

How to use this image?

Hello there! I've come across this repo as a better/more intuitive alternative to the official goaccess install. Unfortunately, it's not clear as to how to use this/install/etc. :-) Could you include a note perhaps as to how to use what you've created/modified here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.