This guide deploys Eggdrop using distribution packages and prepares an isolated runtime directory.
eggdrop system account/opt/eggdrop for runtime configurationeggdrop binary is installed- name: Deploy Eggdrop
hosts: eggdrop
become: true
vars:
eggdrop_user: eggdrop
eggdrop_home: /opt/eggdrop
tasks:
- name: Install Eggdrop package
ansible.builtin.apt:
update_cache: true
name:
- eggdrop
state: present
- name: Ensure Eggdrop user exists
ansible.builtin.user:
name: "{{ eggdrop_user }}"
system: true
create_home: true
home: "{{ eggdrop_home }}"
shell: /usr/sbin/nologin
- name: Ensure Eggdrop home exists
ansible.builtin.file:
path: "{{ eggdrop_home }}"
state: directory
owner: "{{ eggdrop_user }}"
group: "{{ eggdrop_user }}"
mode: "0700"
- name: Check for packaged sample config
ansible.builtin.stat:
path: /usr/share/doc/eggdrop/examples/eggdrop.conf
register: eggdrop_sample
- name: Copy sample config when present
ansible.builtin.copy:
src: /usr/share/doc/eggdrop/examples/eggdrop.conf
dest: "{{ eggdrop_home }}/eggdrop.conf"
remote_src: true
owner: "{{ eggdrop_user }}"
group: "{{ eggdrop_user }}"
mode: "0600"
when: eggdrop_sample.stat.exists
- name: Verify Eggdrop binary
ansible.builtin.command: eggdrop -v
register: eggdrop_version
changed_when: false
- name: Show Eggdrop version
ansible.builtin.debug:
var: eggdrop_version.stdout
ansible-playbook -i inventory.ini eggdrop-install.yml