# Docker AfterWork Fichiers Docker pour le build et l’exécution de l’API AfterWork. ## Fichiers | Fichier | Usage | |---------|--------| | `Dockerfile` | Image dev (JAR pré-buildé, Alpine) | | `Dockerfile.prod` | Image prod (multi-stage Maven + UBI8) | | `docker-compose.yml` | Stack optionnelle (app + PostgreSQL/Kafka sur l’hôte) | ## Build (depuis la racine du projet) ```bash # Image de production docker build -f docker/Dockerfile.prod -t afterwork-quarkus:latest . # Image de dev (après mvn package) docker build -f docker/Dockerfile -t afterwork-quarkus:dev . ``` ## Docker Compose Utilise le PostgreSQL et Kafka déjà en cours d’exécution sur l’hôte (host.docker.internal). **Depuis la racine :** ```bash docker-compose -f docker/docker-compose.yml up -d ``` **Depuis docker/ :** ```bash cd docker && docker-compose up -d ``` ### PostgreSQL (obligatoire) L’application se connecte à PostgreSQL sur l’hôte (`host.docker.internal:5432`). Sans identifiants, l’erreur **« no password was provided »** apparaît. - **Par défaut** (si vous ne définissez rien) : `DB_USERNAME=afterwork`, `DB_PASSWORD=changeme`, `DB_NAME=afterwork_db`. - Créer la base et l’utilisateur dans PostgreSQL, par exemple : ```sql CREATE USER afterwork WITH PASSWORD 'changeme'; CREATE DATABASE afterwork_db OWNER afterwork; ``` - Ou utiliser **vos** identifiants via un fichier **`.env` à la racine du projet** (mic-after-work-server-impl-quarkus-main) — Docker Compose le charge quand vous lancez depuis cette racine : ```bash # Contenu de .env à la racine du projet DB_USERNAME=monuser DB_PASSWORD=monmotdepasse DB_NAME=afterwork_db ``` Si vous lancez depuis `docker/` (`cd docker && docker-compose up`), placez le `.env` dans le dossier `docker/`.