Compare commits

..

4 Commits

Author SHA1 Message Date
fe0b002258 use home dir directly 2025-04-03 15:32:12 +02:00
f96e9dbecd remove unused submodule file 2025-04-03 14:50:21 +02:00
49581d9829 fix REUSE compliance 2025-04-03 14:49:41 +02:00
d66c55f2ab replace systemd user tasks with separated role 2025-04-03 14:49:07 +02:00
5 changed files with 18 additions and 46 deletions

4
.gitmodules vendored
View File

@@ -1,4 +0,0 @@
# SPDX-FileCopyrightText: 2023 Max Mehl <https://mehl.mx>
#
# SPDX-License-Identifier: Apache-2.0

View File

@@ -14,6 +14,7 @@ and makes sure all requirements and systemd jobs are set up properly.
## Requirements ## Requirements
* [ansible-role-users](https://src.mehl.mx/mxmehl/ansible-role-users) * [ansible-role-users](https://src.mehl.mx/mxmehl/ansible-role-users)
* [ansible-role-systemd-user](https://src.mehl.mx/mxmehl/ansible-role-systemd-user)
## Configure ## Configure

View File

@@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2025 Max Mehl <https://mehl.mx>
#
# SPDX-License-Identifier: Apache-2.0
--- ---
seafile_cron: seafile_cron:
minute: "20" minute: "20"

View File

@@ -11,7 +11,7 @@ StartLimitBurst=3
[Service] [Service]
Type=simple Type=simple
ExecStart=/usr/bin/seaf-daemon -c {{ seafile_local_user_info.home }}/.ccnet -d {{ seafile_local_user_info.home }}/config/seafile-data -w {{ seafile_local_user_info.home }}/config/seafile ExecStart=/usr/bin/seaf-daemon -c %h/.ccnet -d %h/config/seafile-data -w %h/config/seafile
Restart=always Restart=always
RestartSec=10 RestartSec=10
# Restart every day # Restart every day

View File

@@ -17,19 +17,12 @@
name: name:
- moreutils # chronic - moreutils # chronic
- pipx - pipx
- systemd-container # necessary to use machinectl become_method
- seafile-cli - seafile-cli
become: false # need to do this as root become: false # need to do this as root
- name: Register user info of {{ seafile_local_user.user }}
user:
name: "{{ seafile_local_user.user }}"
check_mode: true
register: seafile_local_user_info
- name: Define directory for Seafile mirror service as fact - name: Define directory for Seafile mirror service as fact
set_fact: set_fact:
seafile_mirror_dir: "{{ seafile_local_user_info.home }}/seafile_mirror" seafile_mirror_dir: "~/seafile_mirror"
- name: Ensure directory for Seafile mirror service exists - name: Ensure directory for Seafile mirror service exists
file: file:
@@ -63,46 +56,24 @@
month: "{{ seafile_cron.month }}" month: "{{ seafile_cron.month }}"
weekday: "{{ seafile_cron.weekday }}" weekday: "{{ seafile_cron.weekday }}"
- name: Ensure user systemd directory exists
file:
path: "{{ seafile_local_user_info.home }}/.config/systemd/user/"
state: directory
mode: "0755"
- name: Ensure systemd service file is present
template:
src: seaf-daemon.service.j2
dest: "{{ seafile_local_user_info.home }}/.config/systemd/user/seaf-daemon.service"
mode: "0644"
- name: Ensure Seafile config dir exists - name: Ensure Seafile config dir exists
file: file:
path: "{{ seafile_local_user_info.home }}/config" path: "~/config"
state: directory state: directory
mode: "0755" mode: "0755"
- name: Ensure Seafile config dir is initialised - name: Ensure Seafile config dir is initialised
command: command:
cmd: seaf-cli init -d "{{ seafile_local_user_info.home }}/config" cmd: seaf-cli init -d "~/config"
register: result register: result
changed_when: '"already exists" not in result.stdout' changed_when: '"already exists" not in result.stdout'
- name: "Check whether user is lingering: {{ seafile_local_user.user }}" - name: Setup systemd user service
stat: include_role:
path: "/var/lib/systemd/linger/{{ seafile_local_user.user }}" name: systemd-user
register: seafile_local_user_lingering apply:
become: false
- name: Ensure systemd lingering is enabled for user {{ seafile_local_user.user }} vars:
command: loginctl enable-linger {{ seafile_local_user.user }} user: "{{ seafile_local_user.user }}"
become: false service: seaf-daemon
changed_when: false copy_file: seaf-daemon.service
when: not seafile_local_user_lingering.stat.exists
- name: Ensure systemd service is running and enabled
systemd:
name: seaf-daemon
state: started
enabled: true
daemon_reload: true
scope: user
become_method: community.general.machinectl # in order to get XDG_RUNTIME_DIR and user's DBUS session