Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Installation auf einem anderen Debian Linux System

Moderatoren: Ulrich, DeBaschdi

Forumsregeln
Bitte immer im Betreff die Hardware und die Softwareversion angeben! Für jede unterschiedliche Version einen eigenen Thread! Es gibt einfach unterschiedliche Probleme bei den einzelnen Versionen.
malau
Beiträge: 19
Registriert: So 23. Apr 2023, 19:01
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von malau »

Finde ich gut. Die Info wäre ja eigentlich ausreichend. Ob da nun Proxmox läuft oder etwas anderes wäre ja egal.
Damit kann man dann auch unterscheiden ob es nativ auf dem Pi läuft oder im Container. Der Pi liefert dann ein "none".

Benutzeravatar
mr.big
Beiträge: 595
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 17 Mal
Danksagung erhalten: 121 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von mr.big »

ja, in einer "VM" kommt

kvm

wenn man das auch noch mit berücksichtigt sollte da fast alles abgedeckt sein!

malau
Beiträge: 19
Registriert: So 23. Apr 2023, 19:01
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von malau »

Was noch fehlt wäre eine Abfrage, wenn das ganze im Docker läuft.
Meiner bringt dann:

Code: Alles auswählen

bash: systemd-detect-virt: command not found

Benutzeravatar
mr.big
Beiträge: 595
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 17 Mal
Danksagung erhalten: 121 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von mr.big »

sollte mit

Code: Alles auswählen

test -f /.dockerenv && echo "Running in Docker"
oder

Code: Alles auswählen

grep '/docker/' /proc/self/mountinfo
gehen!?

Benutzeravatar
Ulrich
Administrator
Beiträge: 6253
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 131 Mal
Danksagung erhalten: 845 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von Ulrich »

Die Abfrage kommt aus PHP heraus innerhalb eines Containers.
Da wird es schon ganz schön eng. Von dort aus kommt man nicht an alle Unterverzeichnisse oder bash Befehle und man hat mit Rechten zu kämpfen.

Es nützt mir nichts zu wissen, was alles gehen könnte, es aber keiner ausprobiert hat. Ich möchte daraus auch keine Wissenschaft machen.

Also bitte schreibt nur das, was ihr wirklich selber ausprobiert habt innerhalb von dem Container.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Benutzeravatar
mr.big
Beiträge: 595
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 17 Mal
Danksagung erhalten: 121 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von mr.big »

Dann einfach während des Setups abfragen und als eigene Variable setzen!?

Benutzeravatar
Ulrich
Administrator
Beiträge: 6253
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 131 Mal
Danksagung erhalten: 845 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von Ulrich »

@mysolar123

Bei der Abfrage der Hardware war noch viel altes Zeug im Programm. Das habe ich jetzt alles entfernt. Kannst du bitte ein Update auf die Solaranzeige machen, dann sollten keine Einträge mehr in der LOG Datei vorkommen.

Ich bin aber weiterhin auf der Suche, wie man aus einem Container heraus mit einfachen Mitteln herausfinden kann, ob die Software nativ auf einem Raspberry, oder auf einem Proxmox oder im Docker Container auf einem Proxmox oder nur in einem Docker Container läuft. Das soll bei jedem Neustart so geschehen.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Benutzeravatar
mr.big
Beiträge: 595
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 17 Mal
Danksagung erhalten: 121 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von mr.big »

so in etwa:

Code: Alles auswählen

<?php
function check_raspberry_pi() {
    if (file_exists('/proc/device-tree/model')) {
        $model = file_get_contents('/proc/device-tree/model');
        if (strpos($model, 'Raspberry Pi') !== false) {
            return "Das System läuft nativ auf einem Raspberry Pi.";
        }
    }
    return false;
}

function check_proxmox() {
    if (file_exists('/proc/version')) {
        $version = file_get_contents('/proc/version');
        if (strpos($version, 'proxmox') !== false) {
            return "Das System läuft auf Proxmox.";
        }
    }
    return false;
}

function check_docker() {
    if (file_exists('/.dockerenv')) {
        return "Das System läuft in einem Docker-Container.";
    }
    return false;
}

function check_lxc() {
    if (file_exists('/proc/1/environ')) {
        $environ = file_get_contents('/proc/1/environ');
        if (strpos($environ, 'container=lxc') !== false) {
            return "Das System läuft in einem LXC-Container.";
        }
    }
    return false;
}

