Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[SUPPORT] xavierh / goaccess-for-nginxproxymanager

Featured Replies

Support thread for xavierh/goaccess-for-nginxproxymanager docker image.

 

Issues can be opened here as well: https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager/issues (please mention unraid)

 

Known issues:

  • If you add a new proxy in NPM the container needs to be restarted to read the new proxy host file created. I'm hoping to have a solution to this so the container does not need to be restarted.

Edited by xavierh

Xavier,

  1. Does this use an /appdata directory? None appears using the docker template.
  2. Is this generating any logs of its own (if so, and if no /appdata directory would be storing in the image file)?
  3. Assume GeoLite2-City.mmdb and GeoLite2-Country.mmdb are being automatically updated from MaxMind? (if so, and if no /appdata directory would be storing in the image file)
  • Author

#1/2 - This app does not store any information. It just displays the nginx proxy manager logs via goaccess.

#2 - The Host Path for /opt/log needs to point to your nginx proxy manager logs. It will then parse through proxy-host-*_access.log.gz and proxy-host-*_access.log filenames to generate the analytics. Logs are re-read every time the container restarts.

#3 - GeoLite2-City.mmdb is stored within the container itself. I will be updating this in the next fews days to pull the newest version. The version currently in use is from 3/2/2022.

 

This is supposed to be meant to be as straightforward as possible. You just need to set your port, time zone, and the location of your NPM logs. Everything should then work. :)

 

Edited by xavierh

Understood re the /opt/log mapping, I was just wondering if GoAccess is creating any of its own logs, as typically map a /logs to /mnt/user/logs (that is restricted to a spinning HDD only share, so as to avoid wear on SSD drives).

 

Assume that means your going to have to keep updating the image in future, to release a new docker image each time the GeoLite2 database file is updated by MaxMind.

 

Thanks for the effort of putting this together !

Edited by JustinBH
Add thanks

  • Author
36 minutes ago, JustinBH said:

Understood re the /opt/log mapping, I was just wondering if GoAccess is creating any of its own logs, as typically map a /logs to /mnt/user/logs (that is restricted to a spinning HDD only share, so as to avoid wear on SSD drives).

 

Assume that means your going to have to keep updating the image in future, to release a new docker image each time the GeoLite2 database file is updated by MaxMind.

 

Thanks for the effort of putting this together !

 

I want to be a thorough here so bear with me.

 

GoAccess itself as far as I know uses memory to store the analytic data. There is more logic to this of course, hashing, etc. There are options for on disk storage but I am not using that and did not make that available. Other than that I'm not aware of any other files being created by GoAccess, but I can't give you a definitive answer on that. Please visit the GoAccess website/manual for more information.

 

As far as my docker image / app. NPM archives and zips old logs so one of the first steps of this image/app is to unzip the logs and store them in one large file. This file is stored within the container itself. This would be the appdata folder where the app is stored, if your storing it in the default unraid location. This happens every time the container is restarted as logs are re-read again. The file does not get updated or increase in size after the container has parsed the archived logs. Size varies on the amount of logs archived. The other log files are read in place and stored into memory by GoAccess, per my previous answer. Then the last few files are just HTML files that get rewritten as GoAccess parses the data.

 

I might be able to provide an option within the container to create the concatenated archived log file somewhere else if your interested in that. You can open an issue in github. I'll review and see if its feasible.

 

And yes, I'll keep updating the image to keep GeoLite2 updated.

13 minutes ago, xavierh said:

 

As far as my docker image / app. NPM archives and zips old logs so one of the first steps of this image/app is to unzip the logs and store them in one large file. This file is stored within the container itself. This would be the appdata folder where the app is stored, if your storing it in the default unraid location.

OK that's why I asked re /appdata... as looking in my appdata folder since I added this new version, I do NOT have any folder created/being used for GoAccess. Hence my query, as it would appear this is all being stored in the docker image (and I assume could blow it out in size over time?).

  • Author
11 minutes ago, JustinBH said:

OK that's why I asked re /appdata... as looking in my appdata folder since I added this new version, I do NOT have any folder created/being used for GoAccess. Hence my query, as it would appear this is all being stored in the docker image (and I assume could blow it out in size over time?).

 

