diff --git a/host_vars/akatosh.yml b/host_vars/akatosh.yml index 661d880..87269cb 100644 --- a/host_vars/akatosh.yml +++ b/host_vars/akatosh.yml @@ -30,6 +30,10 @@ cloud_nginx_sites: port: 8087 max_body: 2g # song uploads +stroopwafel_dir: /opt/stroopwafel +stroopwafel_repo: gitea@git.hoekveen.net:mark/stroopwafel.git +stroopwafel_version: master + backup_dump_dir: /var/backups/aurbis backup_paths: - /etc # nginx, certs, systemd units diff --git a/playbook.yml b/playbook.yml index 6dec045..cc11d7e 100644 --- a/playbook.yml +++ b/playbook.yml @@ -121,6 +121,7 @@ - import_tasks: tasks/hdwiki.yml - import_tasks: tasks/gitea.yml - import_tasks: tasks/nightingale.yml + - import_tasks: tasks/stroopwafel.yml - import_tasks: tasks/cloud_nginx.yml - name: Ensure the backup user can run the forced-command pull user: diff --git a/tasks/stroopwafel.yml b/tasks/stroopwafel.yml new file mode 100644 index 0000000..0712b50 --- /dev/null +++ b/tasks/stroopwafel.yml @@ -0,0 +1,41 @@ +# Pulling needs to have git access; root does not. +- name: Include stroopwafel vault + include_vars: + dir: stroopwafel + files_matching: vault.yml +- name: Create stroopwafel directory + file: + path: "{{ stroopwafel_dir }}" + state: directory + owner: root + group: "{{ service_group | default('aurbis') }}" + mode: "0775" +- name: Check out stroopwafel source + ansible.builtin.git: + repo: "{{ stroopwafel_repo }}" + dest: "{{ stroopwafel_dir }}" + version: "{{ stroopwafel_version }}" + update: "{{ stroopwafel_update | default(false) }}" + accept_hostkey: true + force: false + become_user: "{{ stroopwafel_git_user | default(omit) }}" +- name: Deploy stroopwafel .env + copy: + content: "{{ stroopwafel_env_b64 | b64decode }}" + dest: "{{ stroopwafel_dir }}/.env" + owner: root + group: "{{ service_group | default('aurbis') }}" + mode: "0640" + when: stroopwafel_env_b64 is defined + no_log: true +- name: Copy docker-compose file + template: + src: stroopwafel/docker-compose.yml.j2 + dest: "{{ stroopwafel_dir }}/docker-compose.yml" + owner: root + group: "{{ service_group | default('aurbis') }}" + mode: "0664" +- name: Start stroopwafel + community.docker.docker_compose_v2: + project_src: "{{ stroopwafel_dir }}" + build: policy diff --git a/tasks/stroopwafel/docker-compose.yml.j2 b/tasks/stroopwafel/docker-compose.yml.j2 new file mode 100644 index 0000000..1d65a6f --- /dev/null +++ b/tasks/stroopwafel/docker-compose.yml.j2 @@ -0,0 +1,7 @@ +services: + stroopwafel: + build: . + command: python Stroopwafel.py + restart: unless-stopped + volumes: + - .:/opt/stroopwafel