mirror of
				https://gitlab.sectorq.eu/jaydee/ansible.git
				synced 2025-10-30 18:01:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			155 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			YAML
		
	
	
		
			Executable File
		
	
	
	
	
| - hosts: rhasspy
 | |
|   name: Install rhasspy
 | |
|   become: true
 | |
|   tasks:
 | |
|     - name: Set a hostname
 | |
|       ansible.builtin.hostname:
 | |
|         name: rasp3-2
 | |
|       when: ansible_eth0.macaddress == "b8:27:eb:29:cb:d4"
 | |
| 
 | |
|     - name: Set a hostname
 | |
|       ansible.builtin.hostname:
 | |
|         name: rasp3-1
 | |
|       when: ansible_eth0.macaddress == "b8:27:eb:53:79:11" or ansible_wlan0.macaddress == "B8:27:EB:06:2C:44"
 | |
| 
 | |
| #    - name: Download package
 | |
| #      ansible.builtin.get_url:
 | |
| #        url: https://sectorq.eu/install/rhasspy_amd64.deb
 | |
| #        dest: /tmp/rhasspy_amd64.deb
 | |
| #        mode: '0777'
 | |
|     - name: Get keys for raspotify
 | |
|       ansible.builtin.shell:
 | |
|         curl -sSL https://dtcooper.github.io/raspotify/key.asc | sudo tee /usr/share/keyrings/raspotify_key.asc  > /dev/null
 | |
|       changed_when: false
 | |
|     - name: Get keys for raspotify
 | |
|       ansible.builtin.file:
 | |
|         path: /usr/share/keyrings/raspotify_key.asc
 | |
|         mode: "0644"
 | |
| 
 | |
|     - name: Get repo
 | |
|       ansible.builtin.shell: >-
 | |
|         echo 'deb [signed-by=/usr/share/keyrings/raspotify_key.asc] https://dtcooper.github.io/raspotify raspotify main' |
 | |
|          sudo tee /etc/apt/sources.list.d/raspotify.list
 | |
|       changed_when: false
 | |
| 
 | |
|     - name: Update apt cache
 | |
|       ansible.builtin.apt:
 | |
|         update_cache: true
 | |
|         upgrade: true
 | |
|       ignore_errors: true
 | |
|     - name: Install curl,mosquitto ...
 | |
|       ansible.builtin.apt:
 | |
|         name:
 | |
|           - curl
 | |
|           # - libffi7
 | |
|           - apt-transport-https
 | |
|           - raspotify
 | |
|           - mosquitto
 | |
|           - python3-pip
 | |
|         state: present
 | |
|     - name: Reconfigure /etc/raspotify/conf
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/raspotify/conf
 | |
|         regexp: "{{ item.regexp }}"
 | |
|         line: "{{ item.line }}"
 | |
|       loop:
 | |
|         - { regexp: '(^|^#)LIBRESPOT_NAME=', line: 'LIBRESPOT_NAME="rasp3-2"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_BITRATE=', line: 'LIBRESPOT_BITRATE="160"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_DEVICE=', line: 'LIBRESPOT_DEVICE="hw:CARD=Device,DEV=0"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_PASSWORD=', line: 'LIBRESPOT_PASSWORD="l4c1j4yd33Du5lo"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_USERNAME=', line: 'LIBRESPOT_USERNAME="jaydee67@sectorq.eu"' }
 | |
|       when: ansible_eth0.macaddress == "b8:27:eb:29:cb:d4"
 | |
|     - name: Reconfigure /etc/raspotify/conf
 | |
|       ansible.builtin.lineinfile:
 | |
|         path: /etc/raspotify/conf
 | |
|         regexp: "{{ item.regexp }}"
 | |
|         line: "{{ item.line }}"
 | |
|       loop:
 | |
|         - { regexp: '(^|^#)LIBRESPOT_NAME=', line: 'LIBRESPOT_NAME="rasp3-1"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_BITRATE=', line: 'LIBRESPOT_BITRATE="160"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_DEVICE=', line: 'LIBRESPOT_DEVICE="hw:CARD=Device,DEV=0"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_PASSWORD=', line: 'LIBRESPOT_PASSWORD="l4c1j4yd33Du5lo"' }
 | |
