Import znc role
This commit is contained in:
parent
e0d81f814b
commit
70aaa24f47
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
# Needed to make znc create the TLS certificate as znc user.
|
||||
ansible_shell_allow_world_readable_temp: true
|
||||
znc_become: true
|
||||
znc_become_user: root
|
||||
|
||||
znc_port: 12345
|
||||
znc_ipv4: "true"
|
||||
znc_ipv6: "false"
|
||||
znc_ssl: "true"
|
||||
|
||||
znc_admin_username: admin
|
||||
znc_admin_password: password
|
||||
znc_salt: abcdefghijklmnopqrst
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
- name: systemctl daemon-reload
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
become: "{{ znc_become }}"
|
||||
become_user: "{{ znc_become_user }}"
|
||||
|
||||
- name: systemctl start znc
|
||||
systemd:
|
||||
name: znc.service
|
||||
state: started
|
||||
become: "{{ znc_become }}"
|
||||
become_user: "{{ znc_become_user }}"
|
|
@ -0,0 +1,76 @@
|
|||
---
|
||||
- block:
|
||||
|
||||
- name: install znc
|
||||
apt:
|
||||
name: znc
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: add znc group
|
||||
group:
|
||||
name: znc
|
||||
|
||||
- name: add znc user
|
||||
user:
|
||||
name: znc
|
||||
group: znc
|
||||
create_home: true
|
||||
|
||||
- name: restrict znc home only to znc user and group
|
||||
file:
|
||||
path: /home/znc
|
||||
state: directory
|
||||
owner: znc
|
||||
group: znc
|
||||
mode: 0750
|
||||
recurse: true
|
||||
|
||||
- name: ensure that the znc config directory exists
|
||||
file:
|
||||
path: /home/znc/.znc/configs
|
||||
state: directory
|
||||
owner: znc
|
||||
group: znc
|
||||
mode: "0750"
|
||||
|
||||
- name: check if the znf configuration exists
|
||||
stat:
|
||||
path: "/home/znc/.znc/configs/znc.conf"
|
||||
register: znc_config
|
||||
|
||||
- name: set the znc config file
|
||||
template:
|
||||
src: templates/znc.conf.j2
|
||||
dest: "/home/znc/.znc/configs/znc.conf"
|
||||
owner: znc
|
||||
group: znc
|
||||
mode: 0640
|
||||
when: not znc_config.stat.exists
|
||||
|
||||
- name: create the ssl certificate
|
||||
ansible.builtin.shell:
|
||||
cmd: znc --makepem
|
||||
when:
|
||||
- znc_ssl == "true"
|
||||
- not znc_config.stat.exists
|
||||
become_user: znc
|
||||
|
||||
- name: install znc systemd unit file
|
||||
template:
|
||||
src: etc/systemd/system/znc.service.j2
|
||||
dest: /etc/systemd/system/znc.service
|
||||
|
||||
- name: systemctl daemon-reload
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
|
||||
- name: ensure znc is running
|
||||
systemd:
|
||||
name: znc.service
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
become: "{{ znc_become }}"
|
||||
become_user: "{{ znc_become_user }}"
|
|
@ -0,0 +1,15 @@
|
|||
# {{ ansible_managed }}
|
||||
[Unit]
|
||||
Description=znc
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/home/znc
|
||||
ExecStart=/usr/bin/znc -f
|
||||
User=znc
|
||||
Group=znc
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,27 @@
|
|||
// WARNING
|
||||
//
|
||||
// Do NOT edit this file while ZNC is running!
|
||||
// Use webadmin or *controlpanel instead.
|
||||
//
|
||||
// Altering this file by hand will forfeit all support.
|
||||
//
|
||||
// But if you feel risky, you might want to read help on /znc saveconfig and /znc rehash.
|
||||
// Also check https://wiki.znc.in/Configuration
|
||||
|
||||
Version = 1.7.2
|
||||
<Listener l>
|
||||
Port = {{ znc_port }}
|
||||
IPv4 = {{ znc_ipv4 }}
|
||||
IPv6 = {{ znc_ipv6 }}
|
||||
SSL = {{ znc_ssl }}
|
||||
</Listener>
|
||||
|
||||
<User {{ znc_admin_username }}>
|
||||
Pass = sha256#{{ [znc_admin_password, znc_salt] | join() | hash('sha256') }}#{{ znc_salt }}#
|
||||
Admin = true
|
||||
Nick = {{ znc_admin_username }}
|
||||
AltNick = {{ znc_admin_username }}_
|
||||
Ident = {{ znc_admin_username }}
|
||||
LoadModule = chansaver
|
||||
LoadModule = controlpanel
|
||||
</User>
|
Loading…
Reference in New Issue