Add service to start offlineimap on linux automatically
This commit is contained in:
@@ -60,6 +60,7 @@ To restrict the scope of execution the playbook uses a couple of tags as describ
|
|||||||
| packages | Install system-packages
|
| packages | Install system-packages
|
||||||
| dotfiles | Install my dotfiles and apply them
|
| dotfiles | Install my dotfiles and apply them
|
||||||
| ssh | Ensure a default SSH-key and provide it to gitea and github
|
| ssh | Ensure a default SSH-key and provide it to gitea and github
|
||||||
|
| offlineimap | Setup systemd-service for offlineimap on debian. This needs to be explicitly defined, since Enpass has to be setup first!
|
||||||
| dump | Print out debug information
|
| dump | Print out debug information
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
|||||||
3
main.yml
3
main.yml
@@ -15,6 +15,9 @@
|
|||||||
tags: [dotfiles]
|
tags: [dotfiles]
|
||||||
- role: roles/enpass-cli
|
- role: roles/enpass-cli
|
||||||
tags: [packages]
|
tags: [packages]
|
||||||
|
- role: roles/offlineimap
|
||||||
|
tags: [offlineimap, services, never]
|
||||||
|
when: ansible_os_family == 'Debian'
|
||||||
tasks:
|
tasks:
|
||||||
- name: Dump hostvars
|
- name: Dump hostvars
|
||||||
tags: [never, dump]
|
tags: [never, dump]
|
||||||
|
|||||||
4
roles/offlineimap/handlers/main.yml
Normal file
4
roles/offlineimap/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
- name: Reload systemd-units
|
||||||
|
become: yes
|
||||||
|
systemd:
|
||||||
|
daemon_reload: yes
|
||||||
20
roles/offlineimap/tasks/main.yml
Normal file
20
roles/offlineimap/tasks/main.yml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
- name: Ensure systemd-creds for offlineimap
|
||||||
|
become: yes
|
||||||
|
community.general.systemd_creds_encrypt:
|
||||||
|
name: enpass-password
|
||||||
|
secret: "{{ enpass_password }}"
|
||||||
|
register: encrypted_enpass_password
|
||||||
|
|
||||||
|
- name: Ensure systemd service file for offlineimap
|
||||||
|
become: yes
|
||||||
|
template:
|
||||||
|
src: offlineimap.service.j2
|
||||||
|
dest: /lib/systemd/system/offlineimap.service
|
||||||
|
notify: Reload systemd-units
|
||||||
|
|
||||||
|
- name: Ensure offlineimap service is running
|
||||||
|
become: yes
|
||||||
|
service:
|
||||||
|
name: offlineimap
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
||||||
10
roles/offlineimap/templates/offlineimap.service.j2
Normal file
10
roles/offlineimap/templates/offlineimap.service.j2
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Run offlineimap in the background for {{ ansible_user_id }}
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User={{ ansible_user_id }}
|
||||||
|
SetCredentialEncrypted=enpass-password: {{ encrypted_enpass_password.value | replace("\n", " ") }}
|
||||||
|
ExecStart=bash -c 'source ~/.profile && MASTERPW="$(systemd-creds cat enpass-password)" ~/.local/bin/offlineimap'
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical.target
|
||||||
Reference in New Issue
Block a user