Compare commits
No commits in common. "1dab330a3838b4ab525641527b5ff4ce3efdf4ea" and "647929c7580d68f42971863d9c0d8b92dd6e1860" have entirely different histories.
1dab330a38
...
647929c758
|
|
@ -28,8 +28,7 @@ The playbook:
|
||||||
- configures apt repositories for Docker, Kubernetes, Helm, OpenTofu, and Brave
|
- configures apt repositories for Docker, Kubernetes, Helm, OpenTofu, and Brave
|
||||||
- installs the captured Debian package set, filtering packages unavailable on
|
- installs the captured Debian package set, filtering packages unavailable on
|
||||||
the current Debian release
|
the current Debian release
|
||||||
- installs user-level pipx CLI tools such as `yt-dlp`, plus runtime helpers
|
- installs user-level pipx CLI tools such as `yt-dlp`
|
||||||
such as `ffmpeg` and `nodejs`
|
|
||||||
- installs Zoom from the upstream `.deb` when requested on amd64
|
- installs Zoom from the upstream `.deb` when requested on amd64
|
||||||
- adds `jv` to expected local groups
|
- adds `jv` to expected local groups
|
||||||
- enables core services such as Docker, containerd, kubelet, ssh, cron, and
|
- enables core services such as Docker, containerd, kubelet, ssh, cron, and
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,7 @@ debian_pc_enable_services:
|
||||||
- bluetooth
|
- bluetooth
|
||||||
|
|
||||||
debian_pc_pipx_packages:
|
debian_pc_pipx_packages:
|
||||||
- package: "yt-dlp[default]"
|
- yt-dlp
|
||||||
app: yt-dlp
|
|
||||||
|
|
||||||
debian_pc_hold_packages:
|
debian_pc_hold_packages:
|
||||||
- containerd.io
|
- containerd.io
|
||||||
|
|
@ -42,11 +41,9 @@ debian_pc_base_packages:
|
||||||
- bash-completion
|
- bash-completion
|
||||||
- ca-certificates
|
- ca-certificates
|
||||||
- curl
|
- curl
|
||||||
- ffmpeg
|
|
||||||
- git
|
- git
|
||||||
- gnupg
|
- gnupg
|
||||||
- gpg
|
- gpg
|
||||||
- nodejs
|
|
||||||
- python3
|
- python3
|
||||||
- python3-apt
|
- python3-apt
|
||||||
- rsync
|
- rsync
|
||||||
|
|
|
||||||
|
|
@ -177,13 +177,8 @@
|
||||||
|
|
||||||
- name: Install user pipx CLI tools
|
- name: Install user pipx CLI tools
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
argv:
|
cmd: "python3 -m pipx install {{ item }}"
|
||||||
- python3
|
creates: "{{ debian_pc_user_home }}/.local/bin/{{ item }}"
|
||||||
- -m
|
|
||||||
- pipx
|
|
||||||
- install
|
|
||||||
- "{{ item.package }}"
|
|
||||||
creates: "{{ debian_pc_user_home }}/.local/bin/{{ item.app }}"
|
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ debian_pc_user }}"
|
become_user: "{{ debian_pc_user }}"
|
||||||
environment:
|
environment:
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ YOUTUBE_BACKUP_COOKIES_FROM_BROWSER=
|
||||||
YOUTUBE_BACKUP_FORMAT=bv*+ba/best
|
YOUTUBE_BACKUP_FORMAT=bv*+ba/best
|
||||||
YOUTUBE_BACKUP_MERGE_FORMAT=mp4
|
YOUTUBE_BACKUP_MERGE_FORMAT=mp4
|
||||||
YOUTUBE_BACKUP_SUB_LANGS=all,-live_chat
|
YOUTUBE_BACKUP_SUB_LANGS=all,-live_chat
|
||||||
YOUTUBE_BACKUP_JS_RUNTIMES=node
|
|
||||||
YOUTUBE_BACKUP_SLEEP_REQUESTS=1
|
YOUTUBE_BACKUP_SLEEP_REQUESTS=1
|
||||||
YOUTUBE_BACKUP_RATE_LIMIT=
|
YOUTUBE_BACKUP_RATE_LIMIT=
|
||||||
YOUTUBE_BACKUP_EXTRA_ARGS=
|
YOUTUBE_BACKUP_EXTRA_ARGS=
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,7 @@ The backup root defaults to `/data/youtube-backup`.
|
||||||
pipx install yt-dlp
|
pipx install yt-dlp
|
||||||
```
|
```
|
||||||
|
|
||||||
The Debian host bootstrap installs `yt-dlp`, `ffmpeg`, and `nodejs` for this
|
If thumbnail embedding fails, install `ffmpeg` on the host.
|
||||||
helper. It installs yt-dlp with its default dependency group so the YouTube EJS
|
|
||||||
challenge scripts are available, and the backup script passes
|
|
||||||
`--js-runtimes node` by default. On another machine, install those tools before
|
|
||||||
running the backup.
|
|
||||||
|
|
||||||
## Configure
|
## Configure
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ FORMAT="${YOUTUBE_BACKUP_FORMAT:-bv*+ba/best}"
|
||||||
OUTPUT_TEMPLATE="${YOUTUBE_BACKUP_OUTPUT_TEMPLATE:-%(playlist_title)s/%(upload_date>%Y-%m-%d,release_date>%Y-%m-%d,epoch>%Y-%m-%d)s - %(title)s [%(id)s].%(ext)s}"
|
OUTPUT_TEMPLATE="${YOUTUBE_BACKUP_OUTPUT_TEMPLATE:-%(playlist_title)s/%(upload_date>%Y-%m-%d,release_date>%Y-%m-%d,epoch>%Y-%m-%d)s - %(title)s [%(id)s].%(ext)s}"
|
||||||
SUB_LANGS="${YOUTUBE_BACKUP_SUB_LANGS:-all,-live_chat}"
|
SUB_LANGS="${YOUTUBE_BACKUP_SUB_LANGS:-all,-live_chat}"
|
||||||
MERGE_FORMAT="${YOUTUBE_BACKUP_MERGE_FORMAT:-mp4}"
|
MERGE_FORMAT="${YOUTUBE_BACKUP_MERGE_FORMAT:-mp4}"
|
||||||
JS_RUNTIMES="${YOUTUBE_BACKUP_JS_RUNTIMES:-node}"
|
|
||||||
RATE_LIMIT="${YOUTUBE_BACKUP_RATE_LIMIT:-}"
|
RATE_LIMIT="${YOUTUBE_BACKUP_RATE_LIMIT:-}"
|
||||||
SLEEP_REQUESTS="${YOUTUBE_BACKUP_SLEEP_REQUESTS:-1}"
|
SLEEP_REQUESTS="${YOUTUBE_BACKUP_SLEEP_REQUESTS:-1}"
|
||||||
EXTRA_ARGS="${YOUTUBE_BACKUP_EXTRA_ARGS:-}"
|
EXTRA_ARGS="${YOUTUBE_BACKUP_EXTRA_ARGS:-}"
|
||||||
|
|
@ -74,7 +73,6 @@ args=(
|
||||||
--sub-langs "${SUB_LANGS}"
|
--sub-langs "${SUB_LANGS}"
|
||||||
--embed-metadata
|
--embed-metadata
|
||||||
--embed-thumbnail
|
--embed-thumbnail
|
||||||
--js-runtimes "${JS_RUNTIMES}"
|
|
||||||
--sleep-requests "${SLEEP_REQUESTS}"
|
--sleep-requests "${SLEEP_REQUESTS}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue