--- - name: Create Semaphore directories if they do not exist become: false ansible.builtin.file: path: /home/{{ system_user_name }}/docker/semaphore/{{ item }} state: directory mode: '0755' loop: '{{ semaphore_folder }}' - name: Create docker network 'semaphore' community.docker.docker_network: name: semaphore - name: Create mySQL Container community.docker.docker_container: name: semaphore_db image: 'mysql:8.0' pull: yes state: started restart_policy: unless-stopped ports: - '3006:30006' env: MYSQL_RANDOM_ROOT_PASSWORD: 'yes' MYSQL_DATABASE: "{{ SEMAPHORE_DB_NAME }}" MYSQL_USER: "{{ SEMAPHORE_DB_USER }}" MYSQL_PASSWORD: "{{ SEMAPHORE_DB_PASSWORD }}" volumes: - /home/{{ system_user_name }}/docker/semaphore/db:/var/lib/mysql networks: - name: semaphore - name: Create Semaphore Container community.docker.docker_container: name: semaphore_app image: 'semaphoreui/semaphore:latest' pull: yes state: started restart_policy: unless-stopped ports: - '3000:3000' env: SEMAPHORE_DB_USER: "{{ SEMAPHORE_DB_USER }}" SEMAPHORE_DB_PASS: "{{ SEMAPHORE_DB_PASSWORD }}" SEMAPHORE_DB_HOST: "semaphore_db" SEMAPHORE_DB_PORT: "3306" SEMAPHORE_DB_DIALECT: "mysql" SEMAPHORE_DB: "{{ SEMAPHORE_DB_NAME }}" SEMAPHORE_PLAYBOOK_PATH: "{{ SEMAPHORE_PLAYBOOK_DIR }}" SEMAPHORE_ADMIN_PASSWORD: "{{ SEMAPHORE_ADMIN_PASSWORD }}" SEMAPHORE_ADMIN_NAME: "{{ SEMAPHORE_ADMIN_USER }}" SEMAPHORE_ADMIN_EMAIL: "{{ SEMAPHORE_ADMIN_MAIL }}" SEMAPHORE_ADMIN: "{{ SEMAPHORE_ADMIN_USER }}" SEMAPHORE_ACCESS_KEY_ENCRYPTION: "{{ SEMAPHORE_ACCESS_KEY }}" networks: - name: semaphore