From 43647d5eb2c2f252f268bdb9f662379ad181e8ef Mon Sep 17 00:00:00 2001 From: Ryan Toler Date: Wed, 2 Oct 2024 01:29:06 -0500 Subject: [PATCH] Adding addtinal files --- .ansible.d/setup.sh | 5 +++ .ansible.d/setup.yml | 46 +++++++++++++++++++++++ .ansible.d/vault | 30 +++++++++++++++ ansible.cfg | 6 +++ bookstack.tf | 42 +++++++++++++++++++++ full-clone.tf | 49 ++++++++++++++++++++++++ packages/setup.tar.gz | Bin 0 -> 317 bytes roles/ind/bookstack-install.yml | 64 ++++++++++++++++++++++++++++++++ roles/lib/install-docker.yml | 53 ++++++++++++++++++++++++++ roles/lib/setup-restic.yml | 0 roles/lib/upgrade-packages.yml | 24 ++++++++++++ 11 files changed, 319 insertions(+) create mode 100755 .ansible.d/setup.sh create mode 100644 .ansible.d/setup.yml create mode 100644 .ansible.d/vault create mode 100644 ansible.cfg create mode 100644 bookstack.tf create mode 100644 full-clone.tf create mode 100644 packages/setup.tar.gz create mode 100644 roles/ind/bookstack-install.yml create mode 100644 roles/lib/install-docker.yml create mode 100644 roles/lib/setup-restic.yml create mode 100644 roles/lib/upgrade-packages.yml diff --git a/.ansible.d/setup.sh b/.ansible.d/setup.sh new file mode 100755 index 0000000..aef1197 --- /dev/null +++ b/.ansible.d/setup.sh @@ -0,0 +1,5 @@ +$!/bin/bash +until timeout 5 bash -c '{1MSq$Z-Ous2XN2(D|%n%T4)guCR4z{CeE=LhqnqiKq!o= z4F39IT#To=i~EuEb9u>YlfHNOmNFhKlAxVa&Rb^!AyhC1O+_67kLw6QJvX_XF{Y|j=H%S)p;M*$_CfYzM=!dv2@9^i55jsmiM3kg-cvbr%U zg?{FL6;$nfvpCBeC-aXF`6rSDclqxqlF0v00Gx+cfiDq)x}e|CseN8>v|ZmoN1Hc)HWP?y&kz$T054S-DUml%bX3&ZkhKnSkhH+^P18qX?s~J{sBP{ Pgum$nx|>oO01N;CrG%Rg literal 0 HcmV?d00001 diff --git a/roles/ind/bookstack-install.yml b/roles/ind/bookstack-install.yml new file mode 100644 index 0000000..630585f --- /dev/null +++ b/roles/ind/bookstack-install.yml @@ -0,0 +1,64 @@ +--- +- hosts: all + become: yes + remote_user: ansible + gather_facts: false + + vars: + docker_compose_definition: | + services: + bookstack: + image: lscr.io/linuxserver/bookstack + container_name: bookstack + environment: + - PUID=2000 + - PGID=996 + - TZ=America/Chicago + - APP_URL=http://192.168.0.56:8080 + - DB_HOST=bookstack_db + - DB_PORT=3306 + - DB_USER=bookstack + - DB_PASS=Wp6DwHwFCAToFhEYDhcrMI3 + - DB_DATABASE=bookstackapp + volumes: + - /data/app:/config + ports: + - 8080:80 + restart: unless-stopped + depends_on: + - bookstack_db + + bookstack_db: + image: lscr.io/linuxserver/mariadb + container_name: bookstack_db + environment: + - PUID=2000 + - PGID=996 + - TZ=America/Chicago + - MYSQL_ROOT_PASSWORD=yNTUxOQAAACADSWp6DwHwFCA + - MYSQL_DATABASE=bookstackapp + - MYSQL_USER=bookstack + - MYSQL_PASSWORD=Wp6DwHwFCAToFhEYDhcrMI3 + volumes: + - /data/db:/config + restart: unless-stopped + + 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: 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: Start services + community.docker.docker_compose_v2: + project_src: /home/docker/ + register: output \ No newline at end of file diff --git a/roles/lib/install-docker.yml b/roles/lib/install-docker.yml new file mode 100644 index 0000000..e9c05b9 --- /dev/null +++ b/roles/lib/install-docker.yml @@ -0,0 +1,53 @@ + + - name: Install required packages + apt: + name: + - apt-transport-https + - ca-certificates + - curl + - gnupg2 + - software-properties-common + state: present + update_cache: yes + + - name: Add Docker GPG key + apt_key: + url: https://download.docker.com/linux/debian/gpg + state: present + + - name: Add Docker repository + apt_repository: + repo: deb [arch=amd64] https://download.docker.com/linux/debian bookworm stable + state: present + + - name: Install Docker Engine + apt: + name: + - docker-ce + - docker-ce-cli + - containerd.io + - docker-compose-plugin + state: present + update_cache: yes + + - name: Create docker user + user: + name: docker + uid: 2000 + group: docker + state: present + create_home: yes + home: /home/docker + shell: /bin/bash + + - name: Add key for docker user + ansible.posix.authorized_key: + user: docker + state: present + key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjMDDhinpnCPFUMERa/tLYymzRI8oJoAvXZnBH9wpA4 fake@gmail.com" + + - name: Start Docker service + systemd: + name: docker + state: started + enabled: yes \ No newline at end of file diff --git a/roles/lib/setup-restic.yml b/roles/lib/setup-restic.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/lib/upgrade-packages.yml b/roles/lib/upgrade-packages.yml new file mode 100644 index 0000000..773bb4d --- /dev/null +++ b/roles/lib/upgrade-packages.yml @@ -0,0 +1,24 @@ + - name: Update apt cache + ansible.builtin.apt: + update_cache: yes + cache_valid_time: 3600 + + - name: Upgrade all packages + ansible.builtin.apt: + upgrade: dist + force_apt_get: yes + + - name: Check if reboot is required + ansible.builtin.stat: + path: /var/run/reboot-required + get_checksum: no + register: reboot_required + + - name: Reboot the system if required + ansible.builtin.reboot: + msg: "{{ reboot_message }}" + when: reboot_required.stat.exists + + - name: Clean up old packages + ansible.builtin.apt: + autoclean: yes \ No newline at end of file