function check_vm() {
    $dmi = @file_get_contents('/sys/class/dmi/id/product_name');
    if ($dmi && preg_match('/VirtualBox|VMware|KVM|Hyper-V/', $dmi)) {
        return "Das System läuft in einer virtuellen Maschine.";
    }
    return false;
}

function main() {
    if ($result = check_raspberry_pi()) {
        return $result;
    } elseif ($result = check_docker()) {
        if (check_proxmox()) {
            return "Das System läuft in einem Docker-Container auf Proxmox.";
        } else {
            return $result;
        }
    } elseif ($result = check_lxc()) {
        return $result;
    } elseif ($result = check_proxmox()) {
        return $result;
    } elseif ($result = check_vm()) {
        return $result;
    } else {
        return "Das System läuft auf einem unbekannten System.";
    }
}

// Speichern des Ergebnisses in einer Variable
$environment = main();

// Ausgabe des Ergebnisses (optional, falls Sie es anzeigen möchten)
echo $environment;
made by ChatGPT+

getestet: Raspi->ok, LXC -> ok

Benutzeravatar
Ulrich
Administrator
Beiträge: 6253
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 131 Mal
Danksagung erhalten: 845 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von Ulrich »

mr.big hat geschrieben:
Do 4. Jul 2024, 18:30
so in etwa:

Code: Alles auswählen

<?php
function check_raspberry_pi() {
    if (file_exists('/proc/device-tree/model')) {
        $model = file_get_contents('/proc/device-tree/model');
        if (strpos($model, 'Raspberry Pi') !== false) {
            return "Das System läuft nativ auf einem Raspberry Pi.";
        }
    }
    return false;
}

function check_proxmox() {
    if (file_exists('/proc/version')) {
        $version = file_get_contents('/proc/version');
        if (strpos($version, 'proxmox') !== false) {
            return "Das System läuft auf Proxmox.";
        }
    }
    return false;
}

function check_docker() {
    if (file_exists('/.dockerenv')) {
        return "Das System läuft in einem Docker-Container.";
    }
    return false;
}

function check_lxc() {
    if (file_exists('/proc/1/environ')) {
        $environ = file_get_contents('/proc/1/environ');
        if (strpos($environ, 'container=lxc') !== false) {
            return "Das System läuft in einem LXC-Container.";
        }
    }
    return false;
}

function check_vm() {
    $dmi = @file_get_contents('/sys/class/dmi/id/product_name');
    if ($dmi && preg_match('/VirtualBox|VMware|KVM|Hyper-V/', $dmi)) {
        return "Das System läuft in einer virtuellen Maschine.";
    }
    return false;
}

function main() {
    if ($result = check_raspberry_pi()) {
        return $result;
    } elseif ($result = check_docker()) {
        if (check_proxmox()) {
            return "Das System läuft in einem Docker-Container auf Proxmox.";
        } else {
            return $result;
        }
    } elseif ($result = check_lxc()) {
        return $result;
    } elseif ($result = check_proxmox()) {
        return $result;
    } elseif ($result = check_vm()) {
        return $result;
    } else {
        return "Das System läuft auf einem unbekannten System.";
    }
}

// Speichern des Ergebnisses in einer Variable
$environment = main();

// Ausgabe des Ergebnisses (optional, falls Sie es anzeigen möchten)
echo $environment;
made by ChatGPT+

getestet: Raspi->ok, LXC -> ok
Erst einmal vielen Dank für den Vorschlag. Ich werde daraus noch etwas "Kompaktes" basteln. So habe ich schon einmal ein paar Ideen bekommen.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Benutzeravatar
mr.big
Beiträge: 595
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 17 Mal
Danksagung erhalten: 121 Mal

Re: Installation Solaranzeige auf Proxmox mit Debian 12 - PHP Meldungen

Beitrag von mr.big »

Ulrich hat geschrieben:
Do 4. Jul 2024, 19:21
Erst einmal vielen Dank für den Vorschlag. Ich werde daraus noch etwas "Kompaktes" basteln. So habe ich schon einmal ein paar Ideen bekommen.
So war es auch gedacht! :thumbup:

Zurück zu „Installation auf einem anderen Debian Betriebssystem“

Wer ist online?

Mitglieder in diesem Forum: Sonstige [Bot] und 0 Gäste