Loading .ansible-lint +1 −0 Original line number Diff line number Diff line --- warn_list: - yaml[line-length] - no-handler README.md +1 −1 Original line number Diff line number Diff line # ansible_role-template # ansible_role-docker_compose_service meta/main.yml +4 −4 Original line number Diff line number Diff line collections: [] dependencies: [] galaxy_info: author: template description: template author: Dmitriy Safronov description: "Configure Docker compose service" license: Apache-2.0 min_ansible_version: "2.16" namespace: template role_name: template namespace: dmitriysafronov role_name: docker_compose_service tasks/main.yml 0 → 100644 +54 −0 Original line number Diff line number Diff line --- - name: Install Docker Compose plugin ansible.builtin.package: name: docker-compose-plugin state: present - name: "Create working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.file: path: "/opt/{{ docker_compose_name | mandatory }}" state: directory mode: '0755' owner: root group: root - name: "Template [docker-compose.yml] into working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.copy: content: | {{ docker_compose_content | mandatory }} dest: "/opt/{{ docker_compose_name | mandatory }}/docker-compose.yml" owner: root group: root mode: "0644" register: docker_compose_service_content - name: "Template [.env] into working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" when: - docker_compose_env is defined - docker_compose_env | length > 0 ansible.builtin.copy: content: | {{ docker_compose_env }} dest: "/opt/{{ docker_compose_name | mandatory }}/.env" owner: root group: root mode: "0644" register: docker_compose_service_env - name: "Create Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.template: src: docker-compose.service.j2 dest: "/etc/systemd/system/docker-compose_{{ docker_compose_name | mandatory }}.service" owner: root group: root mode: "0644" register: docker_compose_service - name: "(Re)start Docker Compose service : {{ docker_compose_name | mandatory }}" when: docker_compose_service.changed or docker_compose_service_content.changed or docker_compose_service_env.changed ansible.builtin.systemd: state: restarted enabled: true daemon_reload: true name: "docker-compose_{{ docker_compose_name | mandatory }}.service" templates/docker-compose.service.j2 0 → 100644 +15 −0 Original line number Diff line number Diff line [Unit] Description=Docker compose: {{ docker_compose_name | mandatory }} After=docker.service Requires=docker.service [Service] Type=oneshot Environment="TERM=dumb" RemainAfterExit=true ExecStart=/usr/bin/docker compose --project-directory "/opt/{{ docker_compose_name | mandatory }}" up --remove-orphans -d ExecStop=/usr/bin/docker compose --project-directory "/opt/{{ docker_compose_name | mandatory }}" down --remove-orphans [Install] WantedBy=multi-user.target Loading
.ansible-lint +1 −0 Original line number Diff line number Diff line --- warn_list: - yaml[line-length] - no-handler
README.md +1 −1 Original line number Diff line number Diff line # ansible_role-template # ansible_role-docker_compose_service
meta/main.yml +4 −4 Original line number Diff line number Diff line collections: [] dependencies: [] galaxy_info: author: template description: template author: Dmitriy Safronov description: "Configure Docker compose service" license: Apache-2.0 min_ansible_version: "2.16" namespace: template role_name: template namespace: dmitriysafronov role_name: docker_compose_service
tasks/main.yml 0 → 100644 +54 −0 Original line number Diff line number Diff line --- - name: Install Docker Compose plugin ansible.builtin.package: name: docker-compose-plugin state: present - name: "Create working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.file: path: "/opt/{{ docker_compose_name | mandatory }}" state: directory mode: '0755' owner: root group: root - name: "Template [docker-compose.yml] into working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.copy: content: | {{ docker_compose_content | mandatory }} dest: "/opt/{{ docker_compose_name | mandatory }}/docker-compose.yml" owner: root group: root mode: "0644" register: docker_compose_service_content - name: "Template [.env] into working directory for Docker Compose service : {{ docker_compose_name | mandatory }}" when: - docker_compose_env is defined - docker_compose_env | length > 0 ansible.builtin.copy: content: | {{ docker_compose_env }} dest: "/opt/{{ docker_compose_name | mandatory }}/.env" owner: root group: root mode: "0644" register: docker_compose_service_env - name: "Create Docker Compose service : {{ docker_compose_name | mandatory }}" ansible.builtin.template: src: docker-compose.service.j2 dest: "/etc/systemd/system/docker-compose_{{ docker_compose_name | mandatory }}.service" owner: root group: root mode: "0644" register: docker_compose_service - name: "(Re)start Docker Compose service : {{ docker_compose_name | mandatory }}" when: docker_compose_service.changed or docker_compose_service_content.changed or docker_compose_service_env.changed ansible.builtin.systemd: state: restarted enabled: true daemon_reload: true name: "docker-compose_{{ docker_compose_name | mandatory }}.service"
templates/docker-compose.service.j2 0 → 100644 +15 −0 Original line number Diff line number Diff line [Unit] Description=Docker compose: {{ docker_compose_name | mandatory }} After=docker.service Requires=docker.service [Service] Type=oneshot Environment="TERM=dumb" RemainAfterExit=true ExecStart=/usr/bin/docker compose --project-directory "/opt/{{ docker_compose_name | mandatory }}" up --remove-orphans -d ExecStop=/usr/bin/docker compose --project-directory "/opt/{{ docker_compose_name | mandatory }}" down --remove-orphans [Install] WantedBy=multi-user.target