Depends on your data (logs) and drive size. I currently have a container running with more than 15 proxy files totaling 1.2 million requests. Container size is less than 400MB.

@xavierh

 

Thanks for new container , i tryed to make it work from official docker but withou any luck ... also wanted to change version on old one and maked also docker but not finished ... 

dont have anouth time for it .

dont we need to mount appdata/GoAccess-NPM-Logs for goaccess/goaccess.conf file ?

  • Author
1 hour ago, Masterwishx said:

dont we need to mount appdata/GoAccess-NPM-Logs for goaccess/goaccess.conf file ?

You just need to mount your log files and set your time zone. The goaccess.conf has already been configured within the container; no need to touch that or set that up.

 

image.thumb.png.55d55ee05802236daf125042d8706810.png

Edited by xavierh
added screenshot

1 hour ago, xavierh said:

You just need to mount your log files and set your time zone. The goaccess.conf has already been configured within the container; no need to touch that or set that up.

 

image.thumb.png.55d55ee05802236daf125042d8706810.png

 

 

 i already installed and its working without any problems, 

Thanks again.

 

 

 

This is awesome thanks you. 

This is great.

Nice and simple way to visualise the nginx logs.

@xavierh i founded a lot of CPU usage for goaccess is it normal ?

 

image.thumb.png.368dd6b84a91aa06ff0cf6d1dadc6d43.png

 

image.thumb.png.0700c9c0f12be13522f00d364c999199.png

this is by gregyankovoy/goaccess

image.thumb.png.0fb8e220c2585b68fa3915df72362cbf.png

also i cansee like 15000 request adding every second this is can be right ?!?

image.thumb.png.c242ff32784dc42dbb8aa0c3b4cc8749.png

Edited by Masterwishx

Thank you for your work.

 

I did add the following as variables for basic login.

        - BASIC_AUTH=False #optional
        - BASIC_AUTH_USERNAME=user #optional
        - BASIC_AUTH_PASSWORD=pass #optional  

logout option missing?

  • Author
2 hours ago, Tolete said:

Thank you for your work.

 

I did add the following as variables for basic login.

        - BASIC_AUTH=False #optional
        - BASIC_AUTH_USERNAME=user #optional
        - BASIC_AUTH_PASSWORD=pass #optional  

logout option missing?

 for killing the basic auth session?

On 3/23/2022 at 10:49 PM, xavierh said:

 for killing the basic auth session?

 

Using BASIC_AUTH or something like 'Authelia' once you have authenticated there are no options to kill/logout

  • 1 month later...
On 3/19/2022 at 11:09 AM, Masterwishx said:

also i cansee like 15000 request adding every second this is can be right ?!?

image.thumb.png.c242ff32784dc42dbb8aa0c3b4cc8749.png

Are you pointed to the 'log' or the 'logs' directory in NPM? I had the same issue pointed to the 'logs' folder, but switching it over to the NPM 'logs' folder fixed it. Almost seemed like it was recursively adding stuff from the 'log' folder

On 5/9/2022 at 6:05 PM, Agent531C said:

Are you pointed to the 'log' or the 'logs' directory in NPM? I had the same issue pointed to the 'logs' folder, but switching it over to the NPM 'logs' folder fixed it. Almost seemed like it was recursively adding stuff from the 'log' folder

 

im using /mnt/user/Logs/NginxProxyManager

becose of old same docker using share - Logs

in my case its adding to last some days ....

  • 1 month later...
On 3/9/2022 at 10:13 PM, xavierh said:

Support thread for xavierh/goaccess-for-nginxproxymanager docker image.

 

Issues can be opened here as well: https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager/issues (please mention unraid)

 

Known issues:

  • If you add a new proxy in NPM the container needs to be restarted to read the new proxy host file created. I'm hoping to have a solution to this so the container does not need to be restarted.

Super work Buddy. Works like a charm, out of the Box! Thanks for your work.

  • 2 months later...

ca some one explain how much time long for NPM logs we have ?

For how long time we have logs in NPM ?

cant find any setting for it in NPM , sorry asking here ...

 

  • Author

maybe open a ticket with them in github? thats a good question though. I think they recently added some log rotation schema but not sure what it is.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.