#!/usr/bin/env bash # ------------------------------------------------------------------ # Grafana # Source: https://server-installer.de/scripts/grafana # Version: v1.0.1 # Last updated: 2026-08-20 # Target OS: Linux (with Docker) # ------------------------------------------------------------------ set -euo pipefail log() { printf '\033[36m==>\033[0m %s\n' "$*"; } if [[ $EUID -ne 0 ]]; then echo "Please run as root (sudo)." >&2 exit 1 fi command -v docker >/dev/null || { echo "Docker is required. Install it first:" >&2 echo " curl -fsSL server-installer.de/scripts/docker | bash" >&2 exit 1 } # Arguments PORT="3000" while [[ $# -gt 0 ]]; do case "$1" in --port) PORT="$2"; shift 2 ;; *) echo "Unknown argument: $1" >&2; exit 1 ;; esac done docker volume create grafana-storage >/dev/null log "Starting Grafana OSS on port ${PORT}" docker run -d --name grafana --restart=unless-stopped \ -p "${PORT}:3000" \ -v grafana-storage:/var/lib/grafana \ grafana/grafana-oss log "Grafana: http://$(hostname -I | awk '{print $1}'):${PORT} (login admin / admin)" log "Done."