Added containerization

This commit is contained in:
Scott Crossen
2020-10-16 21:21:58 -07:00
parent 53bc7a77e1
commit 51cca4c312
12 changed files with 211 additions and 40 deletions

View File

@ -1,7 +1,17 @@
protocol={{ matrix_dynamic_dns_protocol }}
use=web
{% if matrix_dynamic_dns_mode == "daemon" %}}
daemon={{ matrix_dynamic_dns_daemon_interval }}
syslog=no
pid=/var/run/ddclient/ddclient.pid {% endif %}
ssl=yes
server={{ matrix_dynamic_dns_provider }}
login='{{ matrix_dynamic_dns_username }}'
password='{{ matrix_dynamic_dns_password }}'
{{ matrix_domain }}
use={{ matrix_dynamic_dns_use }}
protocol={{ matrix_dynamic_dns_protocol }}
server={{ matrix_dynamic_dns_provider }} {% if matrix_dynamic_dns_username %}
login='{{ matrix_dynamic_dns_username }}' {% endif %} {% if matrix_dynamic_dns_username %}
password='{{ matrix_dynamic_dns_password }}' {% endif %} {% if matrix_dynamic_dns_static %}
static=yes {% endif %} {% if matrix_dynamic_dns_custom %}
custom=yes {% endif %} {% if matrix_dynamic_dns_zone %}
zone={{ matrix_dynamic_dns_zone }} {% endif %} {% if matrix_dynamic_dns_ttl %}
ttl={{ matrix_dynamic_dns_ttl }} {% endif %} {% if matrix_dynamic_dns_mx %}
mx={{ matrix_dynamic_dns_mx }} {% endif %} {% if matrix_dynamic_dns_wildcard %}
wildcard=yes {% endif %}
{{ matrix_dynamic_dns_domain }}

View File

@ -1,4 +0,0 @@
run_dhclient="{{ (matrix_dynamic_dns_mode == 'dhcp') | lower }}"
run_ipup="false"
run_daemon="{{ (matrix_dynamic_dns_mode == 'daemon') | lower }}"
daemon_interval="{{ matrix_dynamic_dns_daemon_interval }}"

View File

@ -0,0 +1,41 @@
#jinja2: lstrip_blocks: "True"
[Unit]
Description=Matrix Dynamic DNS
{% for service in matrix_dynamic_dns_systemd_required_services_list %}
Requires={{ service }}
After={{ service }}
{% endfor %}
{% for service in matrix_dynamic_dns_systemd_wanted_services_list %}
Wants={{ service }}
{% endfor %}
[Service]
Type=simple
ExecStartPre=-{{ matrix_host_command_docker }} kill matrix-dynamic-dns
ExecStartPre=-{{ matrix_host_command_docker }} rm matrix-dynamic-dns
# Intentional delay, so that the homeserver (we likely depend on) can manage to start.
ExecStartPre={{ matrix_host_command_sleep }} 5
ExecStart={{ matrix_host_command_docker }} run --rm --name matrix-dynamic-dns \
--log-driver=none \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
--cap-drop=ALL \
--network={{ matrix_docker_network }} \
-e PUID={{ matrix_user_uid }} \
-e PGID={{ matrix_user_gid }} \
-e CONFIG_PATH=/config/config.yaml \
-v {{ matrix_dynamic_dns_config_path }}:/config:z \
{% for arg in matrix_dynamic_dns_container_extra_arguments %}
{{ arg }} \
{% endfor %}
{{ matrix_dynamic_dns_docker_image }}
ExecStop=-{{ matrix_host_command_docker }} kill matrix-dynamic-dns
ExecStop=-{{ matrix_host_command_docker }} rm matrix-dynamic-dns
Restart=always
RestartSec=30
SyslogIdentifier=matrix-dynamic-dns
[Install]
WantedBy=multi-user.target