<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Minerva herunterladen und betreiben</title>
<link rel="stylesheet" href="/static/vendor/fontawesome/css/fontawesome.min.css">
<link rel="stylesheet" href="/static/vendor/fontawesome/css/solid.min.css">
<link rel="stylesheet" href="/static/app.css?v={{ v() }}">
</head>
<body class="doc">
<main class="doc__wrap">
  <a class="doc__back" href="{{ '/app' if angemeldet else '/' }}"><i class="fa-solid fa-arrow-left"></i> zurück</a>
  <h1><i class="fa-solid fa-box-open"></i> Minerva herunterladen und betreiben</h1>
  <p class="lead">Als Desktop-App auf dem eigenen Rechner oder als Dienst für das
     ganze Haus. Beides läuft ohne Internet; Verbindungen nach außen gibt es nur
     über Erweiterungen, die man ausdrücklich einschaltet.</p>

  <h2 id="desktop"><i class="fa-solid fa-laptop"></i> Desktop-App</h2>
  {% if desktop %}
  <table class="grid">
    <thead><tr><th>Datei</th><th>Größe</th><th></th></tr></thead>
    <tbody>
    {% for p in desktop %}
      <tr><td><code>{{ p.name }}</code></td><td>{{ p.groesse }}</td>
          <td><a class="btn btn--primary" href="/install/{{ p.name }}"><i class="fa-solid fa-download"></i> Herunterladen</a></td></tr>
    {% endfor %}
    </tbody>
  </table>
  {% else %}
  <p class="hinweis"><i class="fa-solid fa-circle-info"></i> Auf diesem Server liegt derzeit kein Desktop-Paket. Es wird mit
     <code>scripts/desktop_bauen.sh</code> erzeugt und unter <code>dist/</code> abgelegt;
     danach erscheint es hier.</p>
  {% endif %}
  <p>Entpacken und starten. Alle Daten liegen im eigenen Benutzerverzeichnis
     (macOS: <code>~/Library/Application Support/Minerva</code>, Windows:
     <code>%APPDATA%\Minerva</code>, Linux: <code>~/.local/share/minerva</code>);
     ein Konto wird beim ersten Start angelegt, eine Anmeldung ist nicht nötig.</p>
  <p class="hinweis"><i class="fa-solid fa-shield-halved"></i> Die App ist nicht signiert. macOS fragt beim ersten Start nach:
     <b>Systemeinstellungen → Datenschutz &amp; Sicherheit → „Trotzdem öffnen“</b>.
     Windows: <b>„Weitere Informationen“ → „Trotzdem ausführen“</b>.</p>

  <h2 id="server"><i class="fa-solid fa-server"></i> Für das ganze Haus betreiben</h2>
  {% if server %}
  <table class="grid">
    <thead><tr><th>Datei</th><th>Größe</th><th></th></tr></thead>
    <tbody>
    {% for p in server %}
      <tr><td><code>{{ p.name }}</code></td><td>{{ p.groesse }}</td>
          <td><a class="btn btn--primary" href="/install/{{ p.name }}"><i class="fa-solid fa-download"></i> Herunterladen</a></td></tr>
    {% endfor %}
    </tbody>
  </table>
  <p class="muted">Das Paket enthält die fertigen Container-Abbilder, die
     Beschreibungsdatei und das Installationsskript. Es braucht beim Einrichten
     keine Internetverbindung.</p>
  {% else %}
  <p class="hinweis"><i class="fa-solid fa-circle-info"></i> Auf diesem Server liegt derzeit kein Serverpaket. Es wird
     mit <code>scripts/paket.sh</code> erzeugt und unter <code>dist/</code> abgelegt;
     danach erscheint es hier zum Herunterladen.</p>
  {% endif %}
  <pre><code>tar -xzf minerva-&lt;version&gt;.tar.gz
cd minerva-&lt;version&gt;
./install.sh</code></pre>
  <p>Das Skript prüft Docker, lädt die mitgelieferten Abbilder, erzeugt beim
     ersten Lauf Zugangsdaten und Sitzungsschlüssel in <code>.env</code> und
     startet beide Container. Danach ist die Anwendung im Browser unter
     <code>http://&lt;rechner&gt;:8000</code> erreichbar. Für den Betrieb im
     Internet mit eigener Adresse und HTTPS genügt <code>DOMAIN</code> in
     <code>.env</code> und <code>docker compose --profile public up -d</code>.</p>

  <h2><i class="fa-solid fa-rocket"></i> Erste Schritte</h2>
  <ol>
    <li>Konto anlegen – die Ersteinrichtung fragt nach Zweck (Arbeit, Freelance,
        Persönlich), Erweiterungen und Profil.</li>
    <li>Struktur aufbauen: Unternehmen, Niederlassungen, Abteilungen und darin
        Arbeitsbereiche – oder gleich ein persönliches Projekt.</li>
    <li>Personen einladen – Rollen vererben sich von oben nach unten.</li>
  </ol>

  <h2><i class="fa-solid fa-circle-info"></i> Voraussetzungen und Betrieb</h2>
  <ul>
    <li>Desktop-App: macOS 12+, Windows 10/11 (mit WebView2, bei Windows 11
        vorhanden), Linux mit Browser.</li>
    <li>Dienst: Docker mit Compose auf einem Rechner mit ⟨2 CPU-Kernen, 2 GB RAM⟩.
        Datenhaltung in den Docker-Volumes; Sicherung mit
        <code>docker compose exec db pg_dump …</code>.</li>
    <li>Der Assistent und der KI-Entwurf sind optional: Sie nutzen ein lokal
        betriebenes Sprachmodell (LM Studio) und bleiben ohne dieses abgeschaltet.</li>
    <li>Aktualisierung: neues Paket entpacken und <code>./install.sh</code>
        erneut ausführen; die Daten in den Volumes bleiben erhalten.</li>
  </ul>
</main>
</body>
</html>
