# Comment déployer ma première application sur Dokploy ?

https://www.seturack.com/fr/base-de-connaissances/article/how-do-i-deploy-my-first-app-on-dokploy

1. Dans le panneau, ouvrez **Mes serveurs** et cliquez sur votre serveur.
2. Dans l'onglet **Vue d'ensemble**, attendez que la ligne **Application** indique « Dokploy is ready ». La page se rafraîchit toute seule.
3. Ouvrez le lien HTTPS de la ligne **Adresse du panneau** et saisissez les informations des lignes **E-mail** et **Mot de passe**.

## Votre première application

1. Sur la page **Projects**, cliquez sur **Create Project**, puis ajoutez une **Application** avec **Create Service**.
2. Dans la section **Provider** de l'application, choisissez **Git**. Renseignez **Repository URL**, **Branch** et, si besoin, **Build Path**, puis cliquez sur **Save**.
3. Saisissez vos variables dans l'onglet **Environment**. Mettez aussi celles dont le build a besoin dans **Build-time Arguments**.
4. Dans l'onglet **Domains**, cliquez sur **Add Domain** : **Host** est votre domaine, **Container Port** est le port de votre application, **HTTPS** est activé et **Certificate Provider** est Let's Encrypt.
5. Cliquez sur **Deploy**.

## Déployer avec git push

1. Copiez le **Webhook URL** depuis l'onglet **Deployments** de l'application. Gardez cette adresse secrète.
2. Sur GitHub, ouvrez les **Settings** du dépôt, allez dans **Webhooks** et cliquez sur **Add webhook**. Utilisez cette adresse comme **Payload URL**, `application/json` comme **Content type**, et push comme seul événement.

Dès lors, chaque push sur la branche choisie compile et publie une nouvelle version, et les push sur les autres branches sont ignorés.

## Fermer le port 3000

Une fois le panneau ouvert sur son adresse HTTPS, vous pouvez fermer l'accès par IP. Docker contourne ufw sur les ports qu'il publie, ufw ne peut donc pas le faire. [Connectez-vous en SSH](https://www.seturack.com/fr/base-de-connaissances/article/how-to-connect-with-ssh) et lancez la commande officielle :

`docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy`

Si aucun certificat n'a pu être émis, l'adresse du panneau est `http://IP:3000`. Dans ce cas, gardez le port ouvert et définissez un domaine sous **Settings** sur la page **Web Server**.

**Pas encore de serveur ?** [Commandez un serveur avec Dokploy installé](https://www.seturack.com/fr/dokploy-vps) : vous choisissez la taille et vous payez ce que vous choisissez.
