# Hoe zet ik mijn eerste app online op Coolify?

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

1. Open in het paneel **Mijn servers** en klik op je server.
2. Wacht op het tabblad **Overzicht** tot de rij **App** "Coolify is klaar" meldt.
3. Open de link bij **Paneeladres** en log in met de rijen **E-mail** en **Wachtwoord**. De server en een eerste project staan klaar.

## Je repository koppelen

1. Open op de pagina **Projects** **My first project** en **production** en druk op **New resource**.
2. Kies voor een openbare repository **Public Git Repository**, vul het adres in en druk op **Check repository**.
3. Druk voor een privérepository eerst op de pagina **Private Keys** onder **Keys & Tokens** op **Generate ED25519** en voeg de openbare sleutel toe aan de **Deploy keys** van de repository op GitHub. Kies daarna **Private Git Repository (with Deploy Key)** en vul `git@github.com:user/project.git` in.
4. Laat **Build pack** op **Railpack** staan en druk op **Continue**. Coolify markeert Railpack als bèta, kies dus je eigen Dockerfile als het problemen geeft.
5. Vul je variabelen in op de pagina **Environment Variables** en druk op **Deploy**. Een HTTPS-testadres staat op de pagina **Domains**.

## Online zetten met git push

1. Kopieer op de pagina **Webhooks** van de app de **Webhook URL** uit het GitHub-gedeelte, vul bij **Webhook secret** een willekeurige waarde van minstens 16 tekens in en sla op.
2. Open op GitHub de **Settings** van de repository, ga naar **Webhooks** en druk op **Add webhook**. Gebruik dat adres als **Payload URL**, `application/json` als **Content type**, dezelfde waarde als **Secret** en push als enige gebeurtenis.

Vanaf dan bouwt en publiceert elke `git push` naar de gekozen branch een nieuwe versie. Druk na het wijzigen van een variabele die met `NEXT_PUBLIC_` begint op **Redeploy**. Raakt het geheugen bij een build op, [schaal dan op vanuit je paneel](https://www.seturack.com/nl/kennisbank/artikel/how-to-scale-server-up-or-down).

## Je domein

Laat de A-record naar het IP-adres van de server wijzen. Gebruik op de pagina **Domains** de knop **Add domain**, kies `https`, vul het domein in, sla op en druk op **Redeploy**. Coolify regelt het certificaat.

## Poort 8000, 6001 en 6002 sluiten

Zodra het paneel opent op zijn HTTPS-adres, heb je deze poorten niet meer nodig. Docker slaat ufw over bij de poorten die het publiceert, dus ufw sluit ze niet. [Verbind via SSH](https://www.seturack.com/nl/kennisbank/artikel/how-to-connect-with-ssh) en volg de officiële route van Coolify:

`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`

De laatste opdracht ververst de installatie en gaat naar een nieuwere versie als die er is. Wil je dit ongedaan maken, verwijder dan het bestand en voer dezelfde opdracht uit.

## Goed om te weten

Coolify verbindt via SSH als root met zijn eigen sleutel. Als je root-login uitschakelt of de regel `coolify` uit `/root/.ssh/authorized_keys` haalt, stoppen de deployments.

**Nog geen server?** [Bestel een server met Coolify geïnstalleerd](https://www.seturack.com/nl/coolify-vps): jij kiest de grootte en betaalt voor wat je kiest.
