feat(deploy): image web Docker et docker-compose complet (P5)
- Dockerfile multi-étapes (node:22-alpine, pnpm, output standalone), .dockerignore - docker-compose : service web (hôte 4000) + mysql + mongo avec volumes nommés - Env de connexion selon DB_IMPL (MYSQL_*, MONGODB_URI) ; mongo ?authSource=admin - Seed MySQL via 02-seed.sh (--default-character-set=utf8mb4) pour un UTF-8 propre - fix(api): parseTags gère les colonnes JSON déjà parsées par mysql2 - TODO : phase 5 et DoD cochées
This commit is contained in:
1 parent
17ae195b39
commit
f165168608
9 files changed
+112
-20
No files matched your search
@@ -1,4 +1,25 @@
|
||||
services:
|
||||
web:
|
||||
build: .
|
||||
container_name: flashcards-web
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
mongo:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
DB_IMPL: ${DB_IMPL:-mysql}
|
||||
MYSQL_HOST: mysql
|
||||
MYSQL_PORT: '3306'
|
||||
MYSQL_USER: flashcards
|
||||
MYSQL_PASSWORD: flashcards
|
||||
MYSQL_DATABASE: flashcards
|
||||
MONGODB_URI: mongodb://flashcards:flashcards@mongo:27017/flashcards?authSource=admin
|
||||
MONGODB_DATABASE: flashcards
|
||||
ports:
|
||||
- '4000:3000'
|
||||
|
||||
mysql:
|
||||
image: mysql:8.4
|
||||
container_name: flashcards-mysql
|
||||
|
||||
Reference in new issue
Block a user