Files
dotfiles/config/ansible/tasks/servers/services/seafile/seafile.yml
Menno van Leeuwen 2eb5ab5387
Some checks failed
Ansible Lint Check / check-ansible (push) Failing after 26s
Nix Format Check / check-format (push) Failing after 1m27s
Python Lint Check / check-python (push) Failing after 18s
Enhance Ansible playbooks and scripts:
- Add '--skip-check' option to update.py to skip dotfiles update checks.
- Update playbook.yml and symlinks.yml to use 'inventory_hostname' for host checks.
- Refactor service task inclusions in server.yml for better readability and maintainability.
- Add new Home Assistant service with corresponding docker-compose configuration.
- Update various service YAML files to use dynamic paths based on inventory_hostname.
- Add tags for service tasks to improve organization and execution control.
- Remove obsolete services.yml file.
2025-07-11 03:04:50 +00:00

76 lines
2.9 KiB
YAML

---
- name: Deploy Seafile service
block:
- name: Set Seafile directories
ansible.builtin.set_fact:
seafile_data_dir: "/mnt/object_storage/services/seafile"
seafile_service_dir: "{{ ansible_env.HOME }}/services/seafile"
- name: Set Seafile configuration variables
ansible.builtin.set_fact:
# Docker images
seafile_image: "seafileltd/seafile-mc:12.0-latest"
seafile_db_image: "mariadb:10.11"
seafile_memcached_image: "memcached:1.6.29"
notification_server_image: "seafileltd/notification-server:12.0-latest"
# Volume paths
seafile_volume: "{{ seafile_data_dir }}/seafile-data"
seafile_mysql_volume: "{{ seafile_data_dir }}/seafile-mysql/db"
notification_server_volume: "{{ seafile_data_dir }}/notification-data"
# Database settings
seafile_mysql_db_host: "db"
seafile_mysql_root_password: >
{{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4',
vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }}
seafile_mysql_db_user: "seafile"
seafile_mysql_db_password: >
{{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4',
vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_PASSWORD') }}
# Server settings
time_zone: "Europe/Amsterdam"
jwt_private_key: >
{{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4',
vault='j7nmhqlsjmp2r6umly5t75hzb4', field='jwt_private_key') }}
seafile_server_hostname: "sf.mvl.sh"
seafile_server_protocol: "https"
# Admin credentials
seafile_admin_email: "menno@vleeuwen.me"
seafile_admin_password: >
{{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4',
vault='j7nmhqlsjmp2r6umly5t75hzb4', field='password') }}
- name: Create Seafile directories
ansible.builtin.file:
path: "{{ seafile_dir }}"
state: directory
mode: "0755"
loop:
- "{{ seafile_data_dir }}"
- "{{ seafile_service_dir }}"
- "{{ notification_server_volume }}/logs"
- "{{ seafile_volume }}/logs"
loop_control:
loop_var: seafile_dir
- name: Deploy Seafile configuration files
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ seafile_service_dir }}/docker-compose.yml"
mode: "0644"
register: seafile_configs
- name: Stop Seafile service
ansible.builtin.command: docker compose -f "{{ seafile_service_dir }}/docker-compose.yml" down --remove-orphans
when: seafile_configs.changed
- name: Start Seafile service
ansible.builtin.command: docker compose -f "{{ seafile_service_dir }}/docker-compose.yml" up -d
when: seafile_configs.changed
tags:
- services
- seafile