Voici un aide-mémoire regroupant toutes les actions et commandes que nous avons abordées concernant Docker, MariaDB, Moodle, et le transfert de fichiers :

Aide-mémoire Docker et Moodle

1. Création d’un conteneur avec MariaDB et Moodle

Créer le fichier docker-compose.yml suivant pour configurer ton environnement :

version: '3'

services:
  mariadb:
    image: bitnami/mariadb:latest
    environment:
      - MARIADB_ROOT_PASSWORD="unmotdepasse"       # Remplace par un mot de passe sécurisé
      - MARIADB_DATABASE=bitnami_moodle           # Nom de la base de données Moodle
      - MARIADB_USER="utilisateurmoodle"                  # Utilisateur Moodle
      - MARIADB_PASSWORD="motdepassemoodle"          # Mot de passe de l'utilisateur Moodle
    ports:
      - "9741:3306"                               # MariaDB accessible localement via le port 3307
    volumes:
      - mariadb_data:/bitnami/mariadb
    networks:
      - moodle-network

  moodle:
    image: bitnami/moodle:latest
    environment:
      - MOODLE_DATABASE_HOST=mariadb
      - MOODLE_DATABASE_PORT_NUMBER=3306
      - MOODLE_DATABASE_USER="utilisateurmoodle"
      - MOODLE_DATABASE_PASSWORD="motdepassemoodle"
      - MOODLE_DATABASE_NAME=bitnami_moodle
      - ALLOW_EMPTY_PASSWORD=no
    ports:
      - "9742:8080"   # Moodle accessible localement via http://localhost:8081
         # Moodle en HTTPS accessible via https://localhost:8444 (optionnel)
    volumes:
      - moodle_data:/bitnami/moodle
      - moodledata:/bitnami/moodledata
    depends_on:
      - mariadb
    networks:
      - moodle-network

volumes:
  mariadb_data:
  moodle_data:
  moodledata:

networks:
  moodle-network:
    driver: bridge

Importer une base de données

Pour importer un fichier SQL dans MariaDB :

docker exec -i <nom_du_conteneur_mariadb> /opt/bitnami/mariadb/bin/mariadb -u root -p<MYSQL_ROOT_PASSWORD> <MA_BASE_DE_DONNEE> < /chemin/hote/ma_base_a_importer.sql

Copier des fichiers de l’hôte vers le conteneur

Pour copier un fichier de l’hôte vers le conteneur :

docker cp /chemin/vers/fichier_local_hote <nom_du_conteneur>:/chemin/dans_le_conteneur

Transférer des fichiers vers un VPS avec scp

Pour transférer un fichier de ton ordinateur local vers un VPS :

scp /chemin/vers/fichier_local_ordinateur <utilisateur_ssh>@<adresse_ip_du_vps>:/chemin/de/destination/sur/le/vps

Options utiles :

  • -r pour copier un répertoire entier.
  • -P pour spécifier un port SSH autre que 22.

Ressources supplémentaire

  • Accéder au conteneur :
  docker exec -it <nom_du_conteneur_moodle> /bin/bash
  • Vérifier les permissions :
  ls -l /bitnami/moodle/moodledata/filedir
  • Changer les permissions (si nécessaire) :
  chmod -R 755 /bitnami/moodle/moodledata/filedir

Redémarrer le conteneur

Pour appliquer les changements, redémarre le conteneur :

docker-compose restart
ou
docker-compose down suivi de docker-compose up -d 

ne pas utiliser docker-compose down -v (car supprime les volumes!!!)

les commandes précédentes doivent etre utilisées dans le meme repertoire que le fichier docker-compose.yml

Remarques

Pour effectuer des modification dans les conteneurs, il faut passer par une console bash.

Si on fait du reverse proxy, ne pas oublié que le ssl est important uniquement sur le premier domaine et qu’il faut ensuite modifier l’url dans le cms.