--- - hosts: server vars_files: - secrets.yml vars: - debian_release: bullseye tasks: # ------------------------------------------------------------------------- # Docker CE. # ------------------------------------------------------------------------- - name: Install packages to enable HTTPS repository apt: name: - apt-transport-https - ca-certificates - curl - gnupg2 - software-properties-common - name: Add Docker GPG key apt_key: id: 0EBFCD88 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 "{{ debian_release }}" stable state: present register: docker_repo - name: Update apt cache apt: update_cache: yes force_apt_get: yes when: docker_repo is changed - name: Install docker-ce and docker-compose apt: name: - docker-ce - docker-compose # ------------------------------------------------------------------------- # Loki server. # ------------------------------------------------------------------------- - name: Install git apt: name: git - name: Clone Loki repo git: repo: https://github.com/Wojtek242/loki.git dest: "{{ loki_dir }}" update: no register: loki_git - name: Build containers locally command: make build-all args: chdir: "{{ loki_dir }}" when: loki_git is changed - name: Add hosts file template: src: ./etc/hosts.j2 dest: /etc/hosts mode: 0644 # ------------------------------------------------------------------------- # Loki server service. # ------------------------------------------------------------------------- - name: Install Loki server template: src: ./etc/systemd/system/loki-server.service.j2 dest: /etc/systemd/system/loki-server.service mode: 0644 - name: Enable and start Loki server service: name: loki-server state: started enabled: yes # ------------------------------------------------------------------------- # Loki backup service. # ------------------------------------------------------------------------- - name: Install duplicity apt: name: duplicity - name: Install B2 backend for duplicity pip: name: b2 - name: Create GitLab credentials file template: src: ./gitlab.cred.j2 dest: "{{ loki_dir }}/gitlab.cred" mode: 0644 - name: Create B2 credentials file template: src: ./b2.cred.j2 dest: "{{ loki_dir }}/b2.cred" mode: 0644 - name: Install Loki backup service template: src: ./etc/systemd/system/loki-backup.service.j2 dest: /etc/systemd/system/loki-backup.service mode: 0644 - name: Install Loki backup timer template: src: ./etc/systemd/system/loki-backup.timer.j2 dest: /etc/systemd/system/loki-backup.timer mode: 0644 - name: Enable and start Loki backup service: name: loki-backup.timer state: started enabled: yes