Objectif :
Vérification :
docker --version docker compose version
À la racine du projet :
version: "3.9"
services:
postgres:
image: postgres:15
container_name: fastify_postgres
restart: always
environment:
POSTGRES_USER: fastify
POSTGRES_PASSWORD: fastifypassword
POSTGRES_DB: fastifydb
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
adminer:
image: adminer
container_name: fastify_adminer
restart: always
ports:
- "8080:8080"
volumes:
postgres_data:
docker compose up -d
Vérifier :
docker ps
Tu dois voir :
Dans ton fichier `.env` :
DATABASE_URL="postgresql://fastify:fastifypassword@localhost:5432/fastifydb"
npx prisma migrate dev --name init
Si tout est correct :
Navigateur :
Paramètres :
⚠️ Important :
Si Adminer ne se connecte pas avec “localhost”, utiliser “postgres” comme nom de serveur.
Arrêter les conteneurs :
docker compose down
Arrêter + supprimer volumes (supprime la base) :
docker compose down -v
Voir les logs :
docker compose logs
Redémarrer :
docker compose restart
Ne jamais commit :
Ajouter `.env` dans `.gitignore`.
fastify-prisma-api/ ├── docker-compose.yml ├── .env ├── prisma/ ├── src/