# Wie rolle ich meine erste App in Coolify aus?

https://www.seturack.com/de/wissensdatenbank/artikel/how-do-i-deploy-my-first-app-on-coolify

1. Öffnen Sie im Panel **Meine Server** und klicken Sie auf Ihren Server.
2. Warten Sie auf dem Reiter **Übersicht**, bis die Zeile **App** „Coolify ist bereit“ meldet.
3. Öffnen Sie den Link **Panel-Adresse** und melden Sie sich mit den Zeilen **E-Mail** und **Passwort** an. Der Server und ein erstes Projekt sind bereit.

## Repository verbinden

1. Öffnen Sie auf der Seite **Projects** **My first project** und **production** und klicken Sie dann auf **New resource**.
2. Wählen Sie bei einem öffentlichen Repository **Public Git Repository**, geben Sie die Adresse ein und klicken Sie auf **Check repository**.
3. Klicken Sie bei einem privaten Repository zuerst auf der Seite **Private Keys** unter **Keys & Tokens** auf **Generate ED25519** und fügen Sie den öffentlichen Schlüssel bei GitHub unter **Deploy keys** des Repositorys hinzu. Wählen Sie dann **Private Git Repository (with Deploy Key)** und geben Sie `git@github.com:user/project.git` ein.
4. Lassen Sie **Build pack** auf **Railpack** stehen und klicken Sie auf **Continue**. Coolify kennzeichnet Railpack als Beta; wählen Sie bei Problemen also Ihr eigenes Dockerfile.
5. Tragen Sie Ihre Variablen auf der Seite **Environment Variables** ein und klicken Sie auf **Deploy**. Eine HTTPS-Testadresse finden Sie auf der Seite **Domains**.

## Mit git push ausrollen

1. Kopieren Sie auf der Seite **Webhooks** der App die **Webhook URL** aus dem GitHub-Abschnitt, tragen Sie bei **Webhook secret** einen zufälligen Wert mit mindestens 16 Zeichen ein und speichern Sie.
2. Öffnen Sie auf GitHub die **Settings** des Repositorys, gehen Sie zu **Webhooks** und klicken Sie auf **Add webhook**. Verwenden Sie diese Adresse als **Payload URL**, `application/json` als **Content type**, denselben Wert als **Secret** und push als einziges Ereignis.

Ab dann baut und veröffentlicht jeder `git push` auf den gewählten Branch eine neue Version. Klicken Sie nach dem Ändern einer Variable, die mit `NEXT_PUBLIC_` beginnt, auf **Redeploy**. Geht einem Build der Arbeitsspeicher aus, [vergrößern Sie Ihren Server im Panel](https://www.seturack.com/de/wissensdatenbank/artikel/how-to-scale-server-up-or-down).

## Ihre Domain

Richten Sie den A-Record auf die IP des Servers. Verwenden Sie auf der Seite **Domains** **Add domain**, wählen Sie `https`, geben Sie die Domain ein, speichern Sie und klicken Sie auf **Redeploy**. Coolify holt das Zertifikat.

## Die Ports 8000, 6001 und 6002 schließen

Sobald sich das Panel über seine HTTPS-Adresse öffnet, werden diese Ports nicht mehr gebraucht. Docker umgeht ufw bei den Ports, die es veröffentlicht, daher schließt ufw sie nicht. [Per SSH verbinden](https://www.seturack.com/de/wissensdatenbank/artikel/how-to-connect-with-ssh) und dem offiziellen Weg von Coolify folgen:

`cd /data/coolify/source`

`printf 'services:\n coolify:\n ports: !override\n - "127.0.0.1:8000:8080"\n - "127.0.0.1:6001:6001"\n - "127.0.0.1:6002:6002"\n' > docker-compose.custom.yml`

`curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash`

Der letzte Befehl erneuert die Installation und wechselt auf eine neuere Version, falls es eine gibt. Um das rückgängig zu machen, löschen Sie die Datei und führen denselben Befehl aus.

## Gut zu wissen

Coolify verbindet sich per SSH als root mit seinem eigenen Schlüssel. Wenn Sie den Root-Login deaktivieren oder die Zeile `coolify` aus `/root/.ssh/authorized_keys` entfernen, funktionieren Deployments nicht mehr.

**Noch kein Server?** [Bestellen Sie einen Server mit vorinstalliertem Coolify](https://www.seturack.com/de/coolify-vps): Sie wählen die Größe und zahlen nur, was Sie wählen.
