AccueilDocumentationDéploiement

Déployer vos Applications

Déployez n'importe quelle application en quelques clics grâce aux templates prédéfinis ou personnalisez entièrement votre configuration Docker.

Intégration Git

GitHub & GitLab

Dokktor se connecte directement à vos repositories Git pour déployer automatiquement vos applications.

GitHub
  • Repos publics & privés
  • Webhooks automatiques
  • Deploy keys
GitLab
  • Repos publics & privés
  • Self-hosted supporté
  • Access tokens

Comment ça marche ?

1
Connectez votre compte GitHub ou GitLab
2
Sélectionnez le repository à déployer
3
Choisissez un template ou personnalisez
4
Dokktor build et déploie automatiquement

Allocation dynamique des ports

Automatique

Dokktor gère automatiquement l'attribution des ports pour vos applications déployées. Vous n'avez pas à vous soucier des conflits de ports.

Plage de ports

10000 - 20000

Les ports sont automatiquement alloués dans la plage

Attribution automatique

Chaque nouvelle application reçoit automatiquement un port disponible dans cette plage.

Réutilisation intelligente

Lorsqu'une application est supprimée, son port est libéré et réattribué automatiquement à la prochaine application déployée.

Zéro conflit

Dokktor vérifie la disponibilité du port avant chaque attribution pour éviter tout conflit.

Port personnalisé

Vous pouvez également définir un port spécifique lors du déploiement si nécessaire.

Comment fonctionne l'allocation ?

1
Nouvelle application déployée
2
Dokktor cherche le premier port libre (10000-20000)
3
Le port est attribué et l'app est accessible
4
Si une app est supprimée, son port redevient disponible

Exemple d'allocation

🔺App Laravel
:10000
💚App Node.js
:10001
🐍App Python
:10002

Templates prédéfinis

Choisissez parmi nos templates optimisés. Chaque template inclut un Dockerfile et un docker-compose.yml préconfigurés pour un déploiement rapide.

🐘PHP

PHP 8.x avec Apache ou Nginx

ApacheNginxComposer
🔺Laravel

Laravel avec queue workers & scheduler

PHP 8.xRedisMySQL
💚Node.js

Node.js avec npm ou yarn

Node 18/20npmyarn
💙Node.js + TypeScript

Node.js avec TypeScript compilé

TypeScriptts-nodeBuild
Next.js

Next.js avec SSR ou static export

ReactSSRStatic
📄Site Statique

HTML/CSS/JS servi par Nginx

NginxSPAStatic
🐍Python Flask

Flask avec Gunicorn

Python 3.xGunicornpip
Python FastAPI

FastAPI avec Uvicorn

Python 3.xUvicornasync
🛠️Personnalisé

Votre propre Dockerfile

CustomFlexibleAvancé

Personnalisation

Chaque template peut être personnalisé pour s'adapter parfaitement à votre application. Modifiez le Dockerfile et le docker-compose.yml directement depuis l'interface.

Ce que vous pouvez modifier

Variables d'environnement

Ajoutez vos .env et secrets

Commandes de build

npm install, composer install, etc.

Ports exposés

Mappez les ports de votre app

Volumes persistants

Stockage de fichiers et données

Dépendances système

Packages apt, extensions PHP...

Scripts de démarrage

Migrations, seeds, cache...

Exemple : Laravel personnaliséDockerfile
FROM php:8.2-fpm

# Extensions PHP personnalisées
RUN apt-get update && apt-get install -y \
    libpng-dev libjpeg-dev libfreetype6-dev \
    && docker-php-ext-configure gd \
    && docker-php-ext-install gd pdo pdo_mysql

# Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

WORKDIR /var/www/html
COPY . .

# Build
RUN composer install --no-dev --optimize-autoloader
RUN php artisan config:cache
RUN php artisan route:cache

EXPOSE 9000
CMD ["php-fpm"]

Bonnes pratiques

Utilisez un .dockerignore

Excluez node_modules, .git, et autres fichiers inutiles pour des builds plus rapides.

Variables d'environnement

Ne commitez jamais vos secrets. Utilisez les variables d'environnement de Dokktor.

Multi-stage builds

Réduisez la taille de vos images en séparant build et runtime.

Health checks

Ajoutez des health checks pour que Dokktor puisse monitorer votre application.