add a binary installation method

main^2
n0emis 4 years ago
parent 97755d31cd
commit 4817378c79
Signed by untrusted user: n0emis
GPG Key ID: 00FAF748B777CF10

@ -1,3 +1,6 @@
---
caddy_config_sites_directory: "/etc/caddy/sites.d"
caddy_config_sites_clear: false
caddy_installation_method: "apt"
caddy_download_url: "https://caddyserver.com/api/download?os=linux&arch=amd64"

@ -0,0 +1,39 @@
---
- name: Create caddy user
user:
state: present
name: "caddy"
groups:
- "www-data"
append: true
shell: "/usr/sbin/nologin"
home: "/var/lib/caddy"
comment: "Caddy web server"
system: yes
- name: Download caddy binary
get_url:
url: "{{ caddy_download_url }}"
dest: "/usr/bin/caddy"
owner: "root"
group: "root"
mode: 0755
- name: Create caddy configuration directory
file:
path: "/etc/caddy"
owner: "caddy"
group: "caddy"
state: directory
- name: Template caddy systemd-service
template:
src: "caddy.service.j2"
dest: "/etc/systemd/system/caddy.service"
- name: Enable and start caddy systemd-service
systemd:
name: "caddy.service"
daemon_reload: yes
enabled: yes
state: started

@ -1,4 +1,5 @@
---
- import_tasks: "install.yml"
- import_tasks: "install_{{ caddy_installation_method }}.yml"
- import_tasks: "configuration.yml"

@ -0,0 +1,35 @@
# caddy.service
#
# For using Caddy with a config file.
#
# Make sure the ExecStart and ExecReload commands are correct
# for your installation.
#
# See https://caddyserver.com/docs/install for instructions.
#
# WARNING: This service does not use the --resume flag, so if you
# use the API to make changes, they will be overwritten by the
# Caddyfile next time the service is restarted. If you intend to
# use Caddy's API to configure it, add the --resume flag to the
# `caddy run` command or use the caddy-api.service file instead.
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
Loading…
Cancel
Save