--- - 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', 'Seafile', vault='Dotfiles', field='MYSQL_ROOT_PASSWORD') }} seafile_mysql_db_user: "seafile" seafile_mysql_db_password: > {{ lookup('community.general.onepassword', 'Seafile', vault='Dotfiles', field='MYSQL_PASSWORD') }} # Server settings time_zone: "Europe/Amsterdam" jwt_private_key: > {{ lookup('community.general.onepassword', 'Seafile', vault='Dotfiles', 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', 'Seafile', vault='Dotfiles', 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