mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-27 21:24:16 -04:00
more ansible fixes
This commit is contained in:
parent
c55cd46ecb
commit
5c0aa6fe59
15 changed files with 63 additions and 617 deletions
|
@ -1,58 +0,0 @@
|
|||
#!/usr/bin/env ansible-playbook
|
||||
---
|
||||
# - name: "Install using apt/brew/pkg/yum/etc."
|
||||
# hosts: localhost
|
||||
# gather_facts: no
|
||||
# vars:
|
||||
# DATA_DIR: '/Volumes/NVME/Users/squash/Code/archiveboxes/archivebox7/data4'
|
||||
# LIB_DIR: '{{DATA_DIR}}/lib'
|
||||
# LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
||||
# state: 'present'
|
||||
# install_packages: {}
|
||||
# # bash:
|
||||
# # packages: ['bash']
|
||||
# PACKAGE_BINPROVIDERS: {}
|
||||
# PACKAGE_BINARIES: {}
|
||||
# BINPROVIDERS: {}
|
||||
# tasks:
|
||||
# - package: update_cache=yes
|
||||
# when: ansible_facts['os_family'] == "Debian"
|
||||
|
||||
- name: Make sure lib folders exist
|
||||
file:
|
||||
path: '{{LIB_DIR_BIN}}'
|
||||
state: directory
|
||||
recurse: true
|
||||
when: BINPROVIDERS.ansible_package is not defined
|
||||
|
||||
- name: Get ansible binary abspath
|
||||
command: 'which ansible'
|
||||
register: ANSIBLE_INSTALLER_ABSPATH_FULL
|
||||
changed_when: false
|
||||
when: BINPROVIDERS.ansible_package is not defined
|
||||
|
||||
###################################################################################
|
||||
- name: "Install system packages: {{all_packages}}"
|
||||
ansible.builtin.package:
|
||||
name: "{{item}}"
|
||||
state: "{{state}}"
|
||||
loop: "{{all_packages}}"
|
||||
|
||||
###################################################################################
|
||||
|
||||
- set_fact:
|
||||
PACKAGE_BINPROVIDERS:
|
||||
ansible_package:
|
||||
installer_abspath: "{{ANSIBLE_INSTALLER_ABSPATH_FULL.stdout}}"
|
||||
installer_version: "{{ansible_version.full}}"
|
||||
PATH: "/opt/homebrew/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
when: BINPROVIDERS.ansible_package is not defined
|
||||
|
||||
- set_fact:
|
||||
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PACKAGE_BINPROVIDERS) }}"
|
||||
cacheable: true
|
||||
when: BINPROVIDERS.ansible_package is not defined
|
||||
|
||||
- debug:
|
||||
msg: "{{ {'BINPROVIDERS': BINPROVIDERS} }}"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
DATA_DIR: '{{playbook_dir}}'
|
||||
LIB_DIR: '{{DATA_DIR}}/lib'
|
||||
LIB_DIR_BIN: '{{LIB_DIR}}/bin'
|
||||
state: present
|
||||
all_packages: []
|
|
@ -32,7 +32,8 @@
|
|||
|
||||
- name: 'Updating BINARIES with loaded abspaths & versions: {{name}}'
|
||||
set_fact:
|
||||
BINARIES: "{{ BINARIES
|
||||
BINARIES: "{{
|
||||
BINARIES
|
||||
| default({})
|
||||
| combine({
|
||||
name: {
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
when: BINPROVIDERS.pip is not defined
|
||||
|
||||
- name: Load Python and Pip binaries
|
||||
import_role:
|
||||
include_role:
|
||||
name: load_binary
|
||||
vars:
|
||||
name: '{{item}}'
|
||||
|
@ -53,7 +53,17 @@
|
|||
- set_fact:
|
||||
BINPROVIDERS: "{{ BINPROVIDERS | default({}) | combine(PIP_BINPROVIDERS) }}"
|
||||
cacheable: true
|
||||
when: BINPROVIDERS.pip is not defined
|
||||
changed_when: False
|
||||
|
||||
- name: Load Python and Pip binaries from venv
|
||||
include_role:
|
||||
name: load_binary
|
||||
vars:
|
||||
name: '{{item}}'
|
||||
PATH: '{{BINPROVIDERS.pip.PATH}}'
|
||||
loop:
|
||||
- python
|
||||
- pip
|
||||
|
||||
- debug:
|
||||
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
||||
|
|
|
@ -107,12 +107,6 @@
|
|||
symlink: "{{LIB_DIR_BIN}}/chrome"
|
||||
version_cmd: "chrome --version"
|
||||
binprovider: 'puppeteer'
|
||||
PUPPETEER_BINPROVIDERS:
|
||||
puppeteer:
|
||||
installer_abspath: "{{BINARIES.puppeteer.abspath}}"
|
||||
installer_version: "{{BINARIES.puppeteer.version}}"
|
||||
PATH: "{{LIB_DIR_BIN}}"
|
||||
lib_dir_browsers: "{{LIB_DIR_BROWSERS}}"
|
||||
|
||||
- name: Check that installed Chrome matches expected version
|
||||
assert:
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
../../playbooks/install_singlefile.yml
|
40
archivebox/builtin_plugins/singlefile/install_singlefile.yml
Executable file
40
archivebox/builtin_plugins/singlefile/install_singlefile.yml
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env ansible-playbook
|
||||
---
|
||||
|
||||
- import_playbook: ../puppeteer/install_puppeteer.yml
|
||||
when: not BINARIES.chrome.version|default('')
|
||||
|
||||
- name: "Install Singlefile"
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
SINGLEFILE_VERSION_EXACT: '1.1.54'
|
||||
tasks:
|
||||
- include_role:
|
||||
name: setup_lib_npm
|
||||
vars:
|
||||
MIN_NODE_VERSION: '20.0.0'
|
||||
MIN_NPM_VERSION: '10.0.0'
|
||||
|
||||
- name: "Install npm packages: [single-file-cli]"
|
||||
community.general.npm:
|
||||
name: 'single-file-cli@1.1.54'
|
||||
state: "present"
|
||||
path: '{{BINPROVIDERS.npm.root_path}}'
|
||||
|
||||
- name: Load single-file binary from installed NPM package
|
||||
include_role:
|
||||
name: load_binary
|
||||
vars:
|
||||
name: singlefile
|
||||
bin_name: 'single-file'
|
||||
version_cmd: 'single-file --version'
|
||||
PATH: '{{BINPROVIDERS.npm.PATH}}'
|
||||
|
||||
- name: Check that installed Singlefile version matches expected version
|
||||
assert:
|
||||
that: SINGLEFILE_VERSION_EXACT is version(BINARIES.singlefile.version, '==')
|
||||
quiet: true
|
||||
|
||||
- debug:
|
||||
msg: "{{ {'BINARIES': BINARIES, 'BINPROVIDERS': BINPROVIDERS} }}"
|
|
@ -2,7 +2,7 @@
|
|||
---
|
||||
- name: "Install YT-DLP"
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
gather_facts: True
|
||||
vars:
|
||||
YTDLP_VERSION_MIN: '2024.8.6'
|
||||
tasks:
|
||||
|
@ -12,26 +12,29 @@
|
|||
MIN_PYTHON_VERSION: '3.10.0'
|
||||
MIN_PIP_VERSION: '22.0'
|
||||
|
||||
- name: "Install pip packages: {{install_pip}}"
|
||||
- name: "Install pip packages: yt-dlp"
|
||||
ansible.builtin.pip:
|
||||
name: 'yt-dlp'
|
||||
state: "present"
|
||||
state: 'latest'
|
||||
virtualenv: '{{BINPROVIDERS.pip.virtualenv}}'
|
||||
virtualenv_python: "{{BINPROVIDERS.pip.virtualenv_python}}"
|
||||
virtualenv_site_packages: yes
|
||||
virtualenv_site_packages: no
|
||||
|
||||
- name: Load YTDLP binary
|
||||
import_role:
|
||||
include_role:
|
||||
name: load_binary
|
||||
vars:
|
||||
name: ytdlp
|
||||
bin_name: yt-dlp
|
||||
PATH: '{{BINPROVIDERS.pip.PATH}}'
|
||||
|
||||
- name: Load ffmpeg binary
|
||||
import_role:
|
||||
include_role:
|
||||
name: load_binary
|
||||
vars:
|
||||
name: ffmpeg
|
||||
version_cmd: 'ffmpeg -version'
|
||||
PATH: '{{BINPROVIDERS.pip.PATH}}:{{ansible_env.PATH}}'
|
||||
|
||||
- name: Check that installed YT-DLP matches expected version
|
||||
assert:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue