diff --git a/ansible/playbooks/heyer.systems/docker1.yml b/ansible/playbooks/heyer.systems/docker1.yml index 031ffe8..5a92ace 100644 --- a/ansible/playbooks/heyer.systems/docker1.yml +++ b/ansible/playbooks/heyer.systems/docker1.yml @@ -83,3 +83,8 @@ tags: - mailarchive - docker-container + + - role: deploy_container_skullbot + tags: + - skullbot + - docker-container \ No newline at end of file diff --git a/ansible/roles/deploy_container_skullbot/defaults/main.yml b/ansible/roles/deploy_container_skullbot/defaults/main.yml new file mode 100644 index 0000000..0dd3977 --- /dev/null +++ b/ansible/roles/deploy_container_skullbot/defaults/main.yml @@ -0,0 +1,7 @@ +############ +# Skullbot # +############ +container_skullbot_bot_token: your_discord_token +container_skullbot_discord_channel_id: "123456789012345678" +container_skullbot_telegram_token: your_telegram_token +container_skullbot_telegram_chat_id: -123456789 diff --git a/ansible/roles/deploy_container_skullbot/files/.gitkeep b/ansible/roles/deploy_container_skullbot/files/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/deploy_container_skullbot/handlers/main.yml b/ansible/roles/deploy_container_skullbot/handlers/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/deploy_container_skullbot/meta/main.yml b/ansible/roles/deploy_container_skullbot/meta/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/ansible/roles/deploy_container_skullbot/tasks/main.yml b/ansible/roles/deploy_container_skullbot/tasks/main.yml new file mode 100644 index 0000000..09b8644 --- /dev/null +++ b/ansible/roles/deploy_container_skullbot/tasks/main.yml @@ -0,0 +1,37 @@ +--- +- name: Ensure data directories exist + ansible.builtin.file: + path: "{{ container_base_dir }}/data" + state: directory + mode: '0755' + become: false + +- name: Clone Skullbot repository + ansible.builtin.git: + repo: "https://skulldev.de/kevinheyer/Skullbot" + dest: "{{ container_base_dir }}/data" + become: false + +- name: Create events.db + ansible.builtin.file: + path: "{{ container_base_dir }}/data/events.db" + state: touch + become: false + +- name: Deploy Docker Compose and .env files + ansible.builtin.template: + src: "{{ item.src }}" + dest: "{{ container_base_dir }}/{{ item.dest }}" + mode: '0644' + loop: + - { src: 'docker-compose.yml.j2', dest: 'docker-compose.yml' } + - { src: '.env.j2', dest: 'data/.env' } + become: false + +- name: Start Container + community.docker.docker_compose_v2: + project_src: "{{ container_base_dir }}" + pull: always + docker_host: "unix:///run/user/1000/docker.sock" + build: always + become: false diff --git a/ansible/roles/deploy_container_skullbot/templates/.env.j2 b/ansible/roles/deploy_container_skullbot/templates/.env.j2 new file mode 100644 index 0000000..a85abfb --- /dev/null +++ b/ansible/roles/deploy_container_skullbot/templates/.env.j2 @@ -0,0 +1,4 @@ +BOT_TOKEN={{ container_skullbot_bot_token }} +DISCORD_CHANNEL_ID={{ container_skullbot_discord_channel_id }} +TELEGRAM_TOKEN= {{ container_skullbot_telegram_token }} +TELEGRAM_CHAT_ID={{ container_skullbot_telegram_chat_id }} \ No newline at end of file diff --git a/ansible/roles/deploy_container_skullbot/templates/docker-compose.yml.j2 b/ansible/roles/deploy_container_skullbot/templates/docker-compose.yml.j2 new file mode 100644 index 0000000..6e1c93a --- /dev/null +++ b/ansible/roles/deploy_container_skullbot/templates/docker-compose.yml.j2 @@ -0,0 +1,9 @@ +--- +services: + skullbot: + build: ./data/ + container_name: skullbot + restart: unless-stopped + volumes: + - ./data/events.db:/app/events.db + tty: true \ No newline at end of file diff --git a/ansible/roles/deploy_container_skullbot/vars/main.yml b/ansible/roles/deploy_container_skullbot/vars/main.yml new file mode 100644 index 0000000..b20d931 --- /dev/null +++ b/ansible/roles/deploy_container_skullbot/vars/main.yml @@ -0,0 +1 @@ +container_base_dir: /opt/docker/skullbot \ No newline at end of file