From f978a2c7b97e1d3d519b67eec8ec326a459a6dbe Mon Sep 17 00:00:00 2001 From: tolerryan <105945216+tolerryan@users.noreply.github.com> Date: Sun, 1 Jun 2025 16:15:07 -0500 Subject: [PATCH] add mello vps --- .ansible.d/inventory | 4 +- roles/ind/mello/cron.vars | 18 ++++++ roles/ind/mello/mello.yml | 132 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 roles/ind/mello/cron.vars create mode 100644 roles/ind/mello/mello.yml diff --git a/.ansible.d/inventory b/.ansible.d/inventory index 1f87b48..132bb50 100644 --- a/.ansible.d/inventory +++ b/.ansible.d/inventory @@ -2,6 +2,7 @@ # [vms] nas +mello [lxc] debcache @@ -24,4 +25,5 @@ archivewarrior navidrome debcache authelia -nas \ No newline at end of file +nas +mello \ No newline at end of file diff --git a/roles/ind/mello/cron.vars b/roles/ind/mello/cron.vars new file mode 100644 index 0000000..c59b8f8 --- /dev/null +++ b/roles/ind/mello/cron.vars @@ -0,0 +1,18 @@ +--- +cronjob: + + - name: appdata + job_name: "Daily /data/ Backup" + job_minute: "0" + job_hour: "3" + job_day: "*" + user: "root" + job_command: "/home/restic/restic.sh --backup /data/ " + + - name: weeklydb + job_name: "Weekly /data/ verification" + job_minute: "10" + job_hour: "6" + job_day: "1" + user: "root" + job_command: "/home/restic/restic.sh --verify /data/" \ No newline at end of file diff --git a/roles/ind/mello/mello.yml b/roles/ind/mello/mello.yml new file mode 100644 index 0000000..80e4c64 --- /dev/null +++ b/roles/ind/mello/mello.yml @@ -0,0 +1,132 @@ +--- +- hosts: all + become: yes + remote_user: ansible + gather_facts: false + + vars: + docker_compose_definition: | + services: + watchtower: + image: containrrr/watchtower:latest + command: --cleanup --label-enable --interval 3600 + container_name: Watchtower + volumes: + - /var/run/docker.sock:/var/run/docker.sock + labels: + com.centurylinklabs.watchtower.enable: "true" + restart: unless-stopped + + archiveTeamWarrior1: + image: atdr.meo.ws/archiveteam/warrior-dockerfile + container_name: archiveTeamWarrior1 + hostname: archiveTeamWarrior1 + dns: + - 9.9.9.9 + - 8.8.8.8 + environment: + - SELECTED_PROJECT=auto + - SHARED_RSYNC_THREADS=10 + - DOWNLOADER=jester45 + - CONCURRENT_ITEMS=6 + ports: + - "8001:8001" + labels: + com.centurylinklabs.watchtower.enable: "true" + restart: always + + archiveTeamWarrior2: + image: atdr.meo.ws/archiveteam/warrior-dockerfile + container_name: archiveTeamWarrior2 + hostname: archiveTeamWarrior2 + dns: + - 9.9.9.9 + - 8.8.8.8 + environment: + - SELECTED_PROJECT=auto + - SHARED_RSYNC_THREADS=10 + - DOWNLOADER=jester45 + - CONCURRENT_ITEMS=6 + ports: + - "8002:8001" + labels: + com.centurylinklabs.watchtower.enable: "true" + restart: always + + archiveTeamWarrior3: + image: atdr.meo.ws/archiveteam/warrior-dockerfile + container_name: archiveTeamWarrior3 + hostname: archiveTeamWarrior3 + dns: + - 9.9.9.9 + - 8.8.8.8 + environment: + - SELECTED_PROJECT=auto + - SHARED_RSYNC_THREADS=10 + - DOWNLOADER=jester45 + - CONCURRENT_ITEMS=6 + ports: + - "8003:8001" + labels: + com.centurylinklabs.watchtower.enable: "true" + restart: always + + tasks: + - name: Upgrade-packages.yml - update packages + include: ../../lib/upgrade-packages.yml + + - name: Install-docker.yml - setting up docker + include: ../../lib/install-docker.yml + + #- name: Install Restic and setup + # include: ../../lib/setup-restic.yml + + #- name: Setup Restic Cron jobs + # include: ../../lib/setup-restic-cron.yml + + - name: Install Python Packages + apt: + name: + - python3-full + - python3-pip + state: present + update_cache: yes + + - name: Setup Service + copy: + dest: /etc/systemd/system/Warrior.service + content: | + [Unit] + Description= + After=network.target + + [Service] + User=docker + WorkingDirectory=/home/docker + ExecStart=/usr/bin/docker compose -f docker-compose.yml up + ExecStop=/usr/bin/docker compose -f docker-compose.yml down + Restart=always + + [Install] + WantedBy=multi-user.target + owner: root + group: root + mode: '0644' + + - name: Write docker-compose.yml + ansible.builtin.copy: + content: "{{ docker_compose_definition }}" + dest: /home/docker/docker-compose.yml + owner: docker + group: docker + mode: u=rw,g=r,o=r + + - name: Reload systemd daemon + systemd: + daemon_reload: yes + + - name: Start Warrior Service + systemd: + name: Warrior + state: started + enabled: yes \ No newline at end of file