I was running this docker image proxied via traefik but I was receiving an error message in the Nagios web interface:
docker nagios Error: Could not read object configuration data
And in the logs from the container:
container_name | Warning: File '/opt/nagios/var/perfdata.log' could not be opened - service performance data will not be written to file! container_name | Error: Unable to create temp file '/opt/nagios/var/nagios.tmpAofds4' for writing status data: Permission denied
To solve the issue I connected to the container:
docker exec -it container_name bash
And set the nagios user as the owner of the ‘var’ directory:
chown nagios /opt/nagios/var/
Then restarted the container.
I also used the following docker-compose.yml file for proxying via traefik:
version: '2'
services:
my-nagios:
image: jasonrivers/nagios:latest
ports:
- "8181:80"
environment:
- NAGIOS_FQDN=sub.domain.com
volumes:
- /var/containers/nagios/dirs/etc/:/opt/nagios/etc/
- /var/containers/nagios/dirs/var:/opt/nagios/var/
- /var/containers/nagios/dirs/plugins:/opt/Custom-Nagios-Plugins
restart: always
labels:
- traefik.backend=nagios
- traefik.frontend.rule=Host:monitor.redbranch.net
- traefik.docker.network=proxy
networks:
- internal
- proxy
networks:
proxy:
external: true
internal:
external: false

