# https://mxulises.medium.com/simple-prometheus-setup-on-docker-compose-f702d5f98579 Create user and group --------------------- Credentials -> Local Users -> Add Full Name: prometheus Username: prometh Disable Password: Email: UID: 3021 Create New Primary Group: Create Home Directory: Samba Authentication: Save Check Credentials -> Local Groups for GID Name: prometh GID: 3020 prometh UID: 3021 prometh GID: 3020 Create datasets --------------- /mnt/SSD1/docker/data/prometheus ; set Owner:Group to prometheus:prometheus /mnt/SSD1/docker/data/prometheus/config ; set Owner:Group to prometheus:prometheus /mnt/SSD1/docker/data/prometheus/appdata ; set Owner:Group to prometheus:prometheus /mnt/SSD1/docker/data/prometheus/alertmgr ; set Owner:Group to prometheus:prometheus Create folder ------------- mkdir /mnt/SSD1/docker/stacks/prometheus Create secrets -------------- # In docker shell: cd /opt/stacks/prometheus/secrets # generate password hash and convert $ in hash to $$; password must be surrounded by single quotes echo $(htpasswd -nB admin) # Remove the single quotes from the generated hash and copy the result to local stacks\.env file # Repeat the above for the prometheus metrics password Creating user password hash strings for user authorisation using traefik basic-auth ----------------------------------------------------------------------------------- # If not installed, install htpasswd: jlmkr shell docker apt update & apt install apache2-utils # The user credentials can be applied as a label entry in the compose.yml file or as a line entry in a text file # When used as a label entry, all '$' needs to be escaped with a second '$'; sed can be used for this purpose: # To create user list textfile line item echo $(htpasswd -nB admin) # To create string to be used in compose file label echo $(htpasswd -nB admin) | sed -e s/\\$/\\$\\$/g # See traefik_jm.txt for more detailed instructions Copy folder to docker stacks ---------------------------- # In Windows cmd shell in prometheus folder, enter: ./cp2nas 10.0.0.20 # OR pscp -P 22 -r stacks/*.* root@10.0.0.20:/mnt/SSD1/docker/stacks/prometheus/ # The above should copy compose.yaml and .env to /mnt/SSD1/docker/stacks/prometheus Prometheus exporters -------------------- https://github.com/bairhys/prometheus-frigate-exporter Troubleshooting --------------- Config file ~~~~~~~~~~~ # Check for errors in config file with the following command: docker exec prometheus-prometheus-1 promtool check config /etc/prometheus/prometheus.yml # note that "prometheus-prometheus-1" is the prometheus container name Endpoints ~~~~~~~~~ # Open "https://prometheus.sthome.org/targets" in browser to check whether endpoints are up