{"meta":{"slug":"prometheus","name":"Prometheus","category":"monitoring","source":"pterodactyl","owner":"pterodactyl","repo":"application-eggs","branch":"main","path":"monitoring/prometheus/egg-prometheus.json","rawUrl":"https://raw.githubusercontent.com/pterodactyl/application-eggs/main/monitoring/prometheus/egg-prometheus.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"version":"PTDL_v2","update_url":null},"exported_at":"2025-08-22T13:55:16+00:00","name":"Prometheus","author":"p.zarrad@outlook.de","description":"The Prometheus monitoring system and time series database.","features":null,"docker_images":{"ghcr.io/ptero-eggs/yolks:debian":"ghcr.io/ptero-eggs/yolks:debian"},"file_denylist":[],"startup":"./prometheus --web.listen-address=0.0.0.0:{{SERVER_PORT}} --config.file=/home/container/prometheus.yml --storage.tsdb.path=/home/container/data --web.console.templates=/home/container/consoles --web.console.libraries=/home/container/console_libraries --web.config.file=/home/container/prometheus.web.yml --storage.tsdb.retention.time={{DATA_SAVE_TIME}}","config":{"files":"{}","startup":"{\r\n    \"done\": \"Server is ready to receive web requests.\"\r\n}","logs":"{}","stop":"^C"},"scripts":{"installation":{"script":"#!/bin/sh\r\nshopt -s extglob\r\n# Switch to mounted directory\r\ncd /mnt/server\r\n# Update installation system and install curl\r\napt-get update\r\napt-get install -y curl\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n# Cleanup previous install if available\r\nif [ -f \"prometheus.yml\" ]; then mv prometheus.yml prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml\" ]; then mv prometheus.web.yml prometheus.web.yml.bak; fi\r\nrm -rfv !(data|prometheus.yml.bak|prometheus.web.yml.bak)\r\n# Download and extract Prometheus\r\nversion=${PROMETHEUS_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https://api.github.com/repos/prometheus/prometheus/releases/latest\" | grep '\"tag_name\":' | sed -E 's/.*\"([^\"]+)\".*/\\1/' | cut -c2-); fi\r\ncurl -L https://github.com/prometheus/prometheus/releases/download/v${version}/prometheus-${version}.linux-${ARCH}.tar.gz --output prometheus.tar.gz\r\ntar -zxvf prometheus.tar.gz\r\nmv -n prometheus-*/* ./\r\nrm -rf prometheus.tar.gz prometheus-*/\r\n# Restore configuration if necessary\r\nif [ -f \"prometheus.yml.bak\" ]; then rm -rf prometheus.yml && mv prometheus.yml.bak prometheus.yml && rm -rf prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml.bak\" ]; then rm -rf prometheus.web.yml && mv prometheus.web.yml.bak prometheus.web.yml && rm -rf prometheus.web.yml.bak; fi\r\n# Create dummy prometheus.web.yml as a placeholder\r\nif [ ! -f \"prometheus.web.yml\" ]; then touch prometheus.web.yml; fi","container":"ghcr.io/ptero-eggs/installers:debian","entrypoint":"bash"}},"variables":[{"name":"Prometheus Version","description":"The version of Prometheus to install. By default the latest version is being installed.","env_variable":"PROMETHEUS_VERSION","default_value":"latest","user_viewable":true,"user_editable":true,"rules":"required|string|max:20","field_type":"text"},{"name":"Data Save time in Days","description":"How long the data is being saved","env_variable":"DATA_SAVE_TIME","default_value":"15d","user_viewable":true,"user_editable":true,"rules":"required|string|max:10","field_type":"text"}]},"readme":"# Prometheus\n\n## From the [Prometheus](https://github.com/prometheus/prometheus) GitHub repository\n\nThe Prometheus monitoring system and time series database.\n\n## Resource consumption\n\nAs Prometheus is a monitoring software that saves data in a timeseries database, it can take up massive amounts of disk space. Due to Prometheus design, a huge memory consumption is also possible.\nTo get started, a minimum of 3GB RAM and >=2.5GB disk space is recommended.\nKeep in mind that those numbers can grow pretty quick for large monitored environments!\n\n## Server Ports\n\nPorts required to run the server in a table format.\n\n| Port              | default |\n|-------------------|---------|\n| Prometheus server | 9090    |\n"}