diff --git a/.woodpecker.yml b/.woodpecker.yml index 49c2ff0..04f1e45 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -8,7 +8,6 @@ pipeline: - echo $SSH_KEY | base64 -d > env/ssh_key - ansible-runner run `pwd` secrets: [ssh_key] - when: branch: master event: push diff --git a/project/main.yml b/project/main.yml index d4f2aa3..826dcca 100644 --- a/project/main.yml +++ b/project/main.yml @@ -15,6 +15,7 @@ - traefik - registry - gitea + - gpaste - hosts: docker3.t-juice.club roles: diff --git a/project/roles/gpaste/handlers/main.yml b/project/roles/gpaste/handlers/main.yml new file mode 100644 index 0000000..6b699f9 --- /dev/null +++ b/project/roles/gpaste/handlers/main.yml @@ -0,0 +1,9 @@ +--- +- name: Reload systemd + ansible.builtin.systemd: + daemon_reload: yes + +- name: Restart gpaste + ansible.builtin.systemd: + name: gpaste + state: restarted diff --git a/project/roles/gpaste/tasks/main.yml b/project/roles/gpaste/tasks/main.yml new file mode 100644 index 0000000..8497d74 --- /dev/null +++ b/project/roles/gpaste/tasks/main.yml @@ -0,0 +1,21 @@ +--- +- name: Create gpaste.service + ansible.builtin.template: + src: gpaste.service.j2 + dest: /etc/systemd/system/gpaste.service + notify: + - Reload systemd + - Restart gpaste + +- name: Flush handlers + meta: flush_handlers + +- name: Ensure service is started + ansible.builtin.systemd: + state: started + name: gpaste + +- name: Ensure service is enabled + ansible.builtin.systemd: + enabled: yes + name: gpaste diff --git a/project/roles/gpaste/templates/gpaste.service.j2 b/project/roles/gpaste/templates/gpaste.service.j2 new file mode 100644 index 0000000..616c722 --- /dev/null +++ b/project/roles/gpaste/templates/gpaste.service.j2 @@ -0,0 +1,22 @@ + +[Unit] +Description=Gpaste Container +After=docker.service +Requires=docker.service + +[Service] +TimeoutStartSec=0 +Restart=always +ExecStartPre=-/usr/bin/docker stop gpaste +ExecStartPre=-/usr/bin/docker rm gpaste +ExecStartPre=-/usr/bin/docker pull registry.t-juice.club/gpaste:latest +ExecStart=/usr/bin/docker run \ + -l "traefik.enable=true" \ + -l "traefik.http.routers.gitea.rule=Host(`paste.t-juice.club`)" \ + -l "traefik.http.routers.gitea.tls=true" \ + -l "traefik.http.routers.gitea.tls.certresolver=le" \ + --network proxy \ + --name gpaste registry.t-juice.club/gpaste:latest + +[Install] +WantedBy=multi-user.target