From b1acbffc0547ce21bb1b05cc1d0b56b9b8a53918 Mon Sep 17 00:00:00 2001 From: Simon Zernisch Date: Tue, 13 Jun 2023 19:58:09 +0200 Subject: [PATCH] added semaphore role --- roles/semaphore/defaults/main.yml | 2 ++ roles/semaphore/tasks/main.yml | 56 +++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 roles/semaphore/defaults/main.yml create mode 100644 roles/semaphore/tasks/main.yml diff --git a/roles/semaphore/defaults/main.yml b/roles/semaphore/defaults/main.yml new file mode 100644 index 0000000..ee25b85 --- /dev/null +++ b/roles/semaphore/defaults/main.yml @@ -0,0 +1,2 @@ +semaphore_folder: + - db \ No newline at end of file diff --git a/roles/semaphore/tasks/main.yml b/roles/semaphore/tasks/main.yml new file mode 100644 index 0000000..770bf13 --- /dev/null +++ b/roles/semaphore/tasks/main.yml @@ -0,0 +1,56 @@ +--- +- 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 \ No newline at end of file