> ## Documentation Index
> Fetch the complete documentation index at: https://docs.havic.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Havic baut es

> Verknüpfen Sie ein GitLab-Repository — Havic baut Ihr Projekt in einer abgeschotteten Sandbox und stellt es bereit.

Sie müssen nicht selbst bauen: Verknüpfen Sie Ihr **GitLab-Repository** und Havic
holt den Code, baut ihn in einer **abgeschotteten Sandbox** und stellt das Ergebnis
bereit — bei jedem neuen Stand.

## So funktioniert es

<Steps>
  <Step title="Repository verknüpfen">
    Verbinden Sie Ihr GitLab-Repository mit der Webseite. Praktisch, wenn Sie sich
    ohnehin mit GitLab anmelden.
  </Step>

  <Step title="Havic erkennt das Framework">
    Beim Bauen gleicht Havic den Quellcode mit Framework-Signaturen ab
    (*„Gleicht Framework-Signaturen ab …"*) und schlägt die passende Konfiguration vor.
  </Step>

  <Step title="Sandbox-Build">
    Der Build läuft isoliert in einer Sandbox. Sie können in der Zwischenzeit
    weiterarbeiten.
  </Step>

  <Step title="Veröffentlichen">
    Nach erfolgreichem Build und der Health-Prüfung geht die Seite live.
  </Step>
</Steps>

## Framework-Erkennung & Laufzeit-Backend

Havic erkennt automatisch, ob Ihr Projekt eine **statische Seite** ist oder ein
**Laufzeit-Backend** braucht (also als Prozess laufen muss). Für Backends schlägt
Havic eine Laufzeit vor und blendet einen Hinweis ein.

Erkannte Laufzeiten sind unter anderem:

<CardGroup cols={3}>
  <Card title="Ruby on Rails" icon="gem" />

  <Card title="Python" icon="python" />

  <Card title=".NET" icon="microsoft" />
</CardGroup>

Für ein Laufzeit-Backend konfigurieren Sie:

| Feld               | Bedeutung                                          |
| ------------------ | -------------------------------------------------- |
| **Start-Befehl**   | Wie der Prozess gestartet wird.                    |
| **Port**           | Auf welchem Port die Anwendung lauscht.            |
| **Readiness-Pfad** | Pfad, an dem Havic die Bereitschaft prüft.         |
| **Release-Befehl** | Optional, z. B. Datenbank-Migration vor dem Start. |
| **Replikate**      | Anzahl paralleler Instanzen.                       |

<Note>
  **Datenbank inklusive:** Havic stellt automatisch eine **MariaDB** bereit und setzt
  `DATABASE_URL`. Möchten Sie eine eigene externe Datenbank nutzen, tragen Sie
  `DATABASE_URL` einfach als Secret ein.
</Note>

<Warning>
  Secrets wie `SECRET_KEY_BASE`, `RAILS_MASTER_KEY` oder API-Keys tragen Sie als
  **Zusätzliche Secrets** (`KEY=VALUE` pro Zeile) ein. Sie werden sicher zur Laufzeit
  injiziert und **nie ins Image gebaut**.
</Warning>
