version: '3'
services:

  microblog:
    # Pour builder, on se basera sur le Dockerfile dans le dossier actuel
    build:
      context: .
      dockerfile: Dockerfile
    # Exposer le port 5000 à l'intérieur de l'hôte
    ports:
      - 5000:5000  
    # microblog a besoin que db soit up pour pouvoir tourner
    depends_on:
      - db
    # On défini les paramètres de l'app
    # et en particulier le lien avec la DB
    environment:
      SECRET_KEY: UneSuperClefTresTresSecreteEtTresAleatoire
      DATABASE_URL: mysql+pymysql://microblog:UnSuperMotDePasse@db/microblog

  db:
    # Ce container se base sur une image déjà existante,
    # maintenue par la team de MariaDB
    image: mariadb:10.5.5
    # On défini les paramètes de la DB 
    environment:
      MYSQL_USER: microblog
      MYSQL_DATABASE: microblog
      MYSQL_PASSWORD: UnSuperMotDePasse
      MYSQL_ROOT_PASSWORD: UnSuperMotDePasseRoot
    # SUPER IMPORTANT: on stocke les vraies données dans un volume EN DEHORS du container
    volumes:
      - db-data:/var/lib/mysql


# (Pour pouvoir utiliser un volume, il doit être déclaré ici)
volumes:
  db-data:
