chore(service): Improve service setup and configuration

This commit is contained in:
2020-01-11 23:35:44 +00:00
parent 8ed2be2b5a
commit e016a7b20c
7 changed files with 62 additions and 17 deletions

View File

@@ -10,6 +10,9 @@ adguardhome_config_dir: "/opt/{{ adguardhome_service_name }}/config"
adguardhome_data_dir: "/opt/{{ adguardhome_service_name }}"
adguardhome_tmp_dir: /tmp
adguardhome_service_enable: true
adguardhome_service_start: true
adguardhome_bin_name: AdGuardHome
adguardhome_config_name: AdGuardHome.yml
@@ -20,3 +23,6 @@ adguardhome_unpack_dir: "{{ adguardhome_tmp_dir }}/AdGuardHome-{{ adguardhome_ve
adguardhome_arch: "{% if ansible_architecture == 'x86_64' %}amd64{% elif ansible_architecture == 'aarch64' %}arm64{% else %}arm{% endif %}"
adguardhome_archive: "AdGuardHome_linux_{{ adguardhome_arch }}.tar.gz"
adguardhome_download_url_base: "https://github.com/AdguardTeam/AdGuardHome/releases/download"
# Disable DNSStubResolver if systemd-resolved servicee is running.
adguardhome_disable_systemd_dnsstubresolver: true

View File

@@ -1,6 +1,10 @@
---
- name: restart adguardhome
- name: reload systemd daemon
systemd:
name: adguardhome
daemon_reload: true
- name: restart adguardhome
service:
name: "{{ adguardhome_service_name }}"
state: restarted
daemon_reload: yes
when: adguardhome_service_start

View File

@@ -19,8 +19,10 @@ RUN if [ $(command -v apt-get) ]; then \
dnf clean all; \
elif [ $(command -v yum) ]; then \
yum makecache fast && \
yum install -y python3 python3-pip sudo yum-plugin-ovl bash \
net-tools && \
yum install -y epel-release && \
yum update -y && \
yum install -y python python-pip python-setuptools sudo \
yum-plugin-ovl bash net-tools && \
sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && \
yum clean all; \
elif [ $(command -v zypper) ]; then \

View File

@@ -0,0 +1,14 @@
---
- name: Disable DNSStubListener
ini_file:
path: /etc/systemd/resolved.conf
section: Resolve
option: DNSStubListener
value: "no"
notify: restart systemd-resolved
- name: Symlink /etc/resolv.conf to /run/systemd/resolve/resolv.conf
file:
src: /run/systemd/resolve/resolv.conf
dest: /etc/resolv.conf
state: link

View File

@@ -84,14 +84,7 @@
when: >-
adguardhome_user == "root"
- name: Install sytemd service
template:
src: adguardhome.service.j2
dest: /etc/systemd/system/adguardhome.service
mode: "755"
notify: restart adguardhome
- name: Ensure service is enabled
service:
name: adguardhome
enabled: yes
- name: Install systemd servicee
include_tasks: systemd_service.yml
when: >-
ansible_service_mgr == "systemd" and adguardhome_service_enable

View File

@@ -1,5 +1,5 @@
---
- name: Install dependencies
- name: Install system dependencies
package:
name: libcap
state: present

26
tasks/systemd_service.yml Normal file
View File

@@ -0,0 +1,26 @@
---
- name: Get info about running services
service_facts:
- name: Disable systemd-resolved's DNSStubResolver
include_tasks: disable_dnsstubresolver.yml
when: >-
adguardhome_disable_systemd_dnsstubresolver and
ansible_facts.services
.get("systemd-resolved.service", {})
.get("state") == "running"
- name: Install systemd service
template:
src: adguardhome.service.j2
dest: "/etc/systemd/system/{{ adguardhome_service_name }}.service"
mode: "755"
register: adguardhome_systemd_unit
notify:
- reload systemd daemon
- restart adguardhome
- name: Ensure service is enabled
service:
name: "{{ adguardhome_service_name }}"
enabled: yes