73 lines
2.8 KiB
YAML
73 lines
2.8 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
|