From e3ce020572336608d1cf5a3c0e2c074b0b2941f6 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Mon, 17 Mar 2025 13:12:11 +0100 Subject: [PATCH] feat: replace Resilio Sync with Seafile service deployment and configuration --- config/ansible/tasks/servers/server.yml | 4 +- .../resilio-sync/docker-compose.yml.j2 | 15 ------ .../services/resilio-sync/resilio-sync.yml | 28 ----------- .../services/seafile/docker-compose.yml.j2 | 46 +++++++++++++++++++ .../servers/services/seafile/seafile.yml | 33 +++++++++++++ 5 files changed, 80 insertions(+), 46 deletions(-) delete mode 100644 config/ansible/tasks/servers/services/resilio-sync/docker-compose.yml.j2 delete mode 100644 config/ansible/tasks/servers/services/resilio-sync/resilio-sync.yml create mode 100644 config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 create mode 100644 config/ansible/tasks/servers/services/seafile/seafile.yml diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index 0401a94..cc1038b 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -29,9 +29,7 @@ enabled: false - name: jellyfin enabled: true - - name: jellyfin + - name: seafile enabled: true - name: uptime-kuma enabled: true - - name: resilio-sync - enabled: true diff --git a/config/ansible/tasks/servers/services/resilio-sync/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/resilio-sync/docker-compose.yml.j2 deleted file mode 100644 index d87938b..0000000 --- a/config/ansible/tasks/servers/services/resilio-sync/docker-compose.yml.j2 +++ /dev/null @@ -1,15 +0,0 @@ -services: - resilio-sync: - image: lscr.io/linuxserver/resilio-sync:latest - environment: - - PUID=1000 - - PGID=100 - - TZ=Europe/Amsterdam - volumes: - - {{ resilio_sync_data_dir }}/config:/config - - {{ resilio_sync_data_dir }}/downloads:/downloads - - {{ resilio_sync_data_dir }}/data:/sync - ports: - - 8888:8888 - - 55555:55555 - restart: unless-stopped diff --git a/config/ansible/tasks/servers/services/resilio-sync/resilio-sync.yml b/config/ansible/tasks/servers/services/resilio-sync/resilio-sync.yml deleted file mode 100644 index 42eddda..0000000 --- a/config/ansible/tasks/servers/services/resilio-sync/resilio-sync.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -- name: Deploy Resilio Sync service - block: - - name: Set Resilio Sync directories - ansible.builtin.set_fact: - resilio_sync_service_dir: "{{ ansible_env.HOME }}/services/resilio_sync" - resilio_sync_data_dir: "/mnt/object_storage/services/resilio_sync" - - - name: Create Resilio Sync directory - ansible.builtin.file: - path: "{{ resilio_sync_service_dir }}" - state: directory - mode: "0755" - - - name: Deploy Resilio Sync docker-compose.yml - ansible.builtin.template: - src: docker-compose.yml.j2 - dest: "{{ resilio_sync_service_dir }}/docker-compose.yml" - mode: "0644" - register: resilio_sync_compose - - - name: Stop Resilio Sync service - ansible.builtin.command: docker compose -f "{{ resilio_sync_service_dir }}/docker-compose.yml" down --remove-orphans - when: resilio_sync_compose.changed - - - name: Start Resilio Sync service - ansible.builtin.command: docker compose -f "{{ resilio_sync_service_dir }}/docker-compose.yml" up -d - when: resilio_sync_compose.changed diff --git a/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 new file mode 100644 index 0000000..181630d --- /dev/null +++ b/config/ansible/tasks/servers/services/seafile/docker-compose.yml.j2 @@ -0,0 +1,46 @@ +services: + db: + image: mariadb:10.11 + container_name: seafile-mysql + environment: + - MYSQL_ROOT_PASSWORD={{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }} + - MYSQL_LOG_CONSOLE=true + - MARIADB_AUTO_UPGRADE=1 + volumes: + - {{ seafile_data_dir }}/db:/var/lib/mysql + networks: + - seafile-net + + memcached: + image: memcached:1.6.18 + container_name: seafile-memcached + entrypoint: memcached -m 256 + networks: + - seafile-net + + seafile: + image: seafileltd/seafile-mc:11.0-latest + ports: + - "8001:80" + volumes: + - {{ seafile_data_dir }}/shared:/shared + environment: + - DB_HOST=db + - DB_ROOT_PASSWD={{ lookup('community.general.onepassword', 'bbzudwdo3byqs4pscd2wy7qsn4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='MYSQL_ROOT_PASSWORD') }} + - TIME_ZONE=Europe/Amsterdam + - SEAFILE_ADMIN_EMAIL=menno@vleeuwen.me + - SEAFILE_ADMIN_PASSWORD=ohKp7nh6mPJJRHkt3Hhy + - SEAFILE_SERVER_LETSENCRYPT=false + - SEAFILE_SERVER_HOSTNAME=sf.mvl.sh:8001 + depends_on: + - db + - memcached + networks: + - seafile-net + - caddy_network + +networks: + caddy_network: + external: true + name: caddy_default + diff --git a/config/ansible/tasks/servers/services/seafile/seafile.yml b/config/ansible/tasks/servers/services/seafile/seafile.yml new file mode 100644 index 0000000..66201a5 --- /dev/null +++ b/config/ansible/tasks/servers/services/seafile/seafile.yml @@ -0,0 +1,33 @@ +--- +- 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: Create Seafile directories + ansible.builtin.file: + path: "{{ seafile_dir }}" + state: directory + mode: "0755" + loop: + - "{{ seafile_data_dir }}" + - "{{ seafile_service_dir }}" + loop_control: + loop_var: seafile_dir + + - name: Deploy Seafile docker-compose.yml + ansible.builtin.template: + src: docker-compose.yml.j2 + dest: "{{ seafile_service_dir }}/docker-compose.yml" + mode: "0644" + register: seafile_compose + + - name: Stop Seafile service + ansible.builtin.command: docker compose -f "{{ seafile_service_dir }}/docker-compose.yml" down --remove-orphans + when: seafile_compose.changed or seafile_act_runner_config.changed + + - name: Start Seafile service + ansible.builtin.command: docker compose -f "{{ seafile_service_dir }}/docker-compose.yml" up -d + when: seafile_compose.changed or seafile_act_runner_config.changed