Skip to content
  • kaiyou

    Pascoual ça me semble top hormis l'initialisation qu'on peut simplifier.

    Pour le fichier compose il faut pas le mettre dans le repo du projet par contre. Concrètement ce qu'on met dans le projet il faut qu'on puisse le contribuer upstream, donc que du générique. Là le fichier compose contient les labels traefik, la config réseau spécifique tedomum, etc. Pareil pour la conf postgres elle est spécifique.

    Il faudrait donc si tu gardes un compose dans le repo projet mettre un truc très simple qui se contente de lancer l'appli dans un environnement minimal, à titre d'exemple pour le contribuer à frama.

    Puis, le compose complet pour nous, avec la conf postgres etc. Go le mettre dans le dépôt documentation

    Pour l'initialisation, le plus propre c'est de tout faire avec le compose. Postgis s'auto initialise si y'a rien donc laisse le simplement faire.

    Pour le remplissage des tables et la création de l'admin, tu peux simplement docker-compose exec une fois que tout est lancé. Ou à défaut docker-compose run --rm comme ça tu réutilises dynamiquement la config du compose.

    Enfin, pour le .env à mettre dans le dépôt documentation. J'avais dit de pas explicitement l'inclure en env file parce qu'on évite de faire ça, ça rend pas explicite ce qu'on a en environnement.

    En revanche ça nécessite de préciser les variables qu'on passe au service. Le classique pour ça c'est d'inclure une section environment dans les services qui en ont besoin, et d'y lister les variables dont ils ont besoin. Lorsque la valeur est structurellement dépendante du compose, on la met dedans, sinon juste on la nomme et on la définit dans le env kaiyou

    Exemple ici (je mets que l'environnement, j'écris ça sur le tel donc pas pratique.)

    services: app: environment: - MOBILIZON_DATABASE_HOST=db - MOBILIZON_DATABASE_USER=${POSTGRES_USER} - MOBILIZON_DATABASE_PASSWORD=${POSTGRES_PASSWORD} - MOBILIZON_INSTANCE_NAME - MOBILIZON_INSTANCE_HOST=${hostname}

    db: environnement: - POSTGRES_USER - POSTGRES_PASSWORD

    Puis dans le env :

    hostname=rdv.tedomum.net

    database

    POSTGRES_USER=mobilizon
    POSTGRES_PASSWORD=ufbeidbdu

    apo

    MOBILIZON_INSTANCE_NAME=Mobilizon TeDomum

    J'ai mis l'exemple que pour quelques variables. Y'a pas mal d'exemples complémentaires dans les autres projets sur le dépôt documentation kaiyou

    Quelques autres détails en vrac :

    il faut que tu symlink le Dockerfile à la racine ou bien que tu le places à la racine pour le build automatique
    je suis pas sûr que uuidgen soit bien recommandé pour générer des secrets forts
    côté anglais tu as des e qui traînent sur quelques mots comme edit etc.
    le nom du fichier de config en .exc me semble pas bon par rapport à celui dans le build
    le copy chown est probablement pas nécessaire si tu as déjà spécifié l'user
    un jour on pourra build les assets avec yarn dans une layer séparée ça évitera de déployer yarn avec apt et ça deminuera la complexité de l'image de l'appli
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment