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
|
||||
| dotfiles | Install my dotfiles and apply them
|
||||
| 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
|
||||
|===
|
||||
|
||||
|
||||
3
main.yml
3
main.yml
@@ -15,6 +15,9 @@
|
||||
tags: [dotfiles]
|
||||
- role: roles/enpass-cli
|
||||
tags: [packages]
|
||||
- role: roles/offlineimap
|
||||
tags: [offlineimap, services, never]
|
||||
when: ansible_os_family == 'Debian'
|
||||
tasks:
|
||||
- name: Dump hostvars
|
||||
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