diff --git a/tasks/shinyproxy_docker_service.yml b/tasks/shinyproxy_docker_service.yml index 0e437fb..b090076 100644 --- a/tasks/shinyproxy_docker_service.yml +++ b/tasks/shinyproxy_docker_service.yml @@ -1,56 +1,93 @@ --- - name: Manage the composition of shinyproxy as a docker (non swarm) service - block: - - name: Create the directory where the dockerfile and the configuration file will be copied into - file: dest={{ shinyproxy_as_docker_src_dir }} state=directory - - - name: Install the shinyproxy configuration file when using version 2.x - template: src=shinyproxy-2-conf.yml.j2 dest={{ shinyproxy_as_docker_src_dir }}/application.yml owner=root group=root mode=0400 - - - name: Install the shinyproxy docker file - template: src=Dockerfile.j2 dest={{ shinyproxy_as_docker_src_dir }}/Dockerfile owner=root group=root mode=0444 - - - name: Install the docker compose file - template: src=shinyproxy-docker-compose.yml.j2 dest={{ shinyproxy_as_docker_src_dir }}/docker-compose.yml - - - name: Run the docker compose file to start the service - docker_compose: - project_src: '{{ shinyproxy_as_docker_src_dir }}' - build: yes - when: shinyproxy_container_backend == 'docker' - tags: [ 'shinyproxy', 'shinyproxy_docker', 'docker' ] + tags: ['shinyproxy', 'shinyproxy_docker', 'docker'] + block: + - name: Create the directory where the dockerfile and the configuration file will be copied into + ansible.builtin.file: + dest: "{{ shinyproxy_as_docker_src_dir }}" + state: directory + owner: root + group: root + mode: 0750 + + - name: Install the shinyproxy configuration file when using version 2.x + ansible.builtin.template: + src: shinyproxy-2-conf.yml.j2 + dest: "{{ shinyproxy_as_docker_src_dir }}/application.yml" + owner: root + group: root + mode: 0400 + + - name: Install the shinyproxy docker file + ansible.builtin.template: + src: Dockerfile.j2 + dest: "{{ shinyproxy_as_docker_src_dir }}/Dockerfile" + owner: root + group: root + mode: 0444 + + - name: Install the docker compose file + ansible.builtin.template: + src: shinyproxy-docker-compose.yml.j2 + dest: "{{ shinyproxy_as_docker_src_dir }}/docker-compose.yml" + owner: root + group: root + mode: 0400 + + - name: Run the docker compose file to start the service + community.docker.docker_compose: + project_src: '{{ shinyproxy_as_docker_src_dir }}' + build: true - name: Manage the installation of the shinyproxy configuration of the swarm service - block: - - name: Create the directory where the dockerfile and the configuration file will be copied into - file: dest={{ shinyproxy_as_docker_src_dir }} state=directory - - - name: Install the shinyproxy configuration file - template: src=shinyproxy-2-conf.yml.j2 dest={{ shinyproxy_as_docker_src_dir }}/application.yml owner=root group=root mode='0400' - when: - shinyproxy_container_backend == 'docker-swarm' - shinyproxy_docker_mount_conf_file - tags: [ 'shinyproxy', 'shinyproxy_swarm', 'docker' ] + tags: ['shinyproxy', 'shinyproxy_swarm', 'docker'] + block: + - name: Create the directory where the dockerfile and the configuration file will be copied into + ansible.builtin.file: + dest: "{{ shinyproxy_as_docker_src_dir }}" + state: directory + owner: root + group: root + mode: 0700 + + - name: Install the shinyproxy configuration file + ansible.builtin.template: + src: shinyproxy-2-conf.yml.j2 + dest: "{{ shinyproxy_as_docker_src_dir }}/application.yml" + owner: root + group: root + mode: 0400 - name: Manage the docker stack - block: - - name: Create the directory where the dockerfile and the configuration file will be copied into - file: dest={{ shinyproxy_as_docker_src_dir }} state=directory - - - name: Install the docker compose file - template: src=shinyproxy-docker-compose.yml.j2 dest={{ shinyproxy_as_docker_src_dir }}/docker-shinyproxy-stack.yml - - - name: Start the shinyproxy stack - docker_stack: - name: '{{ shinyproxy_as_docker_stack_name }}' - state: present - compose: - - '{{ shinyproxy_as_docker_src_dir }}/docker-shinyproxy-stack.yml' - - run_once: True when: - docker_swarm_manager_main_node is defined and docker_swarm_manager_main_node | bool - shinyproxy_container_backend == 'docker-swarm' - tags: [ 'shinyproxy', 'shinyproxy_swarm', 'docker' ] + tags: ['shinyproxy', 'shinyproxy_swarm', 'docker'] + run_once: true + block: + - name: Create the directory where the dockerfile and the configuration file will be copied into + ansible.builtin.file: + dest: "{{ shinyproxy_as_docker_src_dir }}" + state: directory + owner: root + group: root + mode: 0700 + + - name: Install the docker compose file + ansible.builtin.template: + src: shinyproxy-docker-compose.yml.j2 + dest: "{{ shinyproxy_as_docker_src_dir }}/docker-shinyproxy-stack.yml" + owner: root + group: root + mode: 0400 + + - name: Start the shinyproxy stack + community.docker.docker_stack: + name: '{{ shinyproxy_as_docker_stack_name }}' + state: present + compose: + - '{{ shinyproxy_as_docker_src_dir }}/docker-shinyproxy-stack.yml'