Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • b24
  • ll-workflow
  • FJ_LL_Tbl_Contrat
  • ll-rgpd
  • alc-scindage-donnees-pj
  • b23
  • alc-filtre-type-intervenant
  • ll-sans-mdb5
  • formules-ancienne-infra
  • ll-apiplatform
  • php84
  • ll-formules
  • alc-intervenant-dmep
  • ll-suppr-v_vol-s
  • b20
  • ll-postgresql
  • b23.0.1
  • b22
  • Dev_UM
  • 24.3
  • 24.2
  • 24.1
  • 24.0
  • 23.15
  • 24.0-beta19
  • 24.0-beta18
  • 24.0-beta17
  • 24.0-beta16
  • 24.0-beta15
  • 24.0-beta14
  • 24.0-beta13
  • 23.14
  • 24.0-beta12
  • 24.0-beta11
  • 24.0-beta10
  • 24.0-beta9
  • 24.0-beta8
  • 24.0-beta7
  • 24.0-beta6
40 results

module

  • Clone with SSH
  • Clone with HTTPS
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.

    SyGAL Database Image

    Ce projet est une image Docker rassemblant le nécessaire pour créer (le cas échéant) et de lancer une base de données pour l'application ESUP-SyGAL.

    Lancement de la base de données

    Sans docker-compose

    docker run \
    --rm \
    --env POSTGRES_USER=postgres \
    --env POSTGRES_PASSWORD=admin \
    --env SYGAL_DB=sygal \
    --env SYGAL_USER=ad_sygal \
    --env SYGAL_PASSWORD=azerty \
    --publish 5432:5432 \
    --volume $PWD/docker/sql/:/sql \
    --volume $PWD/data/db:/var/lib/postgresql/data \
    sygal-db-image

    Remarques :

    • Les variables d'environnement POSTGRES_* spécifient le super-utilisateur à créer (cf. https://registry.hub.docker.com/_/postgres).
    • Les variables d'environnement SYGAL_* spécifient la base de données et l'utilisateur SyGAL à créer.
    • Le montage $PWD/data/db:/var/lib/postgresql/data permet de spécifier un répertoire dans lequel sera persistée la base de données. Si aucune base n'est déjà persistée, le script /initdb.sh est lancé automatiquement au démarrage du container pour exécuter les scripts SQL situés dans le répertoire /sql :
      • Pour commencer, ce sont les scripts SQL placés dans le sous-répertoire admin qui sont exécutés avec le super-user identifié par les variables d'environnement POSTGRES_USER et POSTGRES_PASSWORD.
      • Ce sont ensuite les autres scripts qui sont exécutés avec le user identifié par les variables d'environnement SYGAL_USER et SYGAL_PASSWORD.
    • Vous pouvez substituer les scripts SQL par les vôtres en remplaçant le montage dans /sql (exemple : --volume $PWD/mes/scripts/sql/:/sql). La présence d'un sous-répertoire admin n'est pas obligatoire.

    Avec docker-compose

    Si vous utilisez docker-compose, les variables d'environnement POSTGRES_* et SYGAL_* sont spécifiées "en dur" dans le fichier docker-compose.yml.

    docker-compose up

    Utilisation de l'image dans un docker-compose.yml

    version: '2.2'
    services:
      sygal-db:
        image: sygal-db
        container_name: sygal-db-container
        restart: always
        environment:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: admin
          SYGAL_DB: sygal
          SYGAL_USER: ad_sygal
          SYGAL_PASSWORD: azerty
        ports:
          - "5432:5432"
        volumes:
          - ./mon/emplacement/sql/:/sql                   # répertoire des scripts de création de la bdd
          - ./mon/emplacement/db:/var/lib/postgresql/data # répertoire où la bdd est persistée

    Build de l'image

    • Facultatif : vous pouvez éventuellement récupérer les dernières versions des scripts SQL comme ceci :
    ./update_sql.sh

    NB : Ce script se termine par un git status permettant de connaître les scripts SQL ayant changé.

    • Build
    docker build \
    --rm \
    -t sygal-db-image \
    .

    Attention ! Si vous êtes derrière un proxy, vous pouvez transmettre les valeurs courantes de vos variables d'environement *_proxy à la commande build avec des --build-arg additionnels.