Add restic-rest server role
							parent
							
								
									04e9f8438d
								
							
						
					
					
						commit
						74f9120957
					
				|  | @ -1,8 +1,13 @@ | |||
| raid_uuid: '4d184875-19eb-4923-9b79-bf669c1f7978' | ||||
| 
 | ||||
| lambroek_password: "{{ vault_lambroek_password }}" | ||||
| 
 | ||||
| s3_access_key_id: "{{ vault_s3_access_key_id }}" | ||||
| s3_secret_access_key: "{{ vault_s3_secret_access_key }}" | ||||
| rclone_obf_pass: "{{ vault_rclone_obf_pass }}" | ||||
| rclone_obf_pass2: "{{ vault_rclone_obf_pass2 }}" | ||||
| 
 | ||||
| lander_commit_sha: 'e438bd045ca2ee64e3d9ab98f416027b5417c3f6' | ||||
| lander_api_key: "{{ vault_lander_api_key }}" | ||||
| 
 | ||||
| restic_rest_version: '0.12.1' | ||||
|  |  | |||
							
								
								
									
										7
									
								
								nas.yml
								
								
								
								
							
							
						
						
									
										7
									
								
								nas.yml
								
								
								
								
							|  | @ -55,3 +55,10 @@ | |||
|   roles: | ||||
|     - lander | ||||
|   tags: lander | ||||
| 
 | ||||
| - name: Install Restic REST server | ||||
|   hosts: nas | ||||
|   become: yes | ||||
|   roles: | ||||
|     - restic-rest | ||||
|   tags: restic-rest | ||||
|  |  | |||
|  | @ -1,13 +0,0 @@ | |||
| --- | ||||
| - name: Install NFS client. | ||||
|   apt: | ||||
|     name: nfs-common | ||||
|     state: present | ||||
| 
 | ||||
| - name: Mount NFS share. | ||||
|   ansible.posix.mount: | ||||
|     src: {{ hostvars['admin']['ansible_host'] }}:/mnt/data | ||||
|     path: /mnt/data | ||||
|     fstype: nfs4 | ||||
|     opts: defaults,user,exec | ||||
|     state: mounted | ||||
|  | @ -0,0 +1,14 @@ | |||
| [Unit] | ||||
| Description=Restic REST server | ||||
| After=network.target network-online.target | ||||
| Requires=network-online.target | ||||
| 
 | ||||
| [Service] | ||||
| Type=exec | ||||
| User=restic | ||||
| Group=restic | ||||
| ExecStart=/usr/local/bin/restic-rest-server --path /mnt/data1/restic-rest --no-auth | ||||
| Restart=always | ||||
| 
 | ||||
| [Install] | ||||
| WantedBy=multi-user.target | ||||
|  | @ -0,0 +1,69 @@ | |||
| --- | ||||
| - name: Ensure download directory is present | ||||
|   ansible.builtin.file: | ||||
|     path: "/home/debian/restic-rest-{{ restic_rest_version }}" | ||||
|     state: directory | ||||
|     mode: '0755' | ||||
|    | ||||
| - name: Ensure binary is downloaded | ||||
|   ansible.builtin.unarchive: | ||||
|     src: "https://github.com/restic/rest-server/releases/download/v{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64.tar.gz" | ||||
|     remote_src: true | ||||
|     dest: "/home/debian/restic-rest-{{ restic_rest_version }}" | ||||
|     creates: "/home/debian/restic-rest-{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64/rest-server" | ||||
|     include: | ||||
|       - "rest-server_{{ restic_rest_version }}_linux_arm64/rest-server" | ||||
|   register: res | ||||
| 
 | ||||
| - name: Ensure binary is copied to correct location | ||||
|   ansible.builtin.copy: | ||||
|     src: "/home/debian/restic-rest-{{ restic_rest_version }}/rest-server_{{ restic_rest_version }}_linux_arm64/rest-server" | ||||
|     remote_src: true | ||||
|     dest: '/usr/local/bin/restic-rest-server' | ||||
|     owner: 'root' | ||||
|     group: 'root' | ||||
|     mode: '0755' | ||||
|   when: 'res.changed' | ||||
| 
 | ||||
| - name: Ensure system group exists | ||||
|   ansible.builtin.group: | ||||
|     name: 'restic' | ||||
|     gid: 202 | ||||
|     system: true | ||||
|     state: present | ||||
| 
 | ||||
| - name: Ensure system user exists | ||||
|   ansible.builtin.user: | ||||
|     name: 'restic' | ||||
|     group: 'restic' | ||||
|     uid: 202 | ||||
|     system: true | ||||
|     create_home: false | ||||
| 
 | ||||
| - name: Ensure data directory is present | ||||
|   ansible.builtin.file: | ||||
|     path: '/mnt/data1/restic-rest' | ||||
|     state: directory | ||||
|     mode: '0755' | ||||
|     owner: 'restic' | ||||
|     group: 'restic' | ||||
| 
 | ||||
| - name: Ensure service file is present | ||||
|   ansible.builtin.copy: | ||||
|     src: 'restic-rest-server.service' | ||||
|     dest: '/lib/systemd/system/restic-rest-server.service' | ||||
|     owner: 'root' | ||||
|     group: 'root' | ||||
|     mode: '0644' | ||||
|   register: res | ||||
| 
 | ||||
| - name: systemd-reload | ||||
|   ansible.builtin.systemd_service: | ||||
|     daemon_reload: true | ||||
|   when: 'res.changed' | ||||
| 
 | ||||
| - name: Ensure service is enabled | ||||
|   ansible.builtin.service: | ||||
|     name: 'restic-rest-server' | ||||
|     state: started | ||||
|     enabled: true | ||||
		Loading…
	
		Reference in New Issue