From 5aae12d8396428c0f397fc253174655cdd0f0f52 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Wed, 14 Jan 2026 12:43:20 -0800 Subject: [PATCH 1/2] Enable additional ZIM archives for kiwix New archives (~95G total): - Project Gutenberg 2023 (72G) - 60,000+ public domain books - iFixit (3.3G) - Repair guides - Stack Exchange: SuperUser (3.7G), Math (6.9G) - LibreTexts: Biology, Chemistry, Engineering, Mathematics, Physics, Humanities Downloads will happen in background via transmission torrent. Co-Authored-By: Claude Opus 4.5 --- ansible/roles/kiwix/defaults/main.yml | 50 ++++++++++++++------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/ansible/roles/kiwix/defaults/main.yml b/ansible/roles/kiwix/defaults/main.yml index c88fd16..0c7edcb 100644 --- a/ansible/roles/kiwix/defaults/main.yml +++ b/ansible/roles/kiwix/defaults/main.yml @@ -23,40 +23,42 @@ kiwix_zim_archives: # - category: wikipedia # filename: wikipedia_en_top_maxi_2025-12.zim # 7.6G - Top 100K articles - ## Project Gutenberg - Public domain books - # - category: gutenberg - # filename: gutenberg_en_all_2023-08.zim # 72G - Full collection (2023) + # Project Gutenberg - Public domain books (72G) + - category: gutenberg + filename: gutenberg_en_all_2023-08.zim + + ## Newer Gutenberg (much larger, unclear why): # - category: gutenberg # filename: gutenberg_en_all_2025-11.zim # 206G - Full collection (2025) - ## iFixit - Repair guides - # - category: ifixit - # filename: ifixit_en_all_2025-12.zim # 3.3G + # iFixit - Repair guides (3.3G) + - category: ifixit + filename: ifixit_en_all_2025-12.zim - ## Stack Exchange - # - category: stack_exchange - # filename: superuser.com_en_all_2025-12.zim # 3.7G + # Stack Exchange + - category: stack_exchange + filename: superuser.com_en_all_2025-12.zim # 3.7G # - category: stack_exchange # filename: serverfault.com_en_all_2025-12.zim # 1.5G # - category: stack_exchange # filename: askubuntu.com_en_all_2025-12.zim # 2.6G # - category: stack_exchange # filename: unix.stackexchange.com_en_all_2025-12.zim # 1.2G - # - category: stack_exchange - # filename: math.stackexchange.com_en_all_2025-12.zim # 6.9G + - category: stack_exchange + filename: math.stackexchange.com_en_all_2025-12.zim # 6.9G # - category: stack_exchange # filename: stackoverflow.com_en_all_2023-11.zim # 75G - Full StackOverflow - ## LibreTexts - Open educational resources - # - category: libretexts - # filename: libretexts_en_biology_2025-01.zim # 2.1G - # - category: libretexts - # filename: libretexts_en_chemistry_2025-01.zim # 2.0G - # - category: libretexts - # filename: libretexts_en_engineering_2025-01.zim # 647M - # - category: libretexts - # filename: libretexts_en_mathematics_2025-01.zim # 744M - # - category: libretexts - # filename: libretexts_en_physics_2025-01.zim # 464M - # - category: libretexts - # filename: libretexts_en_humanities_2025-01.zim # 3.5G + # LibreTexts - Open educational resources + - category: libretexts + filename: libretexts_en_biology_2025-01.zim # 2.1G + - category: libretexts + filename: libretexts_en_chemistry_2025-01.zim # 2.0G + - category: libretexts + filename: libretexts_en_engineering_2025-01.zim # 647M + - category: libretexts + filename: libretexts_en_mathematics_2025-01.zim # 744M + - category: libretexts + filename: libretexts_en_physics_2025-01.zim # 464M + - category: libretexts + filename: libretexts_en_humanities_2025-01.zim # 3.5G From 4add1684c3a3b23a9bb01ce2fd7ddabda081b23a Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Wed, 14 Jan 2026 12:43:20 -0800 Subject: [PATCH 2/2] Enable additional ZIM archives for kiwix New archives (~95G total): - Project Gutenberg 2023 (72G) - 60,000+ public domain books - iFixit (3.3G) - Repair guides - Stack Exchange: SuperUser (3.7G), Math (6.9G) - LibreTexts: Biology, Chemistry, Engineering, Mathematics, Physics, Humanities Also: - Fix transmission to only restart when config changes - Update CLAUDE.md to use full ansible paths Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 8 ++-- ansible/roles/kiwix/defaults/main.yml | 50 ++++++++++++----------- ansible/roles/transmission/tasks/main.yml | 11 +++++ 3 files changed, 40 insertions(+), 29 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index dcc4054..eece6d1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -81,15 +81,13 @@ After creating a PR, run `open ` to open it in the browser (Claude Code' ## Ansible -Run playbooks from the `ansible/` directory. - ```bash # Install collection dependencies -ansible-galaxy collection install -r requirements.yml +ansible-galaxy collection install -r ansible/requirements.yml # Dry-run before committing changes -ansible-playbook playbooks/indri.yml --check --diff +ansible-playbook ansible/playbooks/indri.yml --check --diff # Apply changes -ansible-playbook playbooks/indri.yml +ansible-playbook ansible/playbooks/indri.yml ``` diff --git a/ansible/roles/kiwix/defaults/main.yml b/ansible/roles/kiwix/defaults/main.yml index c88fd16..21f5932 100644 --- a/ansible/roles/kiwix/defaults/main.yml +++ b/ansible/roles/kiwix/defaults/main.yml @@ -23,40 +23,42 @@ kiwix_zim_archives: # - category: wikipedia # filename: wikipedia_en_top_maxi_2025-12.zim # 7.6G - Top 100K articles - ## Project Gutenberg - Public domain books - # - category: gutenberg - # filename: gutenberg_en_all_2023-08.zim # 72G - Full collection (2023) + # Project Gutenberg - Public domain books (72G) + - category: gutenberg + filename: gutenberg_en_all_2023-08.zim + + ## Newer Gutenberg (much larger, unclear why): # - category: gutenberg # filename: gutenberg_en_all_2025-11.zim # 206G - Full collection (2025) - ## iFixit - Repair guides - # - category: ifixit - # filename: ifixit_en_all_2025-12.zim # 3.3G + # iFixit - Repair guides (3.3G) + - category: ifixit + filename: ifixit_en_all_2025-12.zim - ## Stack Exchange - # - category: stack_exchange - # filename: superuser.com_en_all_2025-12.zim # 3.7G + # Stack Exchange + - category: stack_exchange + filename: superuser.com_en_all_2025-12.zim # 3.7G # - category: stack_exchange # filename: serverfault.com_en_all_2025-12.zim # 1.5G # - category: stack_exchange # filename: askubuntu.com_en_all_2025-12.zim # 2.6G # - category: stack_exchange # filename: unix.stackexchange.com_en_all_2025-12.zim # 1.2G - # - category: stack_exchange - # filename: math.stackexchange.com_en_all_2025-12.zim # 6.9G + - category: stack_exchange + filename: math.stackexchange.com_en_all_2025-12.zim # 6.9G # - category: stack_exchange # filename: stackoverflow.com_en_all_2023-11.zim # 75G - Full StackOverflow - ## LibreTexts - Open educational resources - # - category: libretexts - # filename: libretexts_en_biology_2025-01.zim # 2.1G - # - category: libretexts - # filename: libretexts_en_chemistry_2025-01.zim # 2.0G - # - category: libretexts - # filename: libretexts_en_engineering_2025-01.zim # 647M - # - category: libretexts - # filename: libretexts_en_mathematics_2025-01.zim # 744M - # - category: libretexts - # filename: libretexts_en_physics_2025-01.zim # 464M - # - category: libretexts - # filename: libretexts_en_humanities_2025-01.zim # 3.5G + # LibreTexts - Open educational resources + - category: libretexts + filename: libretexts.org_en_bio_2025-01.zim # 2.1G + - category: libretexts + filename: libretexts.org_en_chem_2025-01.zim # 2.0G + - category: libretexts + filename: libretexts.org_en_eng_2025-01.zim # 647M + - category: libretexts + filename: libretexts.org_en_math_2025-01.zim # 744M + - category: libretexts + filename: libretexts.org_en_phys_2025-01.zim # 464M + - category: libretexts + filename: libretexts.org_en_human_2025-01.zim # 3.5G diff --git a/ansible/roles/transmission/tasks/main.yml b/ansible/roles/transmission/tasks/main.yml index d2e3fda..463ecd8 100644 --- a/ansible/roles/transmission/tasks/main.yml +++ b/ansible/roles/transmission/tasks/main.yml @@ -21,8 +21,19 @@ path: ~/.config/transmission-daemon state: absent +# Note: transmission must be stopped before modifying settings.json +# otherwise it may overwrite our changes on shutdown +- name: Check if settings.json needs updating + ansible.builtin.template: + src: settings.json.j2 + dest: "{{ transmission_config_dir }}/settings.json" + mode: '0644' + check_mode: true + register: settings_check + - name: Stop transmission before config changes ansible.builtin.command: brew services stop transmission-cli + when: settings_check.changed register: brew_stop changed_when: false failed_when: false