From: Jakub Czajka Date: Wed, 27 Sep 2023 21:22:05 +0000 (+0200) Subject: Add a script for deploying yt_dlp_server. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;h=ff3c650802e308b41fb90070331e2f2ebe3e5524;p=turnup.git Add a script for deploying yt_dlp_server. --- diff --git a/turnup.yaml b/turnup.yaml index abc99d9..fc8a3d4 100644 --- a/turnup.yaml +++ b/turnup.yaml @@ -39,3 +39,6 @@ - name: Deploy storage drive import_playbook: storage_drive.yaml + +- name: Deploy yt-dlp server + import_playbook: yt_dlp_server.yaml diff --git a/yt_dlp_server.yaml b/yt_dlp_server.yaml new file mode 100644 index 0000000..b6fb08c --- /dev/null +++ b/yt_dlp_server.yaml @@ -0,0 +1,66 @@ +# Copyright (c) 2023 Jakub Czajka +# License: GPL-3.0 or later. + +- hosts: servers + vars: + repos: + - /srv/git/yt_dlp_server.git + - /srv/git/yt_dlp_server_prod.git + dest: "/srv/prod/yt_dlp_server" + tasks: + - name: Ensure user exists for executing scripts + user: + name: "yt_dlp_server" + shell: "/bin/sh" + home: "{{ dest }}" + become: yes + - name: Ensure destination directory exists + file: + path: "{{ dest }}" + mode: 0775 + state: directory + owner: git + group: yt_dlp_server + become: true + - name: Install dependencies + package: + name: + - ffmpeg + state: latest + become: yes + - name: Checkout to the destination directory + command: | + git --work-tree={{ dest }} --git-dir={{ item }} checkout master --force + become: yes + with_items: "{{ repos }}" + - name: Ensure correct ownership in the destination directory + file: + dest: "{{ dest }}" + owner: git + group: yt_dlp_server + recurse: yes + become: yes + - name: Symlink system configuration + file: + src: "{{ dest }}/{{ item }}" + dest: "/etc/systemd/system/{{ item }}" + state: link + become: true + with_items: + - yt_dlp_server.service + - name: Set execution mode to scripts + file: + dest: "{{ dest }}/{{ item }}" + mode: 0755 + become: true + with_items: + - yt_dlp_server.sh + - name: Enable services + systemd: + name: "{{ item }}" + state: restarted + enabled: true + daemon_reload: true + become: true + with_items: + - yt_dlp_server.service