gi-yt.docker_compose_declarative

Docker Compose Déclaratif

Un playbook qui vous permet de définir Docker Compose de manière déclarative.

Variables de Rôle

Voir templates/docker-compose.yml.j2. Liste à venir bientôt :P

Quelques variables d'environnement supplémentaires obligatoires : app : la variable qui contient des données imbriquées sur compose app_name : nom de la stack à déployer default_restart_policy : unless-stopped / never / always configs_dir : Répertoire où les configurations pour vos stacks (comme des volumes) seront stockées sur le serveur configs_dir_local : Répertoire où les configurations pour vos stacks (comme des volumes) seront stockées dans le dépôt compose_dir : Répertoire où le fichier compose pour les stacks sera stocké sur votre serveur data_dir : Répertoire où les données de la stack seront stockées sur le serveur

Exemple de Playbook

- name: Docker
  hosts: in
  vars:
    apps:
      groups:
        NOM_DE_L_APPLICATION:
          needs_configs_dir: true
          needs_data_dir: true
          docker_settings:
            services:
              - name: CONTENEUR-1
                image: CHEMIN_DU_REGISTRE
                ports:
                  - "1234:5678"
                environment:
                  A: "BCD"
                mounts:
                  - "{{configs_dir}}/NOM_DE_L_APPLICATION/config.yaml:/var/lib/app/config.yaml"
                  - "{{data_dir}}/NOM_DE_L_APPLICATION/uploads:/var/lib/app/uploads"
                command: "--some-arg-here"
                user: 1000
  tasks:
    - name: Déployer le rôle de la stack
      ansible.builtin.include_role:
        name: aryak.docker_compose_declarative
      vars:
        app: "{{ item.value }}"
        app_name: "{{ item.key | lower }}"
        default_restart_policy: unless-stopped
        configs_dir: "/opt/configs"
        configs_dir_local: "./configs/{{ item.key }}"
        compose_dir: "/opt/docker"
        data_dir: "/opt/docker"
      loop: "{{ apps.groups | dict2items }}"
      when: item.value.docker_settings

Licence

AGPL 3.0

Informations sur l'Auteur

Arya Kiran me@aryak.me

À propos du projet

A role to help automate docker compose deployments

Installer
ansible-galaxy install gi-yt.docker_compose_declarative
Licence
Unknown
Téléchargements
200
Propriétaire
I do not use github anymore, Find me on https://codeberg.org/aryak. Contact details at https://aryak.me/contact.html