|         - { regexp: '(^|^#)LIBRESPOT_USERNAME=', line: 'LIBRESPOT_USERNAME="jaydee67@sectorq.eu"' }
 | |
|       when: ansible_eth0.macaddress == "b8:27:eb:53:79:11"
 | |
| 
 | |
| #    - name: Creating a symlink for libs
 | |
| #      ansible.builtin.file:
 | |
| #        src: "/usr/lib/aarch64-linux-gnu/libffi.so.7"
 | |
| #        dest: "/usr/lib/aarch64-linux-gnu/libffi.so.6"
 | |
| #        state: link
 | |
| #    - name: Install a rhasspy_amd64.deb
 | |
| #      ansible.builtin.apt:
 | |
| #        deb: /tmp/rhasspy_amd64.deb
 | |
|  
 | |
| #    - name: Upload config
 | |
| #      ansible.builtin.copy:
 | |
| #        src: /etc/ansible/playbooks/files/services/rhasspy.service
 | |
| #        dest: /etc/systemd/system/rhasspy.service
 | |
| #        owner: root
 | |
| #        group: root
 | |
| #        mode: u=rwx,g=rx,o=rx
 | |
| #    - name: Just force systemd to reread configs (2.4 and above)
 | |
| #      ansible.builtin.systemd:
 | |
| #        daemon_reload: true
 | |
| #    - name: Restart service rhasspy, in all cases
 | |
| #      ansible.builtin.service:
 | |
| #        name: rhasspy
 | |
| #        state: restarted
 | |
| #    - name: Ensure rhasspy  is in a running state
 | |
| #      ansible.builtin.service:
 | |
| #        name: rhasspy
 | |
| #        state: started
 | |
| #      register: myservice_details
 | |
| #      until: myservice_details.status.ActiveState == "active"
 | |
| #      retries: 15
 | |
| #      delay: 20
 | |
|     - name: Make sure destination dir exists
 | |
|       ansible.builtin.file:
 | |
|         path: "/home/jd/.config/rhasspy/profiles/en/"
 | |
|         state: directory
 | |
|         owner: jd
 | |
|         group: jd
 | |
|         mode: '0755'
 | |
|     - name: Upload config
 | |
|       ansible.builtin.copy:
 | |
|         src: conf/rhasspy/profile.json
 | |
|         dest: /home/jd/.config/rhasspy/profiles/en/profile.json
 | |
|         owner: jd
 | |
|         group: jd
 | |
|         mode: u=rw,g=r,o=r
 | |
|     - name: Restart service raspotify, in all cases
 | |
|       ansible.builtin.service:
 | |
|         name: raspotify
 | |
|         state: restarted
 | |
|     - name: Install docker
 | |
|       ansible.builtin.shell:
 | |
|         curl -sSL https://get.docker.com | sh
 | |
|       ignore_errors: true
 | |
|       changed_when: false
 | |
|     - name: Add user to docker group
 | |
|       ansible.builtin.user:
 | |
|         name: jd
 | |
|         append: true
 | |
|         groups: docker
 | |
|     # - name: Install pip modules
 | |
|     #   ansible.builtin.pip:
 | |
|     #     name: docker
 | |
| 
 | |
|     - name: Pull image
 | |
|       community.docker.docker_image:
 | |
|         name: rhasspy/rhasspy
 | |
|         source: pull
 | |
|     - name: Create container
 | |
|       community.docker.docker_container:
 | |
|         name: rhasspy
 | |
|         image: rhasspy/rhasspy
 | |
|         command: --user-profiles /profiles --profile en
 | |
|         devices:
 | |
|           - "/dev/snd:/dev/snd"
 | |
|         restart_policy: unless-stopped
 | |
|         volumes:
 | |
|           - "/etc/localtime:/etc/localtime:ro"
 | |
|           - "/home/jd/.config/rhasspy/profiles:/profiles"
 | |
|         ports:
 | |
|           - "12101:12101"
 | 
