ansible-role-server/tasks/caddy-install.yml

67 lines
2 KiB
YAML

---
# Server/Caddyserver-Install: Install/Update Caddy Webserver (with some modules)
- name: caddyserver - Create cache directory
file:
path: "{{ caddy_cachedir }}"
state: directory
- name: caddyserver - Get all caddy releases
get_url:
url: https://api.github.com/repos/caddyserver/caddy/git/refs/tags
dest: "{{ caddy_cachedir }}/releases.txt"
force: yes
register: caddy_releases_cache
- name: caddyserver - Install or update
block:
- name: caddyserver - Make temp download directory
file:
path: "{{ caddy_cachedir }}/tmp"
state: directory
- name: caddyserver - Download caddy webserver (amd64)
become: yes
get_url:
url: "https://caddyserver.com/api/download?os=linux&arch=amd64"
dest: "{{ caddy_cachedir }}/tmp/caddy"
group: root
owner: root
mode: 0755
when: ansible_architecture == "x86_64"
- name: caddyserver - Download caddy webserver (armv7/ raspberry pi)
become: yes
get_url:
url: "https://caddyserver.com/api/download?os=linux&arch=arm&arm=7"
dest: "{{ caddy_cachedir }}/tmp/caddy"
group: root
owner: root
mode: 0755
when: ansible_architecture == "armv7l"
- name: caddyserver - Download caddy webserver (arm64)
become: yes
get_url:
url: "https://caddyserver.com/api/download?os=linux&arch=arm64"
dest: "{{ caddy_cachedir }}/tmp/caddy"
group: root
owner: root
mode: 0755
when: ansible_architecture == "aarch64"
- name: caddyserver - Stop caddy
become: yes
service:
name: caddy
state: stopped
ignore_errors: yes
- name: caddyserver - Copy caddy to a PATH location
become: yes
shell: "cp {{ caddy_cachedir }}/tmp/caddy /usr/local/bin"
- name: caddyserver - Clean up download files
become: yes
file:
path: "{{ caddy_cachedir }}/tmp"
state: absent
when: caddy_releases_cache.changed