sanity-check.sh: add a Versions block for every involved service
Informational only, doesn't affect PASS/WARN/FAIL - lists apache/bind/ postfix/dovecot/rspamd/redis/mariadb/fail2ban/docker/certbot/php7.4/8.0 plus each Docker container's actual running version (not just its image tag), queried from inside the container where the tag alone doesn't say much.
This commit is contained in:
@@ -24,6 +24,33 @@ echo "alpha.jayfield.org sanity check - $(date -Is)"
|
||||
. /etc/os-release
|
||||
echo "OS: $PRETTY_NAME, kernel $(uname -r), uptime $(uptime -p)"
|
||||
|
||||
# ---------- Versions ----------
|
||||
# Informational only, not pass/fail - a quick reference for what's
|
||||
# actually running without having to SSH in and check each service
|
||||
# individually after an upgrade.
|
||||
section "Versions"
|
||||
echo "apache2: $(apache2 -v 2>/dev/null | head -1)"
|
||||
echo "bind9: $(named -v 2>/dev/null | cut -d' ' -f1-2)"
|
||||
echo "postfix: $(postconf mail_version 2>/dev/null)"
|
||||
echo "dovecot: $(dovecot --version 2>/dev/null)"
|
||||
echo "rspamd: $(rspamd --version 2>/dev/null | head -1)"
|
||||
echo "redis-server: $(redis-server --version 2>/dev/null)"
|
||||
echo "mariadb: $(mysql --version 2>/dev/null)"
|
||||
echo "fail2ban: $(fail2ban-client --version 2>/dev/null)"
|
||||
echo "docker: $(docker --version 2>/dev/null)"
|
||||
echo "docker compose: $(docker compose version 2>/dev/null | head -1)"
|
||||
echo "certbot: $(certbot --version 2>/dev/null)"
|
||||
echo "php7.4: $(php7.4 -v 2>/dev/null | head -1)"
|
||||
echo "php8.0: $(php8.0 -v 2>/dev/null | head -1)"
|
||||
echo
|
||||
echo "Docker containers:"
|
||||
echo " portainer: $(sudo docker inspect portainer -f '{{.Config.Image}}' 2>/dev/null), app $(curl -sk --max-time 3 https://127.0.0.1:9443/api/status 2>/dev/null | python3 -c 'import json,sys; print(json.load(sys.stdin).get("Version","?"))' 2>/dev/null || echo unknown)"
|
||||
echo " web (nginx): $(sudo docker exec web nginx -v 2>&1)"
|
||||
echo " nextcloud: $(sudo docker inspect nextcloud -f '{{.Config.Image}}' 2>/dev/null), app $(sudo docker exec -u www-data nextcloud php occ status 2>/dev/null | grep versionstring | awk '{print $3}')"
|
||||
echo " nextcloud-db: $(sudo docker exec nextcloud-db mariadb --version 2>/dev/null)"
|
||||
echo " nextcloud-redis: $(sudo docker exec nextcloud-redis redis-server --version 2>/dev/null)"
|
||||
echo " gitea: $(sudo docker inspect gitea -f '{{.Config.Image}}' 2>/dev/null), API reports $(curl -s --max-time 3 https://git.jayfield.org/api/v1/version 2>/dev/null | python3 -c 'import json,sys; print(json.load(sys.stdin).get("version","?"))' 2>/dev/null || echo unknown)"
|
||||
|
||||
# ---------- System package consistency ----------
|
||||
section "System package consistency"
|
||||
if [ -z "$(sudo dpkg --audit 2>&1)" ]; then
|
||||
|
||||
Reference in New Issue
Block a user