unrealircd

- supernets unrealircd source & configuration
git clone git://git.acid.vegas/unrealircd.git
Log | Files | Refs | Archive

deploy_ircd.yml (2547B)

      1 ---
      2 - name: Deploy UnrealIRCd
      3   hosts: ircd_servers
      4   become: true
      5   gather_facts: true
      6 
      7   vars:
      8     ircd_user: ircd
      9     install_dir: /opt/ircd
     10 
     11   tasks:
     12     - name: Install required packages
     13       package:
     14         name:
     15           - git
     16           - make
     17           - gcc
     18           - curl
     19         state: present
     20 
     21     - name: Check if Docker is installed
     22       stat:
     23         path: /usr/bin/docker
     24       register: docker_check
     25 
     26     - name: Install Docker using convenience script
     27       block:
     28         - name: Download Docker installation script
     29           get_url:
     30             url: https://get.docker.com
     31             dest: /tmp/get-docker.sh
     32             mode: '0755'
     33             force: yes
     34 
     35         - name: Execute Docker installation script
     36           command: /tmp/get-docker.sh
     37           args:
     38             creates: /usr/bin/docker
     39 
     40         - name: Clean up installation script
     41           file:
     42             path: /tmp/get-docker.sh
     43             state: absent
     44       when: not docker_check.stat.exists
     45 
     46     - name: Create ircd user
     47       user:
     48         name: "{{ ircd_user }}"
     49         groups: docker
     50         append: yes
     51         system: yes
     52 
     53     - name: Enable and start Docker service
     54       systemd:
     55         name: docker
     56         state: started
     57         enabled: yes
     58         
     59     - name: Check if repository exists
     60       stat:
     61         path: "{{ install_dir }}/.git"
     62       register: repo_check
     63 
     64     - name: Clone UnrealIRCd repository
     65       git:
     66         repo: 'https://git.supernets.org/supernets/ircd'
     67         dest: "{{ install_dir }}"
     68         force: true
     69         version: master
     70       when: not repo_check.stat.exists
     71 
     72     - name: Update existing repository
     73       command:
     74         cmd: git pull
     75         chdir: "{{ install_dir }}"
     76       when: repo_check.stat.exists
     77       register: git_pull
     78       changed_when: git_pull.stdout != 'Already up to date.'
     79 
     80     - name: Set ircd ownership recursively
     81       file:
     82         path: "{{ install_dir }}"
     83         state: directory
     84         owner: "{{ ircd_user }}"
     85         group: "{{ ircd_user }}"
     86         recurse: yes
     87 
     88     - name: Set execute permission on setup.sh
     89       file:
     90         path: "{{ install_dir }}/setup.sh"
     91         mode: '0755'
     92 
     93     - name: Run setup script
     94       command:
     95         cmd: ./setup.sh
     96         chdir: "{{ install_dir }}"
     97       become_user: "{{ ircd_user }}"
     98       register: setup_result
     99       changed_when: false
    100       failed_when: setup_result.rc != 0
    101       ignore_errors: true
    102 
    103     - name: Show setup output
    104       debug:
    105         var: setup_result.stdout_lines
    106       when: setup_result is defined