caddyconfigure/caddyinstall.ansible.yml

58 lines
No EOL
1.5 KiB
YAML

---
- name: install caddy from binary
ansible.builtin.get_url:
url: https://caddyserver.com/api/download?os=linux&arch=amd64&p=github.com%2Fcaddy-dns%2Fcloudflare&idempotency=54951177807414
dest: /usr/bin/caddy
mode: '0751'
- name: save a copy of old file
ansible.builtin.fetch:
src: "{{ CADDYFILE_DEST }}"
dest: './caddyfile/Caddyfile.old'
when: SAVE_OLD
- name: create caddyfile if it does not exist
ansible.builtin.blockinfile:
block: |
localhost {
respond "200"
}
path: "{{ CADDYFILE_DEST }}"
create: true
marker: "### {mark} Caddy configure setup stuffs ###"
- name: create Caddy systemd file
ansible.builtin.copy:
content: |
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=root
Group=root
ExecStart=/usr/bin/caddy run --environ --config {{ CADDYFILE_DEST }}
ExecReload=/usr/bin/caddy reload --config {{ CADDYFILE_DEST }} --force
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
dest: /etc/systemd/system/caddy.service
- name: Start Caddy on startup
ansible.builtin.systemd_service:
name: 'caddy'
state: 'started'
enabled: yes
daemon_reload: true
- name: install caddy trust
ansible.builtin.shell: "caddy trust"