1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

Compare commits

...

2305 commits

Author SHA1 Message Date
A Holt
423e21c52c
Merge pull request #3958 from holta/locale.conf
iiab-diagnostics: Also record /etc/locale.conf (e.g. for Debian 13 Trixie)
2025-03-01 11:58:31 -05:00
A Holt
96ddd6620d
iiab-diagnostics: Fix comments 2025-03-01 11:51:09 -05:00
A Holt
cb42942699
iiab-diagnostics: Clarify that Ubuntu too uses /etc/locale.conf 2025-03-01 11:46:21 -05:00
A Holt
ac12c6db0b
iiab-diagnostics.README.md: Update line number 2025-03-01 11:42:37 -05:00
A Holt
2461a8fde3
iiab-diagnostics: Also record /etc/locale.conf 2025-03-01 11:41:34 -05:00
A Holt
89b1487dc2
Update Nextcloud 31.0.0 disk footprint sizes 2025-02-27 15:40:39 -05:00
A Holt
8dac889ad9
Merge pull request #3957 from holta/ansible-core-2.18.3
Recommend ansible-core 2.18.3
2025-02-24 19:30:59 -06:00
A Holt
6d5fcdbcc2
Recommend ansible-core 2.18.3 2025-02-24 18:25:07 -06:00
A Holt
1308fb8670
Update Nextcloud 30.0.6 disk footprint sizes 2025-02-19 15:21:00 -05:00
A Holt
96324233d8
Clarify PR #3950: 'pip install psycopg' is NEW "Psycopg 3" for PostgreSQL 2025-02-17 04:21:44 -05:00
A Holt
e2c67e43f0
Merge pull request #3950 from holta/pip-installs-to-ansible-venv
pip install {pymysql, psycopg, passlib} to Ansible venv, on demand — to fix 6 IIAB Apps with new `interpreter_python=/usr/local/ansible/bin/python3` in ansible.cfg
2025-02-17 02:59:43 -06:00
A Holt
36e4322775
mysql/tasks/install.yml: Respect original typography 'PyMySQL' 2025-02-17 03:56:40 -05:00
root
957a89d67c pip install {pymysql,psycopg,passlib} to Ansible venv, on demand 2025-02-17 03:24:04 -05:00
A Holt
d1dd071c81
jupyterhub/tasks/install.yml: Mention disk footprint is ~316 MB 2025-02-16 22:02:54 -05:00
A Holt
f16bd2a6b5
jupyterhub/tasks/install.yml touchup: Comment out virtualenv_site_packages: no as tested on PR #3948 2025-02-16 15:02:50 -05:00
A Holt
b8555f86e1
Merge pull request #3948 from jvonau/jubhub
JupHub [JupyterHub fix & cleanup for Debian 13 Trixie, using full path to Python 3.13 in /opt/iiab/iiab/ansible.cfg]
2025-02-16 13:59:59 -06:00
Jerry Vonau
bbdd45365d update ansible.cfg for use with python3.13 2025-02-16 12:36:27 -06:00
Jerry Vonau
2ef96ad0ff jupyterhub drop python3-psutil 2025-02-16 02:49:09 -06:00
Jerry Vonau
66a35ee950 jupyterhub drop --system-site-packages 2025-02-16 02:42:17 -06:00
A Holt
e80b912eea
usb_lib/tasks/main.yml: Tiny comment update RE: iiab.conf.j2 2025-02-15 15:12:20 -05:00
A Holt
5267ef87a6
Merge pull request #3943 from avni/usb_lib_doc
usb_lib/tasks/main.yml: update USB_LIB description to be more clear
2025-02-15 13:59:54 -06:00
root
f52b390821 usb_lib/tasks/main.yml: updating USB_LIB description to be more clear about the two-way information/data exchange between teachers and students 2025-02-15 18:36:28 +00:00
A Holt
14d24fda49
Merge pull request #3942 from avni/jerry
usb_lib: building on to top of @jvonau's work in #3940. Using existence of /media to determine if a USB stick is mounted or not for both count and upload location; changing tabs to spaces for upload2usb.php
2025-02-14 16:18:30 -06:00
avni
fe6516b2e9
Add lockfile removal before exit in usbmount script per Jerry's recommendation.
Add lockfile removal before exit in usbmount script per Jerry's recommendation. Also adjusted spacing! 

Read up on file locking a bit: 
- https://www.baeldung.com/linux/file-locking
- https://linux.die.net/man/1/lockfile-create
2025-02-14 15:56:09 -05:00
root
a96b46c223 upload2usb/upload2usb.php: using existence of /media to determine if a USB stick is mounted or not for both count and upload location; changing tabs to spaces for the whole file 2025-02-13 15:50:02 -05:00
root
728704b250 Merge branch 'umnt3' of https://github.com/jvonau/iiab into jerry 2025-02-13 11:15:44 -05:00
Jerry Vonau
ebceb4a6ac upload2usb.php add 'grep media' to device filter 2025-02-12 13:28:05 -06:00
Jerry Vonau
bd8c131ef6 clearer dependencies 2025-02-12 11:45:04 -06:00
Jerry Vonau
52da42c146 touchups and ordering 2025-02-12 11:19:54 -06:00
Jerry Vonau
9a95a046c4 lockfile-remove for fstab check 2025-02-12 10:36:22 -06:00
Jerry Vonau
759126414e #set -e, lockfile-remove, typo, missing debug line 2025-02-12 10:26:21 -06:00
A Holt
cf606c417b
Merge pull request #3941 from avni/swinglink
upload2usb/header.php: update swing logo to point to /usb/
2025-02-12 09:11:45 -05:00
root
fda19ad7f9 upload2usb/header.php: update swing logo to point to /usb/ instead of /upload2usb/ 2025-02-12 02:18:16 -05:00
Jerry Vonau
9bc2006ba3 exclude usb based device that host usbbooted filesytems 2025-02-11 17:10:02 -06:00
A Holt
543a0e9b0e
Merge pull request #3939 from holta/force-link-to-usb
70-usb-library.j2: Forcibly delete e.g. stale symlink /library/www/html/local_content/USB0 during USB stick insertion
2025-02-11 11:38:10 -05:00
A Holt
1ec743a654
70-usb-library.j2: Fix logger string quotation marks 2025-02-11 10:42:05 -05:00
A Holt
94ca58aa0c
70-usb-library.j2: Cleaner logging & error handling (e.g. exit code 1) 2025-02-11 03:45:52 -05:00
A Holt
2398313918
70-usb-library.j2: Forcibly delete e.g. stale /library/www/html/local_content/USB0 2025-02-11 03:13:51 -05:00
A Holt
c2c36b178e
iiab-check-firmware: Mention 'sudo iiab-network' 2025-02-06 08:07:00 -06:00
A Holt
f084785452
Merge pull request #3932 from avni/rpi-automount-docs
usb_lib/README.rst, usb_lib/tasks/install.yml: docs on how to disable RPI Desktop auto-mount
2025-02-02 16:26:42 -05:00
A Holt
3596963d5c
Further update usb_lib/README.rst 2025-02-02 16:22:38 -05:00
A Holt
38a860d3c5
Update usb_lib/README.rst 2025-02-02 16:12:11 -05:00
root
8eed5e3fac usb_lib/README.rst, usb_lib/tasks/install.yml: Add docs on how to disable Desktop auto-mount functionality on RPi Desktop; other minor doc cleanup 2025-02-02 20:44:02 +00:00
A Holt
11f65e7689
Merge pull request #3931 from holta/tz-hack
Restore both GitHub Actions workflows simulating Raspberry Pi
2025-02-01 09:35:27 -05:00
A Holt
fb787e0649
Update USB_LIB description for iiab.ini 2025-02-01 01:24:47 -05:00
A Holt
f22ba85c49
php-settings.yml: More complete shell hack, equiv to timedatectl 2025-02-01 00:54:47 -05:00
A Holt
c975dd21fc
php-settings.yml: TZ hack that avoids systemd, for GHA 2025-02-01 00:35:54 -05:00
A Holt
810c70e85b
Merge pull request #3930 from holta/detected_network-touchups
Invert rejected country red error; Clarify 3 channel / WiFi country code vars for iiab.ini (in detected_network.yml)
2025-01-31 05:25:55 -05:00
A Holt
b6b2f3a0d7
usbmount copyright URL clarifs for PR #3929 2025-01-31 04:24:07 -05:00
root
3077a39cd6 Invert rejected country red error; Clarify 3 channel/country vars for iiab.ini 2025-01-31 04:08:33 -05:00
A Holt
073939a542
Merge pull request #3929 from holta/usbmount-refine
usb_lib and usbmount refinements built on PR #3916
2025-01-31 03:38:52 -05:00
root
6b4b94dae2 usb_lib / usbmount: Refine, lint, clarify 2025-01-31 01:41:23 -05:00
A Holt
7e56a53549
Merge pull request #3928 from jvonau/race
delay hostapd to allow ap0 to stabilize
2025-01-30 22:08:22 -05:00
Jerry Vonau
80bdfc677e
Update roles/usb_lib/tasks/install.yml
missed during rebase

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-30 14:13:26 -06:00
Jerry Vonau
97eeae4845 wording 2025-01-30 14:07:51 -06:00
Jerry Vonau
78924e84ba create /media/usb0-7 2025-01-30 13:53:05 -06:00
Jerry Vonau
0dec3fe810 indent 2025-01-30 13:51:28 -06:00
Jerry Vonau
eca12605b9 forgot the dependencies 2025-01-30 13:51:28 -06:00
Jerry Vonau
daa3deb034 Update roles/usb_lib/templates/iiab-clean-usb.sh
to restore previous search-ability

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-30 13:51:28 -06:00
Jerry Vonau
190d66409f Update roles/usb_lib/templates/iiab-clean-usb.sh
to restore previous search-ability

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-30 13:51:28 -06:00
root
76d5b5fc17 usb_lib: Minor whitespace typos 2025-01-30 13:51:24 -06:00
Jerry Vonau
e6051088fc RuntimeDirectory=usbmount 2025-01-30 13:50:00 -06:00
Jerry Vonau
34b4a8a7ad ConditionPathExists=/var/run 2025-01-30 13:50:00 -06:00
Jerry Vonau
640ab00d26 update iiab-clean-usb.sh 2025-01-30 13:49:56 -06:00
Jerry Vonau
257dc008ec bump number of lock tries 2025-01-30 13:43:32 -06:00
Jerry Vonau
60ca24d63a replace deb with local files 2025-01-30 13:43:32 -06:00
Jerry Vonau
f58ef26768 just exit to quite down systemd logging of umount failed on stuff we don't care about 2025-01-30 13:43:32 -06:00
Jerry Vonau
a5af8c89d4 move mkdir and copyright 2025-01-30 13:43:32 -06:00
Jerry Vonau
36485a109d turn on debug 2025-01-30 13:43:32 -06:00
Jerry Vonau
229a913ba4 filesystems supported 2025-01-30 13:43:32 -06:00
Jerry Vonau
57fa6bb08f Files from usbmount_0.0.22_all.deb 2025-01-30 13:43:28 -06:00
Jerry Vonau
6c5b4c35ec delay hostapd to allow ap0 to stabilize 2025-01-30 12:24:44 -06:00
A Holt
18c287fe27
Merge pull request #3925 from jvonau/1520
1520 [systemctl daemon_reload if not no_net_restart or...]
2025-01-30 12:27:04 -05:00
A Holt
4e7541fc1e
usb_lib/README.rst: Punctuation cleanup & link to PR #3916 WIP 2025-01-29 14:00:56 -05:00
A Holt
519daacc2a
iiab-network: Run Ansible with --extra-vars "{\"skip_role_on_error\":false}" 2025-01-29 11:05:07 -05:00
A Holt
0c0045f1c8
Merge pull request #3923 from holta/pp
Replacement for PR #3915, cleaning up merge conflict mess [prevent cheating (copying) of usb_lib homework uploads]
2025-01-29 04:50:50 -05:00
A Holt
078bab6d15
Merge pull request #3913 from avni/renamevar
vars/* and usb_lib/*: rename usb_lib_umask0000_for_kolibri
2025-01-29 04:50:37 -05:00
A Holt
4da759a84b
php-settings.yml: Note lack of systemd on chroot GHA runners for RPi 2025-01-29 03:43:03 -05:00
A Holt
668d57cb97
php-settings.yml; Fix typo in TZ explanation (PR #3927, GHA) 2025-01-29 02:26:49 -05:00
A Holt
3bccc1f452
Merge pull request #3927 from holta/php-defaults-way-too-low
PHP's own defaults are Way Too Low, so run www_options/tasks/php-settings.yml every time
2025-01-29 01:46:10 -05:00
A Holt
957cf6976a
PHP defaults TOO LOW, so run www_options/tasks/php-settings.yml every time 2025-01-29 01:20:22 -05:00
A Holt
2d412405fa
Merge pull request #3926 from holta/iiab-diagnostics_locale
iiab-diagnostics: 3 commands to record locale info
2025-01-29 00:54:48 -05:00
A Holt
18efafc23e
iiab-diagnostics.README.md: Update lines numbers 2025-01-29 00:53:18 -05:00
A Holt
16b745d734
iiab-diagnostics: 3 commands to record locale info 2025-01-29 00:42:08 -05:00
Jerry Vonau
00d45099ea 1520 2025-01-28 11:25:04 -06:00
root
f5e2f4ad79 usb_lib/tasks/install.yml: Resolve merge conflict w/ PR #3919 2025-01-27 20:17:44 -05:00
A Holt
178134ba36
Merge pull request #3922 from holta/ansible-core-2.18.2
Recommend ansible-core 2.18.2
2025-01-27 15:56:31 -05:00
A Holt
765d7854c3
Recommend ansible-core 2.18.2 2025-01-27 15:45:34 -05:00
A Holt
e57ea34590
Merge pull request #3919 from avni/u2u25
upload2usb: moving app out of local_content, relaxing mime type requirements, link swing back to homepage
2025-01-26 22:09:59 -05:00
root
c49c7b0d8d usb_lib/files/upload/upload2usb.php: allow zip files given some MacOS files, e.g., Pages files, have a mimetype of application/aip 2025-01-26 21:26:16 -05:00
root
48f4fc56f8 usb_lib/files/upload/header.php: link swing image back to upload2usb main page 2025-01-26 21:20:12 -05:00
root
fb07b9e3e5 nginx/templates/iiab.conf.j2, usb_lib/files/upload/header.php, usb_lib/tasks/install.yml: move app out of local_content and into /library/www/html/ 2025-01-26 21:18:30 -05:00
A Holt
8cbcff710e
Merge pull request #3918 from avni/uf-fix
upload/upload-file.php: fix var name bug and add better error handling
2025-01-26 10:56:08 -05:00
avni
1795276b20 upload/upload-file.php: fix var name bug and add better error handling 2025-01-26 16:36:43 +01:00
A Holt
7812edfed0
Fix 2 typos (explanation of when: not usb_lib_writable_sticks) 2025-01-26 09:32:49 -05:00
A Holt
cea4cac7f2
Clarify reset of FS_MOUNTOPTIONS in /etc/usbmount/usbmount.conf, if usb_lib_writable_sticks False 2025-01-26 09:28:48 -05:00
A Holt
d4e66748f3
usb_lib/install.yml: Clarify usb_lib_writable_sticks and umask=0000 2025-01-26 00:42:32 -05:00
avni
5663a84d27
70-usb-library.j2: update comment explaining PUBLIC folder better (from @holta)
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 23:57:27 -05:00
avni
920235d54c 70-usb-library.j2: use findmnt instead of UM_DEVICE from usbmount to find device given the missing leading /; adding comment about public folder 2025-01-26 04:41:10 +01:00
avni
27e286b8ae
70-usb-library.j2: comm
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 20:55:13 -05:00
A Holt
425cbf494c
iiab-clean-usb.sh: $() instead of `` for command substitution 2025-01-25 20:54:32 -05:00
avni
cd160da679
70-usb-library.j2: syntax change to CONTENT_LINK_USB var
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 20:52:04 -05:00
avni
2401ff3d60
70-usb-library.j2: Add additional logging of lib/root/boot mount points
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 20:49:12 -05:00
A Holt
d0a00da601
usb_lib/README.rst: Clarify usbmount supported filesystems line 2025-01-25 20:08:37 -05:00
avni
427dc57ed0
70-usb-library.j2: revert duplicate comment
Revert duplicate comment

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 17:45:54 -05:00
avni
2462bba6f5
70-usb-library.j2: Fix symlink from/to in comment
Thank you!

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 17:45:11 -05:00
avni
64756b6772
Update roles/usb_lib/templates/mount.d/70-usb-library.j2
Add thanks and reference to PR #3254

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 17:35:43 -05:00
avni
18c5fe711d
Update roles/usb_lib/templates/mount.d/70-usb-library.j2
Add thanks and reference to PR #3254

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 17:30:14 -05:00
avni
f9538a4834
mount.d/70-usb-library.j2: move lib/root/boot check above check for PUBLIC dir
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 17:04:46 -05:00
avni
341df04d90 Merge branch 'pp' of https://github.com/avni/iiab into pp 2025-01-25 22:44:19 +01:00
avni
13f5227824 vars/local_vars*, vars/default_vars.yml, roles/usb_lib/tasks/main.yml: reverting comment of iiab_usb_lib_show_all 2025-01-25 22:39:00 +01:00
avni
6562a4a12d
70-usb-library.j2: remove blank at EOF
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-25 16:02:01 -05:00
root
d15493b399 Begin to remove iiab_usb_lib_show_all and IIAB_USB_LIB_SHOW_ALL 2025-01-25 15:47:56 -05:00
root
fe633b2cd7 Upload2USB initial doc cleanup 2025-01-25 15:36:05 -05:00
avni
7c2f0c9c6e usb_lib/*, vars/*: prevent Cheating (Copying) of homeworks, when teacher creates 'PUBLIC' folder on their USB stick 2025-01-25 21:30:36 +01:00
avni
44e2772ccc
Update README to clarify Kolibri exports 2025-01-25 09:44:02 -05:00
A Holt
b0ef084ac8
Merge pull request #3914 from avni/updateerror2
error.php: updating FAQ reference to refer to new upload2usb FAQ
2025-01-25 08:26:19 -05:00
avni
286890b0d0 error.php: updating FAQ reference to refer to new upload2usb-specific FAQ. 2025-01-25 08:14:44 +01:00
avni
3b9edfdfc0 multiple files in vars/ and usb_lib/: rename usb_lib_umask0000_for_kolibri to usb_lib_writable_sticks so it is more generally applicable 2025-01-25 07:13:09 +01:00
A Holt
a20aebf9c2
Merge pull request #3911 from jvonau/usbmount
use systemd-udev-trigger.service BUGFIX
2025-01-24 12:13:29 -05:00
A Holt
ae1ecdfd89
Merge pull request #3908 from jvonau/dmesg
detect Firmware rejected country setting
2025-01-24 10:07:18 -05:00
A Holt
eecf6f8306
Wifi Country Code might in the middle of dmesg line (not on the right) 2025-01-24 10:06:30 -05:00
Jerry Vonau
e319b394e8
Update roles/network/tasks/detected_network.yml
future proof

Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-24 08:14:42 -06:00
Jerry Vonau
dcc9862527 use systemd-udev-trigger.service 2025-01-23 15:36:19 -06:00
Jerry Vonau
9991273391 grep & stdout 2025-01-23 12:36:55 -06:00
A Holt
dd4a9088b4
Merge pull request #3875 from avni/master
Initial commit of upload2usb App for homework assignments for students and teachers worldwide! [and, upload photos/projects to community's USB stick]
2025-01-23 09:44:06 -05:00
Jerry Vonau
eb21c8654a UNSET 2025-01-23 06:45:38 -06:00
Jerry Vonau
0cc63d8895 detect cmdline country code passed 2025-01-23 02:38:56 -06:00
avni
6dfda009e4 upload2usb.php: allow all word files, be more specific about xml mimetypes; log error message if user uploads invalid mimetype 2025-01-23 06:51:43 +01:00
avni
68dafdbc39 button.html: change button href to point to /usb/upload instead of /local_content/upload 2025-01-23 06:27:32 +01:00
avni
91533f5fb3 iiab.conf.j2: modify config to route /usb/upload/*.php to the upload2usb app! 2025-01-23 06:19:25 +01:00
avni
ad175fb3ca index.php, upload-file.php: change 'submit' to 'upload' in user-facing text 2025-01-23 06:19:13 +01:00
A Holt
89a06d6e5e
Update iiab-diagnostics.README.md for PR #3909 2025-01-22 18:26:43 -05:00
A Holt
b6153b9a05
Merge pull request #3909 from holta/iiab-diagnostics_dmesg_fixes
iiab-diagnostics: Refine 3+ 'sudo dmesg | grep ...' cmds
2025-01-22 18:20:26 -05:00
A Holt
765e1cd4b1
iiab-diagnostics: Use sudo with journalctl (in all 6 cases_ 2025-01-22 17:42:56 -05:00
A Holt
01baaa661a
iiab-diagnostics: Refine 3+ 'sudo dmesg | grep ...' cmds 2025-01-22 16:53:44 -05:00
avni
335d8ad4c1 nginx/templates/iiab.conf.j2, usb_lib/files/upload/button.html: Adding button to upload2usb app on every usb/ directory listing page. 2025-01-22 10:22:38 +01:00
avni
f79a43e305 install.yml: merging comments related to usb_lib_umask0000_for_kolibri 2025-01-22 10:16:21 +01:00
avni
024defc89c install.yml: merging umask comments 2025-01-22 05:40:55 +01:00
Avni Khatri/Fein
0caa16491d
install.yml: adding e.g. to make clear that variable doesn't have to be in local_vars.yml" roles/usb_lib/tasks/install.yml
Co-authored-by: A Holt <holta@users.noreply.github.com>
2025-01-21 23:27:45 -05:00
avni
f15a50610e install.yml: Adding instructions on how to unmount and mount drive manually if writing to the USB stick still doesn't work. 2025-01-22 05:18:41 +01:00
Jerry Vonau
0994a5786d detect Firmware rejected country setting 2025-01-20 08:53:25 -06:00
A Holt
8e7888a51a
Merge pull request #3905 from jvonau/hotspot-on-off
replace is_raspbian with dhcpcd_result == enabled
2025-01-19 15:51:02 -05:00
avni
e4bdc4ddab install.yml: add comment that usb_lib_umask0000_for_kolibri must be set to true in order to write to USB sticks. 2025-01-19 09:04:01 +01:00
avni
9426e6ac98 upload-file.php: throw error when user uploads a file that has the same content and name as an already uploaded file on the same day. 2025-01-19 08:21:27 +01:00
Jerry Vonau
f60a61ea4b replace is_raspbian with dhcpcd_result == enabled 2025-01-18 14:04:33 -06:00
A Holt
0cdf077113
Merge pull request #3902 from holta/revert-arm-ci-to-ubuntu-2204
GitHub Actions CI: Revert ARM tests to run on Ubuntu 22.04 (for now)
2025-01-18 02:50:44 -05:00
root
6f63de1622 Clarify & tighten up all 3 GHA workflow names (titles) 2025-01-18 02:42:28 -05:00
root
66fd7fad39 Cleaner 30min-iiab-test-install-raspios-on-zero2w.yml 2025-01-18 01:46:50 -05:00
root
d6b7114afc CI: Revert ARM tests to run on Ubuntu 22.04 for now 2025-01-18 01:35:36 -05:00
A Holt
cb0788b7ba
Merge pull request #3901 from holta/iiab-diagnostics_cleaner_cmd-not-found
iiab-diagnostics: Cleaner output if COMMAND NOT FOUND
2025-01-18 00:24:36 -05:00
root
803197e817 iiab-diagnostics.README.md: Update key line numbers 2025-01-18 00:23:47 -05:00
root
a81856db5d iiab-diagnostics: Cleaner output if COMMAND NOT FOUND 2025-01-18 00:09:09 -05:00
avni
271da50114 upload-file.php: Allow upload of redundant files 2025-01-17 23:03:01 +01:00
A Holt
e2113c5da0
Merge pull request #3899 from holta/iiab-diagnostics-wifi-etc
iiab-diagnostics: A bit more logging around wpa_supplicant, NetworkManager, dmesg | grep Firmware, rpi-eeprom-update to show bootloader version
2025-01-17 13:18:12 -05:00
A Holt
d09842245b
iiab-diagnostics: Clarify RPi WiFi firmware / HW models 2025-01-17 13:09:48 -05:00
A Holt
720e328ab6
iiab-diagnostics: Cap NetworkManager logging at 100 lines for now 2025-01-17 10:55:43 -05:00
A Holt
59f1d1b090
iiab-diagnostics: rpi-eeprom-update to show bootloader version 2025-01-17 10:23:36 -05:00
A Holt
ebbe9c066e
iiab-diagnostics: wpa_supplicant, NetworkManager, dmesg | grep Firmware 2025-01-17 10:16:37 -05:00
avni
f8b743dafc error.php, index.php, upload-file.php, upload2usb.php: Updating error message to refer to FAQs, titles to be more succinct, adding exception when directory can't be created. 2025-01-17 09:34:15 +01:00
A Holt
c00ceb7f2a
Merge pull request #3892 from jvonau/wpa
don't restart wpa_supplicant when network_manager_active is set
2025-01-16 14:47:25 -05:00
A Holt
c2046a1a91
Merge pull request #3891 from jvonau/firmware
Firmware [WiFi]
2025-01-16 10:01:38 -05:00
A Holt
a5e90f6511
network/tasks/main.yml: Blank line 2025-01-16 09:54:44 -05:00
A Holt
ca22622c7d
detected_network.yml: Record WiFi firmware vars (43430 & 43455) 2025-01-16 09:51:32 -05:00
Jerry Vonau
d52fe013cd don't restart wpa_supplicant when network_manager_active is set 2025-01-16 07:07:51 -06:00
Jerry Vonau
3bb41e2e07 move firmware replacement 2025-01-15 04:43:20 -06:00
Jerry Vonau
a16be49be5 add recording of firmware selection and force wifi_up_down false when required 2025-01-15 04:43:20 -06:00
Tim Moody
0c4df6c42c
Merge pull request #3889 from tim-moody/8.2.3-www-data
set www_data poweroff false with rename
2025-01-14 11:44:54 -05:00
A Holt
d3730b9494
Merge pull request #3886 from jvonau/HT-new2
dont start hostapd when no_net_restart is True
2025-01-13 22:20:39 -05:00
A Holt
3fa91b821a
Merge pull request #3885 from jvonau/HT-new
Ht new
2025-01-13 22:20:20 -05:00
A Holt
2981a7deaa
hostapd.yml: "Disable the Access Point 'hostapd' service if hostapd_enabled False" 2025-01-13 22:19:43 -05:00
tim-moody
e75a8e5449 set www_data poweroff false with rename 2025-01-13 19:43:02 -05:00
A Holt
34326f7318
Merge pull request #3887 from jvonau/tailscale
deal with tailscale0
2025-01-13 18:33:57 -05:00
Jerry Vonau
fb008640ef deal with tailscale0 2025-01-13 17:17:58 -06:00
Jerry Vonau
a9c916e219 dont start hostapd when no_net_restart is True 2025-01-13 17:10:56 -06:00
Jerry Vonau
fa8cc5637e move channel detection also 2025-01-13 17:06:19 -06:00
Jerry Vonau
9391d37f40 move country code detection 2025-01-13 17:06:19 -06:00
Jerry Vonau
917c6840d6 better visual feedback when running 2025-01-13 17:06:19 -06:00
avni
312ddce9ec Adding PR number to beginning of upload2usb block 2025-01-12 12:07:37 +01:00
avni
30f940a5f4 error.php, header.php, footer.php - Add custom exception handling, header, footer; index.php, upload-file.php, upload-2-usb.php - Require exactly 1 USB stick to be inserted, allow same file name but different content (using incremental numbering), reject duplicate content, restrict file types 2025-01-12 12:04:47 +01:00
avni
956257f6cb usb_lib/upload/*.php, usb_lib/tasks/install.yml: Moving app from upload2usb/ to upload/; Fixing UK image on upload-file page; Minor formatting changes 2025-01-08 11:45:00 +01:00
A Holt
1da4d45509
Update LICENSING.md 2025-01-06 00:29:57 -05:00
A Holt
6fe7b11511
Merge pull request #3879 from avni/usbcup
usb_lib/templates/content_dir.conf.unused: mark unused [Apache] file as such
2025-01-06 00:23:54 -05:00
root
8fb5656189 usb_lib/templates/content_dir.conf.unused: rename unused file 2025-01-05 23:43:52 -05:00
avni
99ff433a90 usb_lib/files/upload2usb/*: renaming app to Upload To USB instead of HW Submission, other minor cleanup/styling 2025-01-06 04:48:19 +01:00
avni
2706381a38 usb_lib/tasks/install.yml: Fixing yaml so upload2usb directory is created before files are copied 2025-01-06 04:46:28 +01:00
avni
8d167ab981 roles/usb_lib/tasks/install.yml: Add yaml to copy upload2usb app files to local_content folder 2025-01-06 01:12:24 +01:00
root
8d0f45bd4d Initial commit(x3) of Upload2USB stick app: 3 *.php files + UK logo 2025-01-05 16:35:38 -05:00
A Holt
886e98c0cb
Merge pull request #3874 from holta/launch-8.3-cycle
default_vars.yml: Launch 8.3 Release Cycle
2025-01-01 01:22:01 -05:00
A Holt
59956f2a91
default_vars.yml: Launch 8.3 Release Cycle 2024-12-31 22:20:48 -05:00
A Holt
b4319bf787
Merge pull request #3873 from holta/mediawiki-1.43.0
New MediaWiki 1.43.0 LTS
2024-12-31 22:00:14 -05:00
A Holt
3ebf210c99
New MediaWiki 1.43.0 LTS 2024-12-31 21:56:16 -05:00
A Holt
150c14ab54
Merge pull request #3872 from avni/patch-2
Update iiab-vpn to fix ANSI color codes on macOS and change text color on blue bg
2024-12-28 16:34:54 -05:00
Avni Khatri/Fein
1950a5ba6d
Update iiab-vpn to fix ANSI color codes on OSX and change text color on blue bg.
- Update iiab-vpn to fix ANSI color codes on OSX by using \033 instead of \e
- Change text color to light gray when using blue bg
2024-12-28 15:59:56 -05:00
A Holt
afa8ae0eeb
roles/usb_lib/README.rst: Fix 2 URLs 2024-12-22 13:44:30 -05:00
A Holt
6a6030b40b
Merge pull request #3870 from holta/mediawiki-1.42.4
New MediaWiki 1.42.4
2024-12-21 10:16:00 -05:00
A Holt
079c7f5fa2
New MediaWiki 1.42.4 2024-12-21 10:11:53 -05:00
Tim Moody
04e02587c5
Merge pull request #3869 from tim-moody/8.2.1-www-data
rename apache_allow_sudo and make True default
2024-12-21 08:16:38 -05:00
A Holt
6b96085050
iiab-vpn: Update 3 Headscale doc URLs (Android, Apple, Windows) 2024-12-19 23:26:00 -05:00
tim-moody
3c32db26bd rename apache_allow_sudo and make True default 2024-12-19 14:28:03 -05:00
A Holt
d886f39bbf
Merge pull request #3867 from holta/wifi-unblock
Refine PR #3866 to unblock WiFi hotspot on newer RasPiOS with NM (NetworkManager)
2024-12-19 12:52:12 -05:00
A Holt
1c9a784d2a
WiFi unblock via "rpi_debian.yml wasn't enough, especially with NM" 2024-12-18 22:59:25 -05:00
root
4a3e9517dc Clarify 'raspi-config nonint do_wifi_country XX' 2024-12-18 19:55:14 -05:00
Jerry Vonau
6a6d153034 deal with unblocking wifi while NM is active on newer RaspiOS 2024-12-18 08:47:43 -06:00
A Holt
299228e31e
Merge pull request #3865 from holta/rfkill-unblock-wifi
rpi_debian.yml: rfkill unblock wifi
2024-12-17 08:26:00 -05:00
A Holt
f722cd783e
rpi_debian.yml: rfkill unblock wifi 2024-12-17 00:04:20 -05:00
A Holt
b8a868e231
Fix Ansible comment RE: python3-netifaces (PR #3852) 2024-12-16 22:25:36 -05:00
A Holt
5665b68b13
Merge pull request #3864 from holta/imagemagick-7
Bypass /etc/ImageMagick-6/policy.xml PDF surgery w/ ImageMagick 7+
2024-12-16 21:44:42 -05:00
A Holt
9db5dbe3a4
Merge pull request #3862 from deldesir/deldesir-patch-5
Check if older version of 'library' (xklb) is installed
2024-12-16 21:40:34 -05:00
A Holt
f244669068
Merge pull request #3852 from jvonau/calweb-no-netif
drop netifaces workaround - replaced with netifaces-plus
2024-12-16 21:40:25 -05:00
A Holt
8b5ea641d4
Bypass /etc/ImageMagick-6/policy.xml PDF surgery w/ ImageMagick 7+ 2024-12-16 21:30:00 -05:00
A Holt
9e235424dc
Merge pull request #3863 from holta/asterisk-22
Asterisk 22 (instead of 21, tested on Debian 13)
2024-12-16 18:43:35 -05:00
root
325d27a32b Asterisk 22 (instead of 21, tested on Debian 13) 2024-12-16 18:37:47 -05:00
Blondel MONDESIR
943dcccf7d
Make yt-dlp symlink failsafe 2024-12-16 07:31:07 -05:00
Blondel MONDESIR
7f37ccd8db
Remove grep step 2024-12-16 07:25:06 -05:00
Blondel MONDESIR
58c5e8e71f
Enhance library existence check 2024-12-15 22:00:40 -05:00
Blondel MONDESIR
59470cd134
Update install.yml to check if older xklb is present 2024-12-15 21:42:07 -05:00
Blondel MONDESIR
577a8f171f
Ensure script continues even if 'library' is not installed 2024-12-15 21:20:52 -05:00
Blondel MONDESIR
ad57789c65
Check if older version of 'library' (xklb) is installed 2024-12-15 21:00:30 -05:00
A Holt
0bf49da18b
Merge pull request #3860 from holta/xklb-rename-to-library
Rename `xklb` to `library` for pipx
2024-12-13 18:58:52 -05:00
A Holt
9dfaccef74
scripts/iiab-update: Rename xklb to library for pipx 2024-12-13 18:50:35 -05:00
A Holt
e2d646ee18
calibre-web/tasks/install.yml: Rename xklb to library for pipx 2024-12-13 18:48:37 -05:00
A Holt
8a9945f014
Merge pull request #3859 from holta/labwc
Permit autostart of Chrome browser & pop-up warnings {iiab-netwarn, iiab-pwdwarn-labwc} w/ compositor labwc (no longer Wayfire) on new Raspberry Pi OS
2024-12-12 17:57:03 -05:00
root
36a5cd458f Parallelize 3 autostart cmds in ~/.config/labwc/autostart 2024-12-12 23:51:09 +01:00
root
ae40f78d23 Put iiab-netwarn & iiab-pwdwarn-labwc in ~/.config/labwc/autostart 2024-12-12 22:54:44 +01:00
root
7544b79285 Enact Chrome browser autostart w/ compositor labwc (no longer wayfire) for RasPiOS 2024-12-12 22:19:27 +01:00
A Holt
adfc1cc696
RasPiOS compositor change (wayfire to labwc) so Chrome browser autostart needs work 2024-12-09 13:44:56 -05:00
A Holt
01304ab133
Nextcloud 30.0.4 disk footprint estimates 2024-12-09 13:14:53 -05:00
Jerry Vonau
0e68361814 drop netifaces workaround - replaced with netifaces-plus 2024-12-08 12:08:42 -06:00
A Holt
5e818c9fd1
Merge pull request #3848 from holta/ansible-core-2.18.1
Recommend ansible-core 2.18.1
2024-12-02 13:07:42 -05:00
A Holt
c16d76ac29
MIN_ANSIBLE_VER=2.16.14 2024-12-02 12:59:26 -05:00
A Holt
676f3eebef
Recommend ansible-core 2.18.1 2024-12-02 12:58:02 -05:00
A Holt
537c6a84c2
Update README.md 2024-11-19 17:04:54 -05:00
A Holt
defa139a34
Update CONTRIBUTING.md 2024-11-19 17:00:50 -05:00
A Holt
123a0cc5f1
Update README.md link to RENAMED Contributors Guide 2024-11-19 11:39:41 -05:00
A Holt
750c15ade1
Update CONTRIBUTING.md link 2024-11-19 11:38:15 -05:00
A Holt
72ff97ef9f
Merge pull request #3845 from holta/transmission-bug-ongoing-on-2504
Defer initial install of Transmission... on Ubuntu 25.04 too!
2024-11-16 18:22:22 -05:00
A Holt
13557b1172
Defer install of Transmission on Ubuntu 25.04 too 2024-11-16 18:17:35 -05:00
A Holt
0554e48f81
Merge pull request #3844 from holta/lokole-unmaintained-warnings
Mention that Lokole in UNMAINTAINED (in 5 local_vars.yml files)
2024-11-09 10:46:19 -05:00
A Holt
a646a45aea
local_vars_large.yml: Mention that Lokole is UNMAINTAINED 2024-11-09 10:43:23 -05:00
A Holt
aae6729632
local_vars_medium.yml: Mention that Lokole is UNMAINTAINED 2024-11-09 10:43:08 -05:00
A Holt
7b63f0b30e
local_vars_small.yml: Mention that Lokole is UNMAINTAINED 2024-11-09 10:42:49 -05:00
A Holt
1234d11630
local_vars_unittest.yml: Mention that Lokole in UNMAINTAINED 2024-11-09 10:42:28 -05:00
A Holt
6f7855f3d9
default_vars.yml: Mention that Lokole in UNMAINTAINED 2024-11-09 10:42:09 -05:00
A Holt
baecd48c7c
Merge pull request #3843 from holta/gha-tmp-hack-forcing-u2404
10min-iiab-test-install.yml: Tmp GHA hack using ubuntu-24.04 [and recommend ansible-core 2.18.0]
2024-11-08 19:39:33 -05:00
A Holt
abe1895024
Recommend ansible-core 2.18.0 2024-11-08 19:31:06 -05:00
A Holt
8ff3c7c221
10min-iiab-test-install.yml: Tmp GHA hack using ubuntu-24.04 2024-11-08 19:27:32 -05:00
A Holt
9d8637abda
Merge pull request #3842 from holta/MIN_ANSIBLE_VER
ansible-core 2.15 EOL November 2024, MIN_ANSIBLE_VER=2.16.13
2024-11-08 15:44:26 -05:00
A Holt
129f284286
2.15 EOL November 2024, MIN_ANSIBLE_VER=2.16.13 2024-11-08 15:42:08 -05:00
A Holt
8cb5a79933
Merge pull request #3828 from holta/u2504
Ubuntu 25.04 pre-release testing + actively discourage 3 old OS's
2024-11-08 15:18:47 -05:00
A Holt
d13110d2f3
Merge pull request #3838 from holta/tailscale-tab-completion-fix
Fix tailscale tab completion, when /etc/bash_completion.d does not yet exist
2024-10-28 12:47:28 -06:00
A Holt
0616e1c097
Fix tailscale tab completion (mkdir -p /etc/bash_completion.d) 2024-10-28 14:33:41 -04:00
A Holt
763fe075ac
Merge pull request #3837 from holta/revert_python3-cryptography
Revert PR #3815: python3-cryptography no longer needed
2024-10-27 10:29:48 -06:00
A Holt
ef868120a1
Revert PR #3815: python3-cryptography no longer needed 2024-10-27 10:19:18 -06:00
Tim Moody
1d9c0199cb
Merge pull request #3835 from tim-moody/zimit
only support versioned zims if have YYYY-MM ending
2024-10-23 10:27:15 -04:00
tim-moody
965d494412 only support versioned zims if have YYYY-MM ending 2024-10-23 09:25:13 -04:00
A Holt
759ebb48dd
iiab-vpn: Revert 018b0d2, as online/offline colors failed on some terminals 2024-10-18 08:24:47 -04:00
A Holt
018b0d21b8
PR #3834: Tighten iiab-vpn output of online/offline 2024-10-18 00:07:22 -04:00
A Holt
735683f509
Merge pull request #3834 from holta/iiab-vpn_status5
Fix iiab-vpn output, when tag:username is missing from any Tailscale peer/node (IP address) — avoiding jq error "Cannot iterate over null (null)"
2024-10-17 15:34:34 -04:00
A Holt
f00f225e28
iiab-vpn: Fix PR #3813 output, when Tailscale tag is missing 2024-10-17 15:22:57 -04:00
A Holt
ec348fcc02
moodle/defaults/install.yml: 4.6dev -> 5.0dev for #3826 2024-10-15 21:36:33 -04:00
A Holt
75f9f61358
moodle/defaults/main.yml: 4.6dev -> 5.0dev for #3826 2024-10-15 21:35:47 -04:00
A Holt
194ac9b469
README.md: Mention 50+ FAQ.IIAB.IO questions + answers 2024-10-12 21:48:14 -04:00
A Holt
5a9b929901
Merge pull request #3829 from holta/iiab-summary_vpn_cleanup
iiab-summary: Clean output, when tailscale has no IP
2024-10-11 14:57:28 -04:00
A Holt
aedc893bd1
iiab-summary: Clean output, when tailscale has no IP 2024-10-11 14:49:58 -04:00
root
d07ae98898 Ubuntu 25.04 pre-release testing; Discourage 3 old OS's 2024-10-11 01:46:02 -04:00
A Holt
3651ac666e
Merge pull request #3826 from holta/moodle-4.5
New Moodle 4.5 LTS
2024-10-09 00:52:50 -04:00
A Holt
4be68d3ac1
moodle/tasks/install.yml: Revise disk footprint estimates 2024-10-09 00:51:57 -04:00
A Holt
49d7160116
moodle/defaults/main.yml: Install 4.5 LTS by default, or... 2024-10-09 00:27:55 -04:00
A Holt
ab8c071374
moodle/tasks/install.yml: Install 4.6dev if PHP >= 8.4 2024-10-09 00:25:05 -04:00
A Holt
b91e953444
Merge pull request #3825 from holta/ansible-core-2.17.5
Recommend ansible-core 2.17.5
2024-10-07 16:03:58 -04:00
A Holt
8e09f02bed
Recommend ansible-core 2.17.5 2024-10-07 15:47:00 -04:00
A Holt
ccf87c8b90
iiab-diagnostics: Note https://temp.sh for pastebin-like large file xfer 2024-10-02 21:07:50 -04:00
A Holt
07cf519467
Merge pull request #3818 from holta/wireless-tools_dying
RIP apt package `wireless-tools` (Ansible output will auto-highlight distros that increasingly deprecate it, to help us monitor Debian 13/14/etc)
2024-10-02 17:09:08 -04:00
root
297afc3b72 RIP apt package 'wireless-tools' (or Debian 13+ might keep it?) 2024-10-02 16:49:25 -04:00
A Holt
ace3b3df32
Merge pull request #3817 from holta/unittest_faster_without_network
local_vars_unittest.yml: SKIP roles/network, for FASTER UNIT TESTING
2024-10-02 13:37:59 -04:00
A Holt
e7eb246a1d
local_vars_unittest.yml: SKIP roles/network, for FASTER UNIT TESTING 2024-10-02 13:24:45 -04:00
A Holt
b7b1b59763
Merge pull request #3815 from deldesir/deldesir-patch-3
Experimenting with various apt package installs [e.g. python3-cryptography, so Calibre-Web unit test works on Raspberry Pi OS]
2024-10-02 09:24:16 -04:00
A Holt
8493040b96
Merge pull request #3816 from holta/iiab-update_tailscale_too
scripts/iiab-update: Also update /usr/bin/iiab-vpn
2024-10-01 20:20:03 -04:00
root
c7b566418b scripts/iiab-update: Also update /usr/bin/iiab-vpn 2024-10-01 19:58:33 -04:00
A Holt
23e92b5853
calibre-web/tasks/install.yml: Mention iiab/calibre-web#260 2024-10-01 18:52:20 -04:00
A Holt
1f75537309
calibre-web/tasks/install.yml: Explain python3-cryptography 2024-10-01 17:59:46 -04:00
Blondel MONDESIR
526dc22fb8
Make calibre-web role install cryptography 2024-10-01 16:39:22 -04:00
Blondel MONDESIR
9302dfbd65
Merge pull request #3 from iiab/master
Sync with upstream
2024-10-01 16:13:34 -04:00
A Holt
27e287e508
Merge pull request #3814 from holta/mediawiki-1.42.3
MediaWiki 1.42.3 (security & maintenance release)
2024-09-30 21:55:06 -04:00
A Holt
d941a8ffbe
MediaWiki 1.42.3 (security & maintenance release) 2024-09-30 21:52:11 -04:00
A Holt
772c5ec810
Merge pull request #3813 from holta/iiab-vpn_status4
Cleaner columns in iiab-vpn output, when tag &/or relay missing
2024-09-30 16:44:18 -04:00
A Holt
08f2f2191c
Cleaner columns in iiab-vpn output, when tag &/or relay missing 2024-09-30 16:39:47 -04:00
A Holt
90d6af32a7
Mention Calibre-Web's official upstream install instructions 2024-09-30 09:45:55 -04:00
A Holt
e30cefc393
Merge pull request #3811 from holta/internet_access_test-BETTER
Internet access test... more relevant... for live scraping of IIAB docs during IIAB installs (i.e. /usr/bin/iiab-refresh-wiki-docs)
2024-09-29 11:39:14 -04:00
root
278ec39f2c Internet access test..more relevant..for IIAB docs 2024-09-29 11:33:05 -04:00
A Holt
4c8c2a1c2f
Merge pull request #3810 from holta/unittest_with_nodocs
`nodocs: True` in local_vars_unittest.yml
2024-09-28 11:14:05 -04:00
A Holt
c81e3629ff
nodocs: True in local_vars_unittest.yml 2024-09-28 11:11:22 -04:00
A Holt
4dd927cfd0
Merge pull request #3804 from holta/iiab-vpn_status3
Tighten & brighten iiab-vpn status table output
2024-09-23 04:01:14 -04:00
root
13fcd0f9c5 Tighten & brighten iiab-vpn status table 2024-09-23 03:52:37 -04:00
A Holt
67458abfc0
Merge pull request #3803 from holta/iiab-vpn_status2
Refine iiab-vpn status table of Tailscale IPs/usernames/etc
2024-09-22 23:34:03 -04:00
root
95986ae681 Refine iiab-vpn status table of Tailscale IPs/usernames/etc 2024-09-22 23:20:07 -04:00
A Holt
4386d2f3d3
Merge pull request #3802 from holta/tailscale-doc-fixes
Doc quick fixes for Tailscale PRs #3798 & #3800
2024-09-22 19:27:30 -04:00
root
d72e60c87d Doc fixes for Tailscale PRs #3798 & #3800 2024-09-22 19:19:35 -04:00
A Holt
086087b65b
iiab-vpn PR #3800 doc: Table of IPs/usernames/etc 2024-09-18 19:51:15 -04:00
A Holt
e98cd76ec0
iiab-vpn: Trailing newline forgotten in PR #3800 2024-09-18 15:17:59 -04:00
A Holt
f21c4c0572
Merge pull request #3800 from holta/iiab-vpn_status
Improve iiab-vpn command, to show status of each IP in a table (+ better tips!)
2024-09-18 15:14:04 -04:00
A Holt
71f6d0371b
iiab-vpn shows status of each IP (+ better tips!) 2024-09-18 15:08:55 -04:00
A Holt
5414eb3c38
iiab-vpn tip: Show IPs tagged with usernames 2024-09-18 11:34:32 -04:00
A Holt
d3d0b9767c
iiab-vpn: Tailscale tips for Android, Mac/iOS, Windows 2024-09-16 09:39:44 -04:00
A Holt
35bdd1181b
iiab-vpn doc for #3798: tailscale ping --verbose [IP or HOSTNAME] 2024-09-16 08:22:46 -04:00
A Holt
c88f1418ad
nextcloud/README.md: Mention NEW Nextcloud 30 2024-09-15 05:48:08 -04:00
A Holt
f07832105d
Add openvpn to unmaintained-roles.txt, per PR #3798 2024-09-15 05:17:38 -04:00
A Holt
762fed228a
Merge pull request #3798 from holta/vpn
Introduce new VPN approach (roles/tailscale) with commands iiab-vpn and iiab-vpn-off in /usr/bin
2024-09-15 05:00:13 -04:00
root
c7000f330b Introduce roles/tailscale w/ /usr/bin/iiab-vpn etc 2024-09-15 03:51:07 -04:00
A Holt
814a97be9c
Merge pull request #3797 from holta/ansible-core-2.17.4
Recommend ansible-core 2.17.4
2024-09-09 15:49:41 -04:00
A Holt
bea4aea7a0
Recommend ansible-core 2.17.4 2024-09-09 15:45:33 -04:00
A Holt
d1bd41bf48
Merge pull request #3791 from holta/moodle-main-not-master
Moodle dev branch renamed from 'master' to 'main'
2024-08-22 21:42:14 -04:00
root
3bb74ec09a Moodle dev branch renamed from 'master' to 'main' 2024-08-22 21:32:24 -04:00
A Holt
86fa7bd49c test.yml: Tips to try ad hoc Ansible commands 2024-08-15 10:02:49 -04:00
A Holt
b88a3854df
Merge pull request #3787 from holta/ansible-core-2.17.3
Recommend ansible-core 2.17.3
2024-08-13 21:05:25 -04:00
A Holt
e1eb26ba68
Recommend ansible-core 2.17.3 2024-08-13 00:15:30 -04:00
A Holt
d79a0bde06
Merge pull request #3786 from holta/iiab-diagnostics_pastebin_centos
iiab-diagnostics: Try paste.centos.org instead of dpaste.com
2024-08-10 21:48:46 -04:00
A Holt
2c5398dfb2
iiab-diagnostics: Clarify termbin.com rudimentary/reliable option 2024-08-10 21:48:10 -04:00
A Holt
608d05e240
iiab-diagnostics: Try paste.centos.org instead of dpaste.com 2024-08-10 21:41:15 -04:00
A Holt
ee3781d38a
README.md: Fix link to FAQ app list / descriptions 2024-08-08 20:53:13 -04:00
A Holt
fdcb617677
Merge pull request #3785 from holta/kolibri-back-to-PPA
Revert to installing Kolibri (i.e. 0.17.0+) via PPA across the board, by default anyway, regardless whether or not Python >= 3.12
2024-08-08 00:03:59 -04:00
A Holt
0d0772aac9
Revert to installing Kolibri (i.e. 0.17.0+) via PPA, by default 2024-08-07 23:34:30 -04:00
A Holt
49b574409a
scripts/iiab-update: Touch up for PR #3784 2024-08-07 04:04:43 -04:00
A Holt
24def618bc
roles/iiab-admin/README.rst: Update 2 links 2024-08-07 03:34:02 -04:00
A Holt
8924349924
Merge pull request #3784 from holta/iiab-root-login
scripts/iiab-root-login: Set + Enable sftp password, for FileZilla uploads of local/community content to IIAB
2024-08-07 01:30:15 -04:00
root
cac1c873f4 scripts/iiab-root-login: Set + Enable sftp password, for FileZilla uploads 2024-08-07 01:08:52 -04:00
A Holt
aa5a020c16
Merge pull request #3783 from holta/kolibri-0.17.0
Kolibri 0.17.0 (final release process underway) if Python >= 3.12
2024-08-06 19:39:46 -04:00
A Holt
6e51ecbdd6
Kolibri 0.17.x: Clean/Clarify Python 3.12+ OS's / context 2024-08-06 19:37:56 -04:00
A Holt
fd3ff958b1
Kolibri 0.17.0 if Python >= 3.12 2024-08-06 19:29:48 -04:00
A Holt
13a25429ea
Merge pull request #3782 from holta/kolibri-0.17.0rc3
Kolibri 0.17 RC3 if Python >= 3.12
2024-08-05 18:52:46 -04:00
A Holt
0ab99a456e
kolibri/tasks/install.yml: Clarify 4 OS's now using Python 3.12 2024-08-05 18:51:04 -04:00
A Holt
01f87f5e38
Kolibri 0.17 RC3 if Python >= 3.12 2024-08-05 18:44:18 -04:00
A Holt
a0e789a111
pbx/README.adoc: FreePBX 17 links 2024-08-04 09:20:47 -04:00
A Holt
1c2548ed0c
Merge pull request #3780 from holta/kolibri-0.17.0rc2
Kolibri 0.17 RC2 if Python >= 3.12
2024-08-01 14:31:21 -04:00
A Holt
cd7baf4b4f
Kolibri 0.17 RC2 if Python >= 3.12 2024-08-01 14:19:53 -04:00
A Holt
06d3d537db
Merge pull request #3779 from holta/transmission-defer
Bypass initial install of Transmission on 24.04 & 24.10 & Linux Mint 22 [allowing smooth MEDIUM-sized & LARGE-sized IIAB installs]
2024-08-01 11:20:00 -04:00
root
f20493cdc4 Bypass initial install of Transmission on 24.04 & 24.10 & Mint 22 2024-08-01 11:10:37 -04:00
A Holt
6d2e5542a5
Merge pull request #3778 from holta/kolibri-0.17.0rc0
Kolibri 0.17 RC0 (Release Candidate 0) if Python >= 3.12
2024-07-30 19:48:23 -04:00
A Holt
1ddbf01dff
Kolibri 0.17 RC0 if Python >= 3.12 2024-07-30 19:42:47 -04:00
A Holt
8f1a72e049
pbx/README.adoc: Update FreePBX 17 pre-release news + link 2024-07-28 15:03:00 -04:00
A Holt
1116cbfb36
pbx/README.adoc: 2 more official FreePBX 17 install links 2024-07-28 14:48:01 -04:00
A Holt
078d896ef7
pbx/README.adoc: Link to official FreePBX 17 install script 2024-07-28 14:34:51 -04:00
A Holt
411240da74
Merge pull request #3777 from holta/cweb-git-pull-fix
'git pull' if upgrading Calibre-Web, bypassing Ansible's incomplete git module
2024-07-22 22:34:31 -04:00
root
4cb61cf8b8 'git pull' if upgrading Calibre-Web, bypassing Ansible 2024-07-22 22:26:35 -04:00
A Holt
dc6dae0b4c
Merge pull request #3776 from holta/kolibri-mainline
KA Lite is dying: Time for Kolibri to become mainline
2024-07-21 22:34:55 -04:00
root
46c1003f2c KA Lite dying: Time for Kolibri to become mainline 2024-07-21 21:49:07 -04:00
A Holt
ae2327e23a
Merge pull request #3775 from holta/iiab-update2
Improved upgrading of Calibre-Web via BOTH approaches: (1) `iiab-update -f` fast way, via bash (2) `iiab-update` slow/forcible/thorough way, via Ansible
2024-07-21 03:26:26 -04:00
root
220bea18dc Explain yt-dlp 'nightly' releases, in Ansible output 2024-07-21 03:24:26 -04:00
A Holt
ddfbbe7bf0
calibre-web/tasks/install.yml: Clarify yt-dlp "nightly" option 2024-07-21 02:46:48 -04:00
A Holt
663a35f5ce
Sharpen /usr/local/calibre-web-py3 disk usage estimates 2024-07-21 02:31:21 -04:00
root
06dbdb178a Allow Calibre-Web upgrades via Ansible too, much like 'iiab-update -f' 2024-07-21 01:51:06 -04:00
root
37c6a7ef29 Clarify yt-dlp "nightly" for better/experimental YouTube scraping 2024-07-20 13:43:35 -04:00
root
06a36706eb iiab-update: Tighten up Calibre-Web upgrader (WIP: Ansible equiv soon) 2024-07-20 11:52:53 -04:00
A Holt
dbce29b24e
Merge pull request #3774 from holta/iiab-update2
`iiab-update -f` installs Calibre-Web's latest requirements.txt + mentions alternative `iiab-update` w/o flags
2024-07-19 07:16:21 -04:00
root
33ed99c030 iiab-update -f: Install CWeb requirements.txt + sharpen warning 2024-07-19 06:26:19 -04:00
A Holt
b1b9d49327
Clean up RasPiOS Python/apt/pip doc links 2024-07-19 04:34:16 -04:00
A Holt
f73bce7935
Merge pull request #3773 from holta/iiab-update2
iiab-update: Skip Admin Console `./install` if it appears already up-to-date
2024-07-19 01:29:21 -04:00
root
af3660045f iiab-update: Skip Admin Console ./install if already up-to-date 2024-07-19 01:19:00 -04:00
A Holt
333dbf3be7
Merge pull request #3772 from holta/iiab-update2
iiab-update: Permit /opt/iiab/iiab untracked files like adm-run-roles-tmp.yml
2024-07-18 16:32:26 -04:00
A Holt
cdd94f84d9
iiab-update: Permit /opt/iiab/iiab untracked files like adm-run-roles-tmp.yml 2024-07-18 16:28:14 -04:00
A Holt
5debb5e650
Merge pull request #3771 from holta/iiab-update2
iiab-update: minor refinements for safety + usability
2024-07-18 16:04:30 -04:00
A Holt
732ddf8011
iiab-update: Clarify "cp -u" in live output too 2024-07-18 15:28:07 -04:00
A Holt
291c049919
iiab-update: Try "bash -e" (exit on error) and "cp -u" (--update) 2024-07-18 15:24:22 -04:00
A Holt
1b38d34a31
Merge pull request #3770 from holta/iiab-update2
Preload all of iiab-update (bash script) into RAM — serious/intermittent errors were arising from the script effectively overwriting itself
2024-07-18 14:39:57 -04:00
root
280cea8b9d untabify iiab-update + 'systemctl stop calibre-web' output 2024-07-18 14:36:01 -04:00
root
1e1998cb14 Preload all of iiab-update (bash script) into RAM for safety 2024-07-18 13:37:24 -04:00
A Holt
3d6a116352
scripts/iiab-update: Clarify summary/purpose for PR #3768 2024-07-18 05:19:38 -04:00
A Holt
cca3cd2395
Merge pull request #3769 from holta/yt-dlp_upgrading
Strengthen Calibre-Web's yt-dlp upgrading + document yt-dlp "nightly" version
2024-07-18 03:22:37 -04:00
A Holt
514f0ea714
calibre-web/README.rst: Refine "Upgrading" grammar 2024-07-18 03:21:01 -04:00
A Holt
4150ce342e
calibre-web/README.rst: Revise "Upgrading" section 2024-07-18 03:09:13 -04:00
A Holt
c6815a55f7
calibre-web/tasks/install.yml: Links to NEW iiab-update approach 2024-07-18 02:19:52 -04:00
A Holt
49f59830c8
Strengthen yt-dlp upgrading + document "nightly" version 2024-07-18 02:09:33 -04:00
A Holt
b1b42e958a
Merge pull request #3768 from holta/iiab-update
Very basic iiab-update command, that also upgrades IIAB Calibre-Web
2024-07-18 01:57:47 -04:00
A Holt
af4715df6a
Explain 'cp iiab-update iiab-summary iiab-diagnostics /usr/bin' 2024-07-18 01:32:16 -04:00
A Holt
7d004495d3
iiab-update: Document yt-dlp "nightly" option 2024-07-18 01:15:10 -04:00
A Holt
869ff84453
iiab-update: Tiny code cleanup (Calibre-Web section) 2024-07-18 00:25:50 -04:00
root
4f98de9331 Untracked files in venv /usr/local/calibre-web-py3 should NOT block upgrade 2024-07-17 23:38:02 -04:00
root
e3d9a9a36e Basic iiab-update command; also upgrades IIAB Calibre-Web 2024-07-17 22:26:11 -04:00
A Holt
fadee4caea
remote.it free/personal/non-commercial plan reconfirmed for 2024 2024-07-17 08:57:54 -04:00
A Holt
945d9c456f
Merge pull request #3767 from holta/kolibri-0.17.0b3
Kolibri 0.17.0 Beta 3 (if Python >= 3.12)
2024-07-16 00:35:12 -04:00
A Holt
89c3d78739
Kolibri 0.17.0 Beta 3 (if Python >= 3.12) 2024-07-16 00:33:24 -04:00
A Holt
e5ce5ca50a
Merge pull request #3766 from holta/ansible-core-7.2
Recommend ansible-core 2.17.2
2024-07-15 16:17:02 -04:00
A Holt
3b41fbca62
Recommend ansible-core 2.17.2 2024-07-15 16:12:49 -04:00
A Holt
2bb78b92a2
Merge pull request #3765 from holta/kolibri-0.17.0b2
Kolibri 0.17.0 Beta 2 (if Python >= 3.12)
2024-07-12 19:47:05 -04:00
A Holt
7c7f145b17
Kolibri 0.17.0 Beta 2 (if Python >= 3.12) 2024-07-12 19:44:36 -04:00
A Holt
8f63aec43a
Merge pull request #3763 from holta/kolibri-0.17b1
Kolibri 0.17.0 Beta 1 (if Python >= 3.12)
2024-07-11 19:27:38 -04:00
A Holt
2250f507fd
Kolibri 0.17.0 Beta 1 (if Python >= 3.12) 2024-07-11 19:18:26 -04:00
A Holt
afb7ed18fd
Update Moodle 4.5dev disk footprint estimates 2024-07-11 13:12:49 -04:00
A Holt
924f580277
Clarify current Moodle is 4.4 (or 4.5dev !) 2024-07-11 12:54:38 -04:00
A Holt
c1eea9d1a1
callbre-web/README.rst: Update issues reporting URL 2024-07-10 09:38:03 -04:00
A Holt
c6b0164cbe
transmission/README.rst: Ubuntu timeout / crashing issue #3756 2024-07-09 18:43:30 -04:00
A Holt
0c4e8d2cbb
Merge pull request #3761 from holta/kolibri-0.17b0
Install Kolibri 0.17 Beta 0 if Python >= 3.12
2024-07-03 23:20:55 -04:00
A Holt
9d31afdc9f
Install Kolibri 0.17b0 if Python >= 3.12 2024-07-03 23:18:07 -04:00
A Holt
fb918e7f2c
Merge pull request #3760 from holta/mediawiki-1.42.1
New MediaWiki 1.42.1
2024-06-27 12:03:10 -04:00
A Holt
a4a68604e1
New MediaWiki 1.42.1 2024-06-27 12:01:11 -04:00
A Holt
03610f8c35
Merge pull request #3759 from holta/kolibri-ppa-cleanup
Tighten up adding of Kolibri PPA
2024-06-25 18:58:07 -04:00
A Holt
d75d6a0cb2
Fix date in comment re: kolibri-proposed 2024-06-25 18:47:28 -04:00
A Holt
355ebbc65e
Tighten up adding of Kolibri PPA 2024-06-25 18:25:23 -04:00
A Holt
2ef70bf737
Merge pull request #3757 from holta/raspbian-13
Support experimental IIAB installs on Raspberry Pi OS 13 "Trixie"
2024-06-25 14:47:52 -04:00
root
199424d470 Support experimental install on RasPiOS 13 2024-06-25 14:35:19 -04:00
A Holt
2a5046cd84
Update IIAB Calibre-Web disk footprint estimates 2024-06-25 14:30:49 -04:00
A Holt
f274f36050
Clarify doc explanation of PR #3751 2024-06-25 13:10:01 -04:00
A Holt
29637bbb39
Merge pull request #3751 from holta/kolibri-on-python3.12
Install Kolibri 0.17 pre-release, when OS Python >= 3.12
2024-06-25 12:57:00 -04:00
A Holt
641b31d800
Nextcloud 29.0.3: Update disk footprint sizes 2024-06-25 12:56:33 -04:00
A Holt
2f4151ec2e
Temp hard-coding of Kolibri 0.17 Alpha 0, if Python >= 3.12 2024-06-25 11:55:31 -04:00
A Holt
c836694537
Merge pull request #3753 from holta/ansible-core-2.17.1
Recommend ansible-core 2.17.1
2024-06-17 14:54:01 -04:00
A Holt
da3a69a885
Recommend ansible-core 2.17.1 2024-06-17 14:48:43 -04:00
A Holt
db04024398
Merge pull request #3752 from holta/iiab-diagnostics_xklb_yt-dlp
Strengthen iiab-diagnostics for xklb & yt-dlp version number visibility
2024-06-15 08:57:42 -04:00
A Holt
2f83e7f266
iiab-diagnostics.README.md: Fix line number 2024-06-15 07:47:43 -04:00
A Holt
cc130d7e0f
iiab-diagnostics: xklb & yt-dlp version visibility 2024-06-15 07:45:54 -04:00
A Holt
7020423b6e
calibre-web/README.rst: Document xklb-metadata.db (for videos) 2024-06-14 09:14:23 -04:00
root
ddd09567e2 Kolibri on Python 3.12 OS's, during initial IIAB install 2024-06-13 14:32:15 -04:00
A Holt
27be239d9d
iiab-diagnostics: Tweak pastebinit syntax for PR #3749 2024-06-05 12:09:57 -04:00
A Holt
9b0ad93499
Merge pull request #3749 from holta/dpaste.com-fails-on-null-char
dpaste.com pastebin disallows null char — so make iiab-summary & iiab-diagnostics output safer (and force odd chars to be visible)
2024-06-05 09:35:00 -04:00
A Holt
14d605c643
iiab-diagnostics: Make all odd chars visible (pastebins can be picky!) 2024-06-05 09:24:29 -04:00
A Holt
b6ab7bf733
iiab-summary: Strip RPi model null char for dpaste.com 2024-06-05 09:18:32 -04:00
A Holt
7c44e2eb2f
Merge pull request #3748 from holta/dpaste.com-instead-of-sprunge.us
Let's try pastebin service dpaste.com (limited to 30 days, and ~1,000,000 characters unfortunately) — instead of problematic (flaky) sprunge.us
2024-06-04 10:24:14 -04:00
A Holt
17463eb810
iiab-diagnostics.README.md: sprunge.us -> dpaste.com 2024-06-04 10:21:20 -04:00
A Holt
ddca185401
iiab-diagnostics: try dpaste.com instead of sprunge.us 2024-06-04 10:20:02 -04:00
A Holt
9dc634f7de
calibre-web/tasks/install.yml: Refine venv tips 2024-05-31 00:27:54 -04:00
A Holt
1733512463
Merge pull request #3744 from holta/gitea-1.22
gitea/defaults/main.yml: gitea_version: "1.22"
2024-05-27 10:22:06 -04:00
A Holt
ed9c892946
gitea/defaults/main.yml: gitea_version: "1.22" 2024-05-27 10:19:50 -04:00
A Holt
ec4a884c4c
ansible-core 2.17 docs for PR #3743 2024-05-20 15:17:55 -04:00
A Holt
0cbfeec360
Merge pull request #3743 from holta/ansible-core-2.17.0
Recommend ansible-core 2.17.0
2024-05-20 15:13:13 -04:00
A Holt
6b80af6832
2.14 EOL, MIN_ANSIBLE_VER=2.15.12 2024-05-20 14:53:10 -04:00
A Holt
daafd61521
Recommend ansible-core 2.17.0 2024-05-20 14:51:21 -04:00
A Holt
a8ebf0c300
Merge pull request #3741 from holta/kolibri-block
Defer initial install of Kolibri on Ubuntu 24.04+ (for now!) awaiting Python 3.12 compatibility
2024-05-16 18:20:29 -04:00
A Holt
583fa9a898
Clarify Kolibri avoidance w/ Python 3.12+ during initial iiab-install 2024-05-16 18:19:42 -04:00
root
2788f10624 Safer avoidance of Kolibri, if Python 3.12+ (for now!) 2024-05-16 18:07:26 -04:00
root
9129644dff Avoid initial install of Kolibri on Ubuntu 24.04+ (for now!) 2024-05-16 17:24:27 -04:00
A Holt
485a619bfa
Merge pull request #3738 from holta/nodejs22
Transition to Node.js 22.x
2024-05-03 09:12:04 -04:00
root
d4c97f45b0 Node.js 22.x 2024-05-03 08:50:27 -04:00
A Holt
673fff90e2
Nextcloud 29: Update disk footprint sizes 2024-05-01 23:29:00 -04:00
A Holt
ff696899f3
CUPS: Update Ansible password hashing link (#3735) 2024-05-01 22:52:44 -04:00
A Holt
92a4d7543e
Merge pull request #3735 from holta/ansible217
'echo Admin:changeme | chpasswd' for CUPS w/ ansible-core 2.17+
2024-05-01 16:10:05 -04:00
root
ebb0e079af 'echo Admin:changeme | chpasswd' for CUPS w/ ansible-core 2.17+ 2024-05-01 15:52:06 -04:00
A Holt
d79822146e
Merge pull request #3734 from holta/ubuntu2410
Welcome Ubuntu 24.10 (Oracular Oriole) pre-releases
2024-05-01 10:45:01 -04:00
root
4ea8690dd3 Welcome Ubuntu 24.10 (Oracular Oriole) pre-releases 2024-05-01 10:31:09 -04:00
A Holt
4dcd8d8823
Merge pull request #3733 from holta/kalite-block
Bypass KA Lite install during initial install of IIAB, on recent OS's like Ubuntu 24.04+
2024-04-30 21:25:14 -04:00
root
a771260ce9 Bypass KA Lite install during initial install of IIAB, on recent OS's 2024-04-30 21:02:25 -04:00
A Holt
04cef50665
Merge pull request #3732 from holta/yt-dlp_paths
Safer /usr/local/bin/yt-dlp symlink creation
2024-04-30 18:44:04 -04:00
root
e6d5b6aa07 Safer /usr/local/bin/yt-dlp symlink creation 2024-04-30 18:22:34 -04:00
A Holt
b3668e42e9
Merge pull request #3730 from holta/moodle-4.4
New Moodle 4.4 instead of 4.3
2024-04-24 11:01:03 -04:00
A Holt
81be4dda9a
New Moodle 4.4 instead of 4.3 2024-04-24 10:34:32 -04:00
A Holt
61fa20ee64
Merge pull request #3729 from holta/ansible-core-2.16.6
Recommend ansible-core 2.16.6
2024-04-15 22:23:22 -04:00
A Holt
e279be79df
iiab-install: MIN_ANSIBLE_VER=2.14.16 2024-04-15 22:17:51 -04:00
A Holt
8079ca9a4b
Recommend ansible-core 2.16.6 2024-04-15 22:13:32 -04:00
A Holt
6f83c550de
Merge pull request #3728 from holta/sugarizer-1.8.0
New Sugarizer 1.8.0 (upgrade from 1.7.0)
2024-04-10 16:06:17 -04:00
A Holt
d6c4812343
Sugarizer 1.8.0 (upgrade from 1.7.0!) 2024-04-10 16:04:04 -04:00
A Holt
1018187e10
Merge pull request #3726 from holta/kolibri-via-apt
Restore apt install of Kolibri 0.16.1+, thx to upstream changes
2024-04-08 16:34:28 -04:00
A Holt
824469e280
kolibri/defaults/main.yml: Clarify apt for Kolibri 0.16.1+ 2024-04-08 11:54:59 -04:00
A Holt
812b549d33
Restore apt install of Kolibri 0.16.1+, thx to upstream changes 2024-04-08 11:48:53 -04:00
A Holt
20a48b3de0
Merge pull request #3725 from holta/mediawiki-1.41.1
MediaWiki 1.41.1 (security and maintenance release)
2024-03-28 19:08:38 -04:00
A Holt
837b4ccaff
MediaWiki 1.41.1 (security and maintenance release) 2024-03-28 19:07:51 -04:00
A Holt
fde199037a
Merge pull request #3723 from holta/ansible-core-2.16.5
Recommend ansible-core 2.16.5
2024-03-25 15:58:00 -04:00
A Holt
133cc0682b
iiab-install: Mandate MIN_ANSIBLE_VER=2.14.15 2024-03-25 15:49:14 -04:00
A Holt
9ce709e6e3
Recommend ansible-core 2.16.5 2024-03-25 15:47:52 -04:00
A Holt
2c6b565042
Merge pull request #3722 from holta/kolibri-force-0.16-for-now
Interim stub to force Kolibri 0.16.0 for now, awaiting upstream #11892
2024-03-17 13:35:04 -04:00
A Holt
ea47f27b9d
kolibri/defaults/main.yml: Clarify 0.16.0 install hack/stub 2024-03-17 13:31:28 -04:00
A Holt
b5e60c9875
Interim stub to force Kolibri 0.16.0 for now, awaiting upstream #11892 2024-03-17 13:24:08 -04:00
A Holt
4fb55f87c6
iiab-install: Mandate MIN_ANSIBLE_VER=2.14.14 2024-03-07 04:04:05 -05:00
A Holt
6860ede1ad
Merge pull request #3718 from holta/py2-better
Fix accidental running of install_python2.sh (also) being run on Ubuntu 24.04 (and introduce var is_linuxmint_22)
2024-03-07 03:50:29 -05:00
root
1070a3e729 install_python2_kalite-venv_u2404.sh: 'apt install python3-venv' (again) 2024-03-07 03:28:40 -05:00
root
a98d02248e kalite/tasks/install.yml: Cleaner OS conditions 2024-03-07 02:06:32 -05:00
root
f67660d30b Tighten kalite/tasks/install.yml; Introduce is_linuxmint_22 2024-03-07 00:53:46 -05:00
A Holt
92e70fc0bc
Merge pull request #3717 from holta/py2-tweaks
Tiny refinements for scripts/install_python2_kalite-venv_u2404.sh
2024-03-06 20:31:44 -05:00
root
f8fe9f0af9 Refine scripts/install_python2_kalite-venv_u2404.sh 2024-03-06 19:57:05 -05:00
A Holt
e990395fc6
Merge pull request #3715 from holta/py2
Touch-ups for: scripts/install_python2_kalite-venv_u2404.sh
2024-03-06 14:21:49 -05:00
root
73e94abe3f Touch-ups for: scripts/install_python2_kalite-venv_u2404.sh 2024-03-06 13:26:47 -05:00
Jerry Vonau
6819123fed no compilers 2024-03-05 21:06:59 -06:00
Jerry Vonau
f871683c2d conditionals 2024-03-05 05:02:18 -06:00
Jerry Vonau
66eb9862ee exec bit not set in git 2024-03-04 01:46:43 -06:00
Jerry Vonau
a737c8c05a leave python2 packages 2024-03-04 01:41:57 -06:00
Jerry Vonau
5fc4952595 U2404 python2 role 2024-03-04 01:28:11 -06:00
Jerry Vonau
3ae591a035 U2404 python2 2024-03-04 00:55:09 -06:00
Jerry Vonau
918758fbe9 U2404 python2 2024-03-04 00:52:48 -06:00
A Holt
92fd9a47ae
Merge pull request #3713 from holta/ansible-core-2.16.4
Recommend ansible-core 2.16.4
2024-02-26 16:58:33 -05:00
A Holt
c3e7b4c104
Recommend ansible-core 2.16.4 2024-02-26 16:53:58 -05:00
A Holt
7a6ca96738
runrole: Clarify/correct local_vars.yml warning 2024-02-26 09:36:24 -05:00
A Holt
dabd4ad7fe
Merge pull request #3712 from holta/pbx-doc-clean
Update FreePBX 17 BETA install tips
2024-02-25 20:15:13 -05:00
A Holt
ddfc2b003a
local_vars_large.yml: Update PBX tips 2024-02-25 20:13:27 -05:00
A Holt
5320b4e891
local_vars_medium.yml: Update PBX tips 2024-02-25 20:12:43 -05:00
A Holt
586364bd89
local_vars_small.yml: Update PBX tips 2024-02-25 20:12:04 -05:00
A Holt
731829f199
local_vars_unittest.yml: Update PBX tips 2024-02-25 20:11:25 -05:00
A Holt
7991d48614
default_vars.yml: Update PBX tips 2024-02-25 20:10:47 -05:00
A Holt
e6bf0ef177
pbx/README.adoc: Link to PR #3675 (Asterisk 21 & FreePBX 17) 2024-02-25 18:05:49 -05:00
A Holt
b5f3f44e96
pbx/README.adoc: Require PHP 8.x (desupport EOL'd PHP 7.4!) 2024-02-25 18:03:58 -05:00
A Holt
81aca5f603
Merge pull request #3675 from holta/asterisk21+freepbx17
pbx/defaults/main.yml: Try Asterisk 21 and FreePBX 17 again in Q1/Q2 2024? [GOOD NEWS: FreePBX 17 BETA now tolerates Asterisk 21!]
2024-02-25 17:36:40 -05:00
A Holt
65d6f9255e
WARNING: FreePBX 17.0 branch is still in flux! 2024-02-25 17:26:27 -05:00
A Holt
98d5122404
18+1 FreePBX modules appear unchanged since May 2022 2024-02-25 17:23:31 -05:00
A Holt
7c24fcc695
freepbx.yml: Consistent uppercase, documenting 2 hack/workarounds 2024-02-25 16:21:20 -05:00
A Holt
efc9705b1a
2 ugly hacks for FreePBX 17: ignore 'install -n' error code & bypass 'fwconsole reload' 2024-02-25 16:19:27 -05:00
A Holt
3455b6b848
kolibri/tasks/main.yml: New pre-release option (kolibri-deb-next) 2024-02-20 16:48:30 -05:00
A Holt
7e88735445
Merge pull request #3708 from holta/wifi-driver-removal
1-prep/tasks/hardware.yml: Comment out "NUC6" WiFi driver
2024-02-09 08:58:40 -05:00
A Holt
a852541ad4
1-prep/tasks/hardware.yml: Comment out "NUC6" WiFi driver 2024-02-09 08:48:23 -05:00
A Holt
7d73fca112
Merge pull request #3703 from holta/ansible-core-2.16.3
Recommend ansible-core 2.16.3
2024-01-29 15:59:59 -05:00
A Holt
6776c1d4a5
Recommend ansible-core 2.16.3 2024-01-29 15:57:24 -05:00
Tim Moody
4ebcf6a248
Merge pull request #3702 from tim-moody/8.1.1-none
another auto install of a pet project
2024-01-21 10:50:03 -05:00
tim-moody
961acf9454 another auto install of a pet project 2024-01-21 10:46:33 -05:00
A Holt
ebb8368548
Merge pull request #3701 from holta/iiab-diagnostics_sudo_for_cweb_version
iiab-diagnostics: sudo git log for Calibre-Web version
2024-01-20 14:58:12 -05:00
A Holt
bd340aa673
iiab-diagnostics: sudo git log for Calibre-Web version 2024-01-20 14:53:24 -05:00
A Holt
f23aa77af1
Merge pull request #3700 from holta/iiab-diagnostics_cat_-v
iiab-diagnostics: Pipe everything thru 'cat -v' so ASCII control chararcters become visible
2024-01-20 13:50:33 -05:00
root
2ed820777d iiab-diagnostics: Pipe everything thru 'cat -v' so control chars visible 2024-01-20 13:45:17 -05:00
A Holt
54badceae4
Merge pull request #3699 from holta/app.db-new-defaults
Update (almost 10!) Calibre-Web app.db defaults
2024-01-18 22:51:08 -05:00
root
595de4e7f2 Update (almost 10!) Calibre-Web app.db defaults 2024-01-18 22:35:58 -05:00
A Holt
26ddda9b7e
Merge pull request #3698 from holta/iiab-diagnostics_xklb.log
iiab-diagnostics: 300 last lines of /var/log/xklb.log for now
2024-01-15 00:04:22 -05:00
A Holt
524709f31a
iiab-diagnostics: 300 last lines of xklb.log for now 2024-01-14 23:55:38 -05:00
A Holt
4ae5991cb3
pbx/README.adoc: WARN re: PHP 7 danger & unsupported/old OS's 2024-01-13 12:36:02 -05:00
A Holt
5a44399300
Update pbx/README.adoc w/ latest FreePBX 17 BETA tips / warning 2024-01-13 12:23:57 -05:00
A Holt
d932684a11
iiab-diagnostics.README.md: Fix line number for PR #3697 2024-01-11 18:12:15 -05:00
A Holt
0f6231ab38
Merge pull request #3697 from holta/iiab-diagnostics_cweb_commits
iiab-diagnostics: Show Calibre-Web "version" (~50 recent commits) + systemd service status + 3 "log files"
2024-01-11 14:50:57 -05:00
A Holt
bed26162cf
iiab-diagnostics: Also include 'systemctl status calibre-web' 2024-01-11 14:37:00 -05:00
A Holt
fea5f9ccba
iiab-diagnostics: Add 3 more "log files" for Calibre-Web 2024-01-11 14:31:32 -05:00
A Holt
1c43253062
iiab-diagnostics: Show Calibre-Web "version" i.e. ~50 recent commits 2024-01-11 14:20:40 -05:00
A Holt
9570f8d117
calibre-web/tasks/install.yml: Clarify wiki for PR #3696 2024-01-10 23:38:21 -05:00
A Holt
b6975d0c8b
Merge pull request #3696 from holta/lb-wrapper.greedy_gone
calibre-web/tasks/install.yml: lb-wrapper.greedy gone!
2024-01-10 23:31:28 -05:00
A Holt
cc9d791f6c
calibre-web/tasks/install.yml: Link to wiki explanation 2024-01-10 23:30:05 -05:00
A Holt
40c2c71f52
calibre-web/tasks/install.yml: lb-wrapper.greedy gone! 2024-01-10 23:23:15 -05:00
A Holt
42d580ef65
Merge pull request #3695 from holta/calibre-web_on_SMALL-sized
Install/enable Calibre-Web by default, e.g. with SMALL-sized IIAB installs too
2024-01-01 13:12:49 -05:00
A Holt
0cbbd09db8
local_vars_small.yml: Install/enable Calibre-Web 2024-01-01 13:09:56 -05:00
A Holt
71220324f3
default_vars.yml: Install/enable Calibre-Web 2024-01-01 13:09:15 -05:00
A Holt
64e6d6cd04
Merge pull request #3694 from holta/calibre-web_with_videos
Calibre-Web (eBook Library) w/ experimental support for video/audio/images
2024-01-01 00:06:35 -05:00
A Holt
7887e4f8cb
Touch up calibre-web/README.rst 2023-12-31 23:57:58 -05:00
root
ebf35d9680 Calibre-Web w/ experimental support for video/audio/images 2023-12-31 23:45:25 -05:00
A Holt
cbae5b71ea
Merge pull request #3693 from holta/launch-8.2-cycle
default_vars.yml: Launch 8.2 Release Cycle
2023-12-31 22:58:03 -05:00
A Holt
aba3cde8e4
default_vars.yml: Launch 8.2 release cycle 2023-12-31 22:56:48 -05:00
A Holt
fcb1797413
LICENSING.md: Update date 2023-12-31 21:39:27 -05:00
A Holt
0b53b95921
matomo/tasks/install.yml: "Download and Extract (~3 min)" 2023-12-31 21:19:22 -05:00
A Holt
34489a03c7
Merge pull request #3692 from holta/deb11-u22-vars-toughen
kalite/tasks/install.yml: Tough aging vars is_debian_11, is_ubuntu_2204
2023-12-31 21:04:53 -05:00
root
3dd3d868ad kalite/tasks/install.yml: Tough aging vars is_debian_11, is_ubuntu_2204 2023-12-31 21:00:11 -05:00
A Holt
fb4b5868ce
Merge pull request #3691 from holta/desupport-deb11-and-u2304
Officially Desupport Bullseye (Debian 11, RasPiOS 11) & Ubuntu 23.04
2023-12-31 20:28:31 -05:00
root
ff3b23376b Desupport Bullseye (Debian 11, RasPiOS 11) & Ubuntu 23.04 2023-12-31 20:23:44 -05:00
A Holt
fa0b777680
Merge pull request #3690 from holta/transmission-from-os
Change default to `transmission_compile_latest: False`
2023-12-31 19:41:14 -05:00
root
16d21c9d2d Change default to 'transmission_compile_latest: False' 2023-12-31 19:29:24 -05:00
A Holt
a06ec8c88e
transmission/README.rst: Transmission 4.x Preview (Optional) 2023-12-31 19:25:04 -05:00
A Holt
a5f3d318c4
Merge pull request #3689 from holta/yt-dlp_pipx_path_fix
calibre-web/tasks/install.yml: Fix yt-dlp pipx path
2023-12-30 19:07:41 -05:00
A Holt
624827ea15
calibre-web/tasks/install.yml: Fix yt-dlp pipx path 2023-12-30 19:05:09 -05:00
A Holt
7b7e17491f
transmission/README.rst: Clarify we compile 4.0.5+ 2023-12-27 07:47:36 -05:00
A Holt
1b44563777
calibre-web/tasks/install.yml: Disk footprints for /usr/local/calibre-web-py3 2023-12-24 09:05:30 -05:00
A Holt
4ed99abf6e
calibre-web/README.rst: Grammar fix 2023-12-22 17:27:42 -05:00
A Holt
a120f79ed5
calibre-web/README.rst: Link to new IIAB's DIY Video Library 2023-12-22 15:29:49 -05:00
A Holt
4c8baa3b17
calibre-web/README.rst 2023-12-22 15:25:44 -05:00
A Holt
edc08173b3
iiab-admin/tasks/pwd-warnings.yml: Clarify ~/.config/wayfire.ini 2023-12-22 10:01:33 -05:00
A Holt
efc3b2fa87
nextcloud/tasks/install.yml: Typo in CLI upgrade tips 2023-12-22 09:49:58 -05:00
A Holt
f8748e12fb
pbx/README.adoc: Sadly PHP 7.4 still required 2023-12-22 08:40:02 -05:00
A Holt
2261c6c9f0
nextcloud/tasks/install.yml: Clarify need for manual upgrade 2023-12-22 05:17:45 -05:00
A Holt
93d2621dc4
Merge pull request #3688 from holta/mediawiki-1.41.0
New MediaWiki version 1.41.0 (new functionality AND security release)
2023-12-21 14:14:50 -05:00
A Holt
d4846589ea
mediawiki/defaults/main.yml: New version 1.41.0 2023-12-21 13:55:43 -05:00
A Holt
aceb236162
Merge pull request #3148 from holta/allow-large-uploads
Remove 500M restriction on file uploads. Use 10G instead. [affects NGINX, PHP, Calibre-Web, Moodle, Nextcloud, WordPress, PBX, ETC]
2023-12-21 12:16:28 -05:00
A Holt
a7ed9f7dcd
www_options/tasks/php-settings.yml: Set 2 vars to 10000M when nginx_high_php_limits or moodle_install or nextcloud_install 2023-12-21 11:28:38 -05:00
A Holt
dcfd65fee4
Merge branch 'master' into allow-large-uploads 2023-12-21 11:19:02 -05:00
A Holt
d46d5d12d7
moodle/tasks/install.yml: Clarify CLI-based Moodle upgrade tips 2023-12-20 10:31:13 -05:00
A Holt
120a5701b9
1-prep/templates/iiab-expand-rootfs: Clarify partition shrinking/expanding 2023-12-19 13:22:22 -05:00
A Holt
b5d3a7658a
moodle/tasks/install.yml: Clarify 'git pull' options for CLI upgrade 2023-12-17 15:11:01 -05:00
A Holt
f8155c23af
moodle/tasks/install.yml: Refine Moodle CLI upgrade tips 2023-12-17 13:45:55 -05:00
A Holt
b0f1cccd37
moodle/tasks/install.yml: Fix CLI upgrade example 2023-12-17 12:56:54 -05:00
A Holt
a7b58da079
moodle/tasks/install.yml: Concrete CLI upgrade example 2023-12-17 12:40:23 -05:00
A Holt
1a8fd72df6
moodle/tasks/install.yml: Link to CLI upgrade instructions 2023-12-17 12:33:35 -05:00
A Holt
017e55a70a
moodle/tasks/install.yml: Update URL for cron doc 2023-12-17 12:29:53 -05:00
A Holt
73f0fa6ff8
Update iiab-netwarn explanation for PR #3685 2023-12-17 07:16:59 -05:00
A Holt
16ef96f0f5
nextcloud/tasks/install.yml: Clarify 655MB /library/www/nextcloud 2023-12-17 00:42:18 -05:00
A Holt
bb283299f2
Merge pull request #3685 from holta/wayfire.ini
Use Wayland compositor's ~/.config/wayfire.ini to show pop-ups & browser on boot (for Raspberry Pi OS Bookworm)
2023-12-17 00:23:19 -05:00
root
c90c85acaf Use Wayland compositor's ~/.config/wayfire.ini to show pop-ups & browser on boot 2023-12-17 00:19:05 -05:00
A Holt
d70b365335
transmission/tasks/install.yml: Warn about 60+ min compile 2023-12-16 15:31:10 -05:00
A Holt
c4738b007e
nextcloud/tasks/install.yml: Clarify install & upgrade realities 2023-12-16 00:29:08 -05:00
A Holt
a4f9cba1bb
nextcloud/tasks/install.yml: Mention Nextcloud 28.0.0 size/space 2023-12-15 16:58:17 -05:00
A Holt
24905b7c34
Merge pull request #3683 from holta/ansible-core-2.16.2
Recommend ansible-core 2.16.2
2023-12-11 16:31:01 -05:00
A Holt
9bcbee3202
iiab-install: Mandate MIN_ANSIBLE_VER=2.14.13 2023-12-11 16:02:51 -05:00
A Holt
1972f4763c
Recommend ansible-core 2.16.2 2023-12-11 16:01:11 -05:00
A Holt
3b9d2d2e36
Merge pull request #3681 from holta/lb-wrapper.greedy
Install /usr/local/bin/lb-wrapper.greedy for Calibre-Web OOM (out of memory) testing
2023-12-09 23:24:15 -05:00
A Holt
c2a1ad2e46
Install /usr/local/bin/lb-wrapper.greedy for Calibre-Web testing 2023-12-09 22:59:18 -05:00
A Holt
1488c5a308
Merge pull request #3680 from holta/cweb-rm-nginx-symlink
enable-or-disable.yml: Don't create symlink /library/www/html/calibre-web -> /library/calibre-web (NGINX can go directly if/as nec!)
2023-12-05 17:21:26 -05:00
A Holt
a6bafe833a
enable-or-disable.yml: Avoid NGINX symlink /library/www/html/calibre-web 2023-12-05 16:51:13 -05:00
A Holt
95866394ea
Merge pull request #3679 from holta/ansible-core-2.16.1
Recommend ansible-core 2.16.1
2023-12-04 18:32:06 -05:00
root
9f00b7b41b validate_vars.yml: ansible-core 2.16.1 req 'loop' not 'with_items' w/ 'assert' templating 2023-12-04 18:06:17 -05:00
A Holt
af9597d5b2
iiab-install: Set MIN_ANSIBLE_VER=2.14.12 (2.13 EOL on 2023-11-06) 2023-12-04 17:11:07 -05:00
A Holt
a546c5132a
Recommend ansible-core 2.16.1 2023-12-04 16:54:05 -05:00
A Holt
e71f013ea1
Merge pull request #3678 from holta/calibreweb-venv-wipe
Introduce var 'calibreweb_venv_wipe: False' for TDD (test-driven development) of Calibre-Web
2023-12-04 15:31:25 -05:00
A Holt
47da9a9cba
calibre-web/defaults/main.yml: Fix typo "2023-12-04" 2023-12-04 15:28:58 -05:00
A Holt
5feecc022e
calibre-web/tasks/install.yml: Auto-upgrade xklb & yt-dlp for TDD 2023-12-04 15:06:18 -05:00
A Holt
da785cb8c4
New default 'calibreweb_venv_wipe: False' for TDD! 2023-12-04 14:24:45 -05:00
A Holt
02471e9402
calibre-web/tasks/install.yml: Enact calibreweb_venv_wipe & clone as nec 2023-12-04 14:21:30 -05:00
A Holt
e705ad6cd4
calibre-web/defaults/main.yml: Set 'calibreweb_venv_wipe: True' 2023-12-04 13:25:48 -05:00
A Holt
c00777f7fd
Merge pull request #3677 from holta/cweb-install-better
calibre-web/tasks/install.yml: Better xklb & yt-dlp symlinks
2023-11-30 05:44:25 -05:00
A Holt
4714b06d11
calibre-web/tasks/install.yml: Better xklb & yt-dlp symlinks 2023-11-29 21:27:41 -05:00
A Holt
c008f4affb
Merge pull request #3676 from holta/calibre-web_install
Calibre-Web prereqs for audio/video + set app.db logging to /var/log/calibre-web.log w/ log level "DEBUG"
2023-11-29 17:06:38 -05:00
root
13467a8b92 Calibre-Web prereqs for audio/video + set app.db log to /var/log/calibre-web.log 2023-11-29 16:44:29 -05:00
A Holt
a3c7955b1b
remoteit/README.md: Link to their pricing 2023-11-26 15:01:07 -05:00
A Holt
7b1b6eca72
README.rst: Transmission 4.1 ETA early 2024 2023-11-23 14:52:17 -05:00
A Holt
f2fd0fda9a
pbx/defaults/main.yml: Try Asterisk 21 and FreePBX 17 2023-11-20 02:33:15 -05:00
A Holt
c771689c3d
Merge pull request #3674 from holta/asterisk-21
Set `asterisk_rpi_patch: False` & mandate MySQL / MariaDB [as we wait for FreePBX 17 pre-releases to support Asterisk 21, which was released 2023-10-18]
2023-11-20 02:30:55 -05:00
A Holt
c82709eaba
README.adoc: Comment out PR #3523 & var asterisk_rpi_patch 2023-11-20 02:24:28 -05:00
A Holt
e9655ad798
Revert to 'asterisk_src_file: asterisk-20-current.tar.gz' for now 2023-11-20 01:57:32 -05:00
A Holt
022569fc61
Revert to 'freepbx_git_branch: release/16.0' for now 2023-11-20 01:29:16 -05:00
A Holt
de1f5ed44a
3-base-server/README.rst: Clarify PBX needs MySQL 2023-11-19 17:47:30 -05:00
A Holt
3d6450a188
pbx/tasks/asterisk.yml: Clarify 7 (not 6) 2023-11-19 17:42:53 -05:00
A Holt
f2851ad9c4
3-base-server: Clarify PBX need for MySQL 2023-11-19 17:28:27 -05:00
A Holt
cf69b6438d
default_vars.yml: Clarify PBX need for MySQL 2023-11-19 17:26:34 -05:00
A Holt
93b381804e
pbx/tasks/install.yml: Install MySQL / MariaDB 2023-11-19 17:20:23 -05:00
A Holt
356c2bd171
asterisk.yml w/o 'menuselect --enable app_macro' 2023-11-19 17:05:03 -05:00
A Holt
20e42b3722
local_vars_large.yml: 'asterisk_rpi_patch: False' 2023-11-19 16:40:51 -05:00
A Holt
4ca14a75fc
local_vars_medium.yml: 'asterisk_rpi_patch: False' 2023-11-19 16:40:05 -05:00
A Holt
01bec789fb
local_vars_small.yml: 'asterisk_rpi_patch: False' 2023-11-19 16:39:22 -05:00
A Holt
409dace2e7
local_vars_unittest.yml: 'asterisk_rpi_patch: False' 2023-11-19 16:38:25 -05:00
A Holt
5e127a7cd7
default_vars.yml: 'asterisk_rpi_patch: False' safer 2023-11-19 16:00:36 -05:00
A Holt
c968abc772
pbx/default/main.yml: Try Asterisk 21 and FreePBX 17 2023-11-19 15:56:45 -05:00
A Holt
acf125f46d
gitea/tasks/install.yml: Doc ~134MB /library/gitea for #3671 2023-11-14 11:43:32 -05:00
A Holt
0304f6bd8c
Merge pull request #3671 from holta/gitea-1.21
Gitea 1.21 released
2023-11-14 10:35:22 -05:00
A Holt
5b7297999b
gitea/tasks/install.yml: Mention Gitea 1.21 2023-11-14 10:12:49 -05:00
A Holt
afbddd16c4
gitea/defaults/main.yml: gitea_version: "1.21" 2023-11-14 10:07:38 -05:00
A Holt
579cfac36e
Merge pull request #3670 from holta/nextcloud-nginx-patch
Patch NGINX conf file for Nextcloud 27.1.2+ — and deprecate support for EOL Nextcloud 25 on older OS's — whose PHP 7 was (also!) EOL'd a year ago
2023-11-06 13:57:12 -05:00
A Holt
128088ea90
Desupport EOL'd Nextcloud 25, a year after its PHP 7 was (also!) EOL'd 2023-11-06 13:52:07 -05:00
A Holt
ba9fa67aaa
nextcloud-nginx.conf.j2: Patch both 'oc[ms]-provider' to 'ocs-provider' 2023-11-06 13:47:34 -05:00
A Holt
1454cf7f42
Merge pull request #3666 from holta/ansible-core-2.16.0
Recommend ansible-core 2.16.0, Deprecate EOL'd 2.13.x (both ETA 2023-11-06)
2023-11-06 13:12:30 -05:00
A Holt
78d48b684c
Merge pull request #3668 from holta/mysql-on-demand
roles/nextcloud: Install prereq MySQL / MariaDB (that I missed yesterday!)
2023-11-06 12:48:41 -05:00
A Holt
8d97dd9add
nextcloud/tasks/install.yml: Disk space estimates for /library/www/nextcloud 2023-11-06 12:47:44 -05:00
root
9f3ca844ff roles/nextcloud: Install prereq MySQL / MariaDB 2023-11-06 12:12:51 -05:00
A Holt
11257daf2a
iiab-install: Set MIN_ANSIBLE_VER=2.14.11 (2.13 EOL on 2023-11-06) 2023-11-05 16:56:30 -05:00
A Holt
a10384c9f1
scripts/ansible: Recommend ansible-core 2.16.0 ETA 2023-11-06 2023-11-05 16:54:48 -05:00
A Holt
6edd2f4bdd
Merge pull request #3665 from holta/mysql-on-demand
Install MySQL/MariaDB on-demand--for MediaWiki, WordPress, Matomo &/or Admin Console
2023-11-05 14:58:46 -05:00
root
aabfd5de9b Move Munin install: 8-mgmt-tools -> 9-local-addons 2023-11-05 13:25:52 -05:00
A Holt
27cc66b87e
0-init/tasks/validate_vars.yml: Cleaner ordering of mysql within 45 2023-11-05 12:58:05 -05:00
A Holt
58d9923284
roles/3-base-server/README.rst: Explain MySQL / MariaDB change 2023-11-05 12:53:46 -05:00
root
402ce97d1d Install MySQL/MariaDB on-demand--for MediaWiki, WordPress, Matomo &/or Admin Console 2023-11-05 12:14:46 -05:00
A Holt
8def5c98cf
Doc: pipx option to install pkg globally for multi-user access 2023-11-05 09:44:12 -05:00
A Holt
a97afd1268
Merge pull request #3664 from holta/calibre-web_full_clone
calibre-web/tasks/install.yml: Full clone for now (to help wider community testing)
2023-11-04 08:43:22 -04:00
A Holt
699adb9c5a
calibre-web/tasks/install.yml: Full clone for now (community testing) 2023-11-04 08:24:39 -04:00
A Holt
53a74c77a7
calibre-web/README.rst: Link to Calibre-Web wiki (deps) 2023-11-02 11:37:16 -04:00
A Holt
6d5c211f92
calibre-web/README.rst: Clean http://box/live/stats explanation 2023-11-02 11:34:33 -04:00
A Holt
19cd6be03d
calibre-web/README.rst: http://box/live/stats lists Python deps / versions 2023-11-02 11:31:12 -04:00
A Holt
0c09a2d46d
Rename ubuntu-2210.yml to ubuntu-2210.yml.unused 2023-10-27 19:31:14 -04:00
A Holt
914b2db304
Merge pull request #3663 from holta/u2404-vars
Support Ubuntu 24.04 pre-releases
2023-10-27 14:33:25 -04:00
root
70a139b643 Support Ubuntu 24.04 pre-releases 2023-10-27 14:31:21 -04:00
A Holt
820ad42239
calibre-web/README.rst: Remove useless "details above" 2023-10-16 09:29:14 -04:00
A Holt
5f603769da
Merge pull request #3660 from holta/systemd-resolved_raspios
sysd-netd-debian.yml: Install apt package 'systemd-resolved' if OS offers it (RasPiOS Bookworm issue)
2023-10-14 17:12:16 -04:00
root
bbef784d80 sysd-netd-debian.yml: Clean comment spacing 2023-10-14 15:45:51 -04:00
root
6f397c63a9 sysd-netd-debian.yml: Install systemd-resolved (if available) 2023-10-14 15:32:50 -04:00
Jerry Vonau
cdd88d20c5
Update sysd-netd-debian.yml
'systemd'
2023-10-11 21:19:02 -05:00
Jerry Vonau
7055165f77
Update sysd-netd-debian.yml 2023-10-11 21:13:07 -05:00
Jerry Vonau
b81d3365de
Update sysd-netd-debian.yml 2023-10-11 20:58:28 -05:00
Jerry Vonau
4c8ca30769
Update sysd-netd-debian.yml 2023-10-11 20:57:55 -05:00
Jerry Vonau
cf47363316
Update sysd-netd-debian.yml
rework for RasPiOS
2023-10-11 20:46:45 -05:00
Jerry Vonau
e1ccb6c328
Update install.yml
moving
2023-10-11 20:39:38 -05:00
A Holt
60763fab8e
scripts/ansible links: RasPiOS Bookworm doc for Python with venv 2023-10-11 15:15:33 -04:00
A Holt
de83ed694f
Links: RasPiOS Bookworm doc for Python with venv 2023-10-11 15:13:28 -04:00
A Holt
d514e648db
Merge pull request #3656 from holta/moodle-4.3
Push Moodle 4.3 (released 2023-10-09) for wider testing, and Moodle 4.4dev if PHP >= 8.3 (e.g. new OS's)
2023-10-11 12:05:36 -04:00
A Holt
1016a49edd
moodle/tasks/install.yml: Note new Moodle 4.3 disk footprint(s) 2023-10-11 11:58:29 -04:00
A Holt
ca34259402
For now, install Moodle 4.4dev if PHP >= 8.3 2023-10-11 11:35:34 -04:00
A Holt
f3d30d6187
moodle_version: MOODLE_403_STABLE (Moodle 4.3) 2023-10-11 11:32:35 -04:00
A Holt
eea8b086ee
iiab-install: Set MIN_ANSIBLE_VER=2.13.13 w/ #3654 2023-10-09 12:12:14 -04:00
A Holt
2b2808bc82
Merge pull request #3654 from holta/ansible-core-2.15.5
Recommend ansible-core 2.15.5
2023-10-09 12:09:54 -04:00
A Holt
2e919694cf
Recommend ansible-core 2.15.5 2023-10-09 12:07:12 -04:00
A Holt
03d49be4a0
iiab-expand-rootfs DOC: raspi-config nonint do_expand_rootfs 2023-10-05 16:52:23 -04:00
A Holt
667c07048b
moodle/install.yml CLARIF: Reverting to 4.1 LTS is not guaranteed 2023-10-05 14:43:30 -04:00
A Holt
3ef3a4cfa1
nextcloud/README.md: Clarify automatic 'nginx_high_php_limits: True' 2023-10-03 08:47:20 -04:00
A Holt
332c968c52
nextcloud/README.md: Clarify PHP/RAM/disk warning 2023-10-02 19:28:07 -04:00
A Holt
beb34f8eee
nextcloud/README.md: Quick cleanup & update 2023-10-02 19:01:34 -04:00
A Holt
aad284b3c6
transmission/README.rst: Link to Debian 12 docs 2023-10-02 15:27:45 -04:00
A Holt
7905e30f22
transmission/README.rst: "2023 Caution" grammar touch-ups 2023-10-01 22:50:08 -04:00
A Holt
6723569109
transmission/README.rst: "2023 Caution" re: slow compile 2023-10-01 22:00:37 -04:00
A Holt
5421983766
transmission/README.rst: Clarify 4.0.4+ compile slowness & 4.1 soon? 2023-10-01 21:40:55 -04:00
A Holt
6b5b8068ee
Merge pull request #3653 from holta/32-bit-fixes
32-bit fixes (Calibre-Web, JuperterHub, Moodle) + defer iiab-install of Internet Archive if 32-bit
2023-10-01 19:13:36 -04:00
root
3b70f38544 32-bit fixes (CWeb, JHub, Moodle) + defer IArchive 2023-10-01 18:34:19 -04:00
A Holt
df35cd73fd
Merge pull request #3652 from holta/pip_install_--prefer-binary
scripts/ansible: 'pip install --prefer-binary ansible-core' is simpler/faster & more future-proof
2023-10-01 14:04:51 -04:00
A Holt
d55e61c32b
scripts/ansible: Clean up explanation of --prefer-binary 2023-10-01 13:55:33 -04:00
A Holt
6c9e684841
scripts/ansible: pip install --prefer-binary ansible-core 2023-10-01 13:46:03 -04:00
A Holt
8f12c34b1c
munin/tasks/install.yml: Fix Ansible quotes around #3434 2023-09-30 21:31:33 -04:00
A Holt
3ba6364c86
Merge pull request #3651 from holta/cryptography-41.0.3-on-32bit
scripts/ansible: Install cryptography==41.0.3 if dpkg 32-bit arch armhf (interim patch til https://piwheels.org/simple offers better 'cp39' coverage?)
2023-09-30 20:33:46 -04:00
A Holt
efdf693621
scripts/ansible: Also 'apt install libffi-dev python3-dev' on armhf 2023-09-30 20:32:32 -04:00
A Holt
488e2fbe0d
scripts/ansible: Install cryptography==41.0.3 if dpkg arch armhf 2023-09-30 19:49:04 -04:00
A Holt
b1758dcc8b
Merge pull request #3649 from holta/mediawiki-1.40.1
mediawiki/defaults/main.yml: Security release 1.40.1 ETA 2023-09-28
2023-09-28 20:07:44 -04:00
A Holt
ca19c18b80
mediawiki/defaults/main.yml: Security release 1.40.1 ETA 2023-09-28 2023-09-27 11:20:04 -04:00
A Holt
2b6244e5d8
Merge pull request #3648 from holta/stronger-pin-of-virtualenv
Strengthen pin of python3-virtualenv 20.13 in install_python2.sh for KA Lite: 'apt-mark hold python3-virtualenv'
2023-09-26 13:13:01 -04:00
A Holt
a8772498cb
install_python2.sh: apt-mark hold python3-virtualenv 2023-09-26 13:02:00 -04:00
A Holt
98349b1e6b
Merge pull request #3647 from holta/lshw_for_iiab-diagnostics
'lshw -C network' summary of network hardware/interfaces for iiab-diagnostics
2023-09-18 10:17:44 -04:00
A Holt
470b64bc5a
Update iiab-diagnostics.README.md 2023-09-18 10:04:04 -04:00
A Holt
91fcc6ff07
Update iiab-diagnostics.README.md 2023-09-18 10:02:45 -04:00
A Holt
97f1038ab7
scripts/iiab-diagnostics: 'lshw -C network' 2023-09-18 10:00:33 -04:00
A Holt
4a700cc351
2-common/tasks/packages.yml: 'apt install lshw' 2023-09-18 09:51:50 -04:00
A Holt
6333c707b8
README.md: Refine quotation marks 2023-09-16 18:42:29 -04:00
A Holt
0e30549e43
Nextcloud 27.1.0 download & /library/www/nextcloud sizes 2023-09-16 12:34:13 -04:00
A Holt
2804bf186b
Merge pull request #3643 from holta/ansible-core-2.15.4
Recommend ansible-core 2.15.4
2023-09-11 18:29:38 -04:00
A Holt
b184897d1e
iiab-install: Set MIN_ANSIBLE_VER=2.13.12 2023-09-11 18:26:26 -04:00
A Holt
28cfb9cf47
Recommend ansible-core 2.15.4 2023-09-11 18:25:08 -04:00
A Holt
9d4ae8966b
jupyterhub/README.md: Steer implementers away from 32-bit OS's! 2023-09-11 09:39:17 -04:00
A Holt
821f1448b1
CLARIF: apt-not-pip on 32-bit i386 for ansible-core 2023-09-11 01:51:40 -04:00
A Holt
26211999e2
Merge pull request #3638 from holta/python2-on-armhf-raspios12
install_python2.sh: ports.ubuntu.com apt sources for "32-bit" RasPiOS 12 — regardless whether booting 32-bit or 64-bit "armhf" kernels
2023-09-11 01:20:32 -04:00
A Holt
c85c292a5e
install_python2.sh: ports.ubuntu.com apt sources for "32-bit" RasPiOS 12 2023-09-11 00:54:05 -04:00
A Holt
8d1736d116
Merge pull request #3632 from holta/cryptography-experiment
scripts/ansible: Evaluate upstream piwheels / cryptography fix on 32-bit "RasPiOS 12" Lite [create /etc/pip.conf as nec, for now]
2023-09-10 22:50:20 -04:00
A Holt
1986126701
apt instead of pip IFF "i386" AND ansible-core apt installable 2023-09-10 21:44:12 -04:00
A Holt
7191d52a5d
Revert #3634 and #3637 trying /etc/pip.conf w/ cryptography 41.0.3 2023-09-10 21:32:13 -04:00
A Holt
05372f8508
scripts/ansible: Interim /etc/pip.conf for "32-bit" RasPiOS 12 2023-09-10 21:03:27 -04:00
A Holt
48bfe83c3d
Merge branch 'iiab:master' into cryptography-experiment 2023-09-10 19:57:11 -04:00
A Holt
ee20455bd7
scripts/ansible: Clarify PR #3637 test for apt pkg ansible-core 2023-09-10 09:20:54 -04:00
A Holt
1b68242409
Merge pull request #3637 from holta/apt_install_ansible-core_tighter
"32-bit" OS's more resilient: Verify that apt package 'ansible-core' is in fact available (equivalent to testing for Debian 12+ but safer!)
2023-09-10 09:17:24 -04:00
A Holt
42e3485023
Verify apt package 'ansible-core' is truly available on "32-bit" 2023-09-10 09:07:32 -04:00
A Holt
f527807bb8
scripts/ansible: Document 'pipx install ansible-core' 2023-09-08 18:56:55 -04:00
A Holt
eb09a04bd9
scripts/ansible: Mention "+packages" PPA URL 2023-09-08 17:10:23 -04:00
A Holt
14f2f8be69
scripts/ansible: Comment out stale tips RE: ansible-base & /etc/apt 2023-09-08 17:03:10 -04:00
A Holt
8821ea4d3a
Merge pull request #3634 from holta/apt_install_ansible-core_on_32-bit
scripts/ansible: Evaluate 'apt install ansible-core' on "32-bit" RasPiOS 12 Bookworm
2023-09-08 16:15:38 -04:00
A Holt
f363494625
Force 'apt install ansible-core' on "32-bit" IFF "Debian 12+" 2023-09-08 16:05:09 -04:00
A Holt
2326d3a762
Merge pull request #3636 from holta/iiab-summary_uname_-a
iiab-summary output was incomplete: (1) use 'uname -n' to show hostname (2) use 'uname -m' to show kernel arch for RasPiOS
2023-09-08 12:48:40 -04:00
A Holt
9c7c689a55
iiab-summary: 'uname -n' hostname + 'uname -m' kernel arch for RasPiOS 2023-09-08 12:43:30 -04:00
A Holt
b38b45e27c
scripts/ansible: Clarify 'apt install ansible-core' test on "32-bit" OS's 2023-09-08 11:55:37 -04:00
A Holt
8ef8752ad7
scripts/ansible: Evaluate 'apt install ansible-core' on 32-bit RasPiOS 2023-09-08 11:37:32 -04:00
A Holt
cee8a4f3ad
Merge pull request #3633 from holta/iiab-diagnostics-back-to-sprunge
iiab-diagnostics: Change pastebinit service from dpaste.com back to sprunge.us
2023-09-07 22:20:19 -04:00
A Holt
d585def5d3
iiab-diagnostics.README.md: Change dpaste.com back to sprunge.us 2023-09-07 22:17:35 -04:00
A Holt
5da0b60057
iiab-diagnostics: pastebinit service back to sprunge.us 2023-09-07 22:15:56 -04:00
A Holt
5193ea2a44
scripts/ansible: Eval piwheels / cryptography fix on 32-bit "RasPiOS 12" 2023-09-07 17:32:53 -04:00
A Holt
01cc4554f1
Merge pull request #3631 from holta/nodesource-changed
nodejs/tasks/install.yml: nodesource.com requires NEW install method
2023-09-06 16:58:00 -04:00
root
b9a5a67c74 nodejs/tasks/install.yml: nodesource.com requires NEW install method 2023-09-06 16:38:11 -04:00
A Holt
b7bb1dcd78
Merge pull request #3630 from holta/lokole-remove-from-large
local_vars_large.yml: Set Lokole to False/False due to mkwvconf
2023-09-06 15:15:01 -04:00
A Holt
7430573573
local_vars_large.yml: Set Lokole to False/False due to mkwvconf 2023-09-06 15:12:32 -04:00
A Holt
afa0a497be
local_vars_large.yml: sudo iiab-network 2023-08-31 20:20:13 -04:00
A Holt
a609f3041a
local_vars_medium.yml: sudo iiab-network 2023-08-31 20:18:28 -04:00
A Holt
251c92539e
local_vars_small.yml: sudo iiab-network 2023-08-31 20:16:57 -04:00
A Holt
c046ac72bb
local_vars_unittest.yml: sudo iiab-network 2023-08-31 20:15:07 -04:00
A Holt
1afd6f81e9
default_vars.yml: sudo iiab-network 2023-08-31 20:08:36 -04:00
A Holt
f3fe8a65b5
Merge pull request #3626 from holta/node-npm-versions
iiab-diagnostics: Include Node.js and npm versions
2023-08-30 07:51:44 -04:00
A Holt
2b1a8f548a
Update iiab-diagnostics.README.md 2023-08-30 07:51:28 -04:00
A Holt
1c74b55a7f
iiab-diagnostics: Include Node.js and npm versions 2023-08-30 07:47:28 -04:00
A Holt
25d8d6a0c8
nextcloud/tasks/install.yml: Mention 'nginx_high_php_limits: True' behavior #3624 2023-08-24 18:50:44 -04:00
A Holt
46cc189e67
Merge pull request #3625 from holta/gpg-for-apt-installs
FIX: 'apt install gpg' required on Debian 12+ for apt installs of gitea, kolibri, mongodb (for sugarizer), yarn (for internetarchive)
2023-08-24 16:10:57 -04:00
root
34091ba16d 'apt install gpg' required on Debian 12+ for apt installs of gitea, kolibri, mongodb, yarn 2023-08-24 15:55:28 -04:00
A Holt
aabd59cc8e
Merge pull request #3624 from holta/nginx_high_php_limits-forced-by-nextcloud
Force nginx_high_php_limits / 'memory_limit = 512M' if 'nextcloud_install: True'
2023-08-24 10:47:58 -04:00
root
3f1d25bb44 Also run php-settings.yml if nginx_high_php_limits 2023-08-24 10:45:33 -04:00
root
d0158ec50b Force nginx_high_php_limits / 'memory_limit = 512M' if 'nextcloud_install: True' 2023-08-24 10:27:04 -04:00
A Holt
3a37ab385d
sugarizer/tasks/install.yml: Note ~748MB /opt/iiab/sugarizer-1.7.0 2023-08-24 09:42:26 -04:00
A Holt
35006bff5f
nextcloud/tasks/install.yml: Clarify ~162MB d/l unpacks to ~555MB 2023-08-24 09:35:56 -04:00
A Holt
14fc8a1cce
nextcloud/tasks/install.yml: Revise disk space estimate to ~591 MB 2023-08-17 15:02:03 -04:00
A Holt
806387cef3
Merge pull request #3622 from holta/ubuntu-24.04-testing
Welcome Ubuntu 24.04 LTS pre-release testing starting in Oct/Nov (scripts/local_facts.fact)
2023-08-15 17:40:54 -04:00
A Holt
d3c3a63db3
local_facts.fact: Welcome Ubuntu 24.04 testing starting in Oct/Nov 2023-08-15 17:37:16 -04:00
A Holt
c7ee8c845d
Merge pull request #3621 from holta/deprecate-ubuntu-22.10
local_facts.fact: Deprecate support for EOL'd Ubuntu 22.10 (Kinetic Kudu)
2023-08-14 16:24:11 -04:00
A Holt
4508a94528
local_facts.fact: Deprecate support for EOL'd Ubuntu 22.10 2023-08-14 15:54:49 -04:00
A Holt
4c2f07af92
Merge pull request #3620 from holta/ansible-core-2.15.3
scripts/ansible: Recommend ansible-core 2.15.3
2023-08-14 15:49:31 -04:00
A Holt
62e5c0ccb3
scripts/ansible: Recommend ansible-core 2.15.3 2023-08-14 15:40:00 -04:00
A Holt
e2948a99fa
iiab-diagnostics.README.md: sprunge.us -> dpaste.com for #3619 2023-08-12 11:22:04 -04:00
A Holt
e94a1a9cb8
Merge pull request #3619 from holta/new-pastebin-svc3
iiab-diagnostics: Change pastebin service (paste2.org -> dpaste.com)
2023-08-11 20:56:54 -04:00
root
8ce25a7a20 iiab-diagnostics: Change pastebin service (paste2.org -> dpaste.com) 2023-08-11 20:48:19 -04:00
A Holt
19f5109db3
Merge pull request #3618 from holta/new-pastebin-svc2
iiab-diagnostics: Change pastebin service (sprunge.us -> paste2.org)
2023-08-11 18:33:04 -04:00
A Holt
2c38bf505c
iiab-diagnostics: Change pastebin service (sprunge.us -> paste2.org) 2023-08-11 18:22:31 -04:00
A Holt
a1a92b590d
Merge pull request #3617 from holta/ansible-on-i386
Brute Force 'apt install ansible-core' (e.g. 2.14.3 on Debian Bookworm) on 32-bit legacy i386, to avoid rust/wheels/cryptography compiling mess
2023-08-10 23:10:42 -04:00
root
ba596cb5a3 Brute Force 'apt install ansible-core' on 32-bit legacy i386 2023-08-10 22:54:02 -04:00
A Holt
ef8126fffb
Merge pull request #3616 from holta/python2-on-i386
scripts/install_python2.sh: Bullseye apt sources for i386 Debian
2023-08-10 05:29:57 -04:00
root
8a323c6799 scripts/install_python2.sh: Bullseye apt sources for i386 Debian 2023-08-10 05:23:59 -04:00
A Holt
58cb0b4c5a
Merge pull request #3615 from holta/python3-cryptography-i386
scripts/ansible: python3-cryptography for 32-bit i386 e.g. i686
2023-08-10 03:55:21 -04:00
root
6c648cbd9b Clarify 'apt install python3-cryptography' for i386 Ansible 2023-08-10 03:54:18 -04:00
root
50cded27f2 scripts/ansible: python3-cryptography for 32-bit i386 e.g. i686 2023-08-10 03:32:08 -04:00
A Holt
61f3d4a9c2
calibre-web/README.rst: Small refinements 2023-08-06 21:52:06 -04:00
A Holt
79a22d5af6
calibre-web/README.rst: Try for < 80 chars for source readability 2023-08-06 15:57:15 -04:00
A Holt
b3e682f24e
calibre-web/README.rst: Fix to "details above" 2023-08-06 14:59:53 -04:00
A Holt
6a0ad0c5ae
calibre-web/README.rst: Tighten up systemctl examples 2023-08-06 14:52:28 -04:00
A Holt
7b807b4bb0
calibre-web/README.rst: Clarify need to run as root 2023-08-06 13:18:36 -04:00
A Holt
77b6f79213
calibre-web/README.rst: Touchups 2023-08-06 13:02:59 -04:00
A Holt
318ef5aade
calibre-web/README.rst: Clarify password recovery 2023-08-06 11:38:19 -04:00
A Holt
6fce6c7847
calibre-web/README.rst: New 'Install It' section 2023-08-06 10:59:38 -04:00
A Holt
b439aa7724 calibre-web/README.rst: 2 tiny copyedit cleanups 2023-08-05 22:12:22 -04:00
A Holt
ceccade90c
scripts/ansible: Update doc links 2023-08-05 13:30:13 -04:00
A Holt
119d376c79
Merge pull request #3613 from holta/cryptography-40.0.1-on-32bit
scripts/ansible: Install cryptography 40.0.1 on ALL 32-bit arch's
2023-08-05 12:04:08 -04:00
A Holt
11a978b1da
scripts/ansible: Install cryptography 40.0.1 on ALL 32-bit arch's 2023-08-05 12:00:20 -04:00
A Holt
31c9ef6297
calibre-web/README.rst: Clarify hyphen mess! 2023-08-05 08:20:39 -04:00
A Holt
8661026319
calibre-web/README.rst: Overhaul intro 2023-08-05 08:01:51 -04:00
A Holt
fc75b456bd
calibre-web/README.rst: Refine links 2023-08-04 22:29:48 -04:00
A Holt
93d99f9d0a
calibre-web/README.rst: Clarify "Configuration" buttons 2023-08-04 18:51:35 -04:00
A Holt
71dfda824b
calibre-web/README.rst: URL syntax cleanup 2023-07-26 06:45:44 -04:00
A Holt
8b628f9602
calibre-web/README.rst: Clarify ebook-convert may need ~1GB 2023-07-26 06:43:04 -04:00
A Holt
ff5fc18f18
remoteit/README.md: Really fix doc URL for #3611 2023-07-26 05:29:35 -04:00
A Holt
8acf624c52
remoteit/README.md: Fix doc URL for #3611 2023-07-26 05:28:12 -04:00
A Holt
9d27ff0418
Merge pull request #3611 from holta/remoteit-remove-cli
Remote.it CLI can no longer coexist with remoteit Device Package
2023-07-26 05:26:25 -04:00
A Holt
c62d986316
remoteit/README.md: CLI can no longer coexist w/ Device Package 2023-07-26 05:02:44 -04:00
A Holt
aeb7b60ca7
remoteit/tasks/install.yml: Fully excise remote.it CLI 2023-07-26 04:36:46 -04:00
A Holt
9ac22d65ef
Remote.It CLI can no longer coexist with remoteit Device Package 2023-07-26 04:34:11 -04:00
A Holt
3934563ad6
Remote.It CLI can no longer coexist with remoteit Device Package 2023-07-26 04:28:14 -04:00
A Holt
64cdb3869c
venv pip requirements.txt tips (e.g. for Calibre-Web) 2023-07-24 22:55:16 -04:00
A Holt
db7d85c50c
calibre-web/README.rst: Tidy up / clarify 2023-07-22 19:18:55 -04:00
A Holt
17413fd570
calibre-web/README.rst: Outline log levels 2023-07-22 19:15:19 -04:00
A Holt
8df708d473
iiab-install: MIN_ANSIBLE_VER=2.13.11 alongside PR #3610 2023-07-17 22:40:26 -04:00
A Holt
dc7cd39283
Merge pull request #3610 from holta/ansible-core-2.15.2
Recommend ansible-core 2.15.2
2023-07-17 22:37:29 -04:00
A Holt
ff6a0cf4d8
Recommend ansible-core 2.15.2 2023-07-17 22:35:02 -04:00
A Holt
750dd57d6a
Merge pull request #3609 from holta/gitea-1.20-patch
Gitea 1.20 patches, e.g.  app.ini.j2
2023-07-16 18:41:12 -04:00
root
89148e8214 Clarify bogus PGP signing of Gitea binary downloads 2023-07-16 18:38:54 -04:00
root
831fdad5dd Patch app.ini.j2 for Gitea 1.20 2023-07-16 18:21:42 -04:00
A Holt
336b76baa1
Merge pull request #3608 from holta/gitea-1.20
New Gitea release 1.20
2023-07-16 16:04:47 -04:00
A Holt
31644737ae
New Gitea release 1.20 2023-07-16 16:02:11 -04:00
A Holt
c657581e69
calibre-web/tasks/install.yml: Update + clean comments! 2023-07-15 14:50:53 -04:00
A Holt
3f74b51f20
Merge pull request #3607 from holta/calibre-web_with_ffmpeg
calibre-web/tasks/install.yml: Install ffmpeg not just imagemagick
2023-07-15 11:20:42 -04:00
A Holt
e7b314334a
Clarify install of ffmpeg during Calibre-Web install 2023-07-15 11:20:17 -04:00
A Holt
c28e5e6a67
calibre-web/tasks/install.yml: Install ffmpeg not just imagemagick 2023-07-15 11:16:30 -04:00
A Holt
c8307501e5
www_options/tasks/main.yml: Clarify iiab_home_url 2023-07-14 23:18:31 -04:00
A Holt
303498a9d1
Note {{ calibreweb_repo_url }} in Ansible output for #3606 2023-07-14 23:01:55 -04:00
A Holt
8cb282b811
Merge pull request #3606 from holta/calibreweb_repo_url
Softcode calibreweb_repo_url
2023-07-14 22:48:24 -04:00
A Holt
41f4617a4f
calibre-web/tasks/install.yml: Mention 0.6.20 2023-07-14 22:42:16 -04:00
A Holt
8df3848b96
Softcode calibreweb_repo_url in defaults/main.yml 2023-07-14 22:31:51 -04:00
A Holt
65295a100c
Softcode calibreweb_repo_url in install.yml 2023-07-14 22:30:01 -04:00
A Holt
6cf233b332
calibre-web-nginx.conf.j2: Quote all 3 URL params 2023-07-14 12:11:10 -04:00
A Holt
975ce2f54e
PR #3605: Add "1.40" quotes for trailing zero 2023-07-02 14:06:22 -04:00
A Holt
fc21ba80f7
Merge pull request #3605 from holta/mediawiki-1.40.0
MediaWiki 1.40.0 (new release)
2023-06-30 13:32:27 -04:00
A Holt
712b26c402
MediaWiki 1.40.0 (new release) 2023-06-29 16:29:13 -04:00
A Holt
4be4ac68d4
usb_lib/tasks/install.yml: Fix exFAT doc URL 2023-06-27 17:02:11 -04:00
A Holt
586bfc5cb1
nodejs/README.md: Soften 64-bit "Zero 2 W" warning 2023-06-25 09:23:09 -04:00
A Holt
9b57d39bf5
README.md: Fix typo in URL 2023-06-25 05:01:54 -04:00
A Holt
55caae4eec
README.md: Link to FAQ "quick install" tips 2023-06-25 05:00:22 -04:00
A Holt
dd2ed56951
nextcloud/README.md: Strike ownyourbits.com (site died) 2023-06-22 09:27:57 -04:00
A Holt
d7ec19a70b
Fix doc link to www_options/tasks/php-settings.yml 2023-06-22 08:07:04 -04:00
A Holt
cf724194f8
Update nextcloud/README.md PHP & prereq links 2023-06-22 08:00:11 -04:00
A Holt
ec64e6ff84
Merge pull request #3604 from holta/ansible-core-2.15.1
Recommend ansible-core 2.15.1 [and interim workaround to start Asterisk, so FreePBX can install]
2023-06-21 09:54:05 -04:00
A Holt
ea3bb783cc
Clarify freepbx.yml hack, to start Asterisk (awaiting ansible-core 2.15.x fix) 2023-06-21 09:53:43 -04:00
root
822c4c2e08 Interim hack to start Asterisk til ansible-core 2.15.x recovers 2023-06-21 09:21:39 -04:00
A Holt
c6316c1df7
freepbx.yml: Clarify 2-step FreePBX install (1st stab) 2023-06-20 15:24:15 -04:00
A Holt
ed73e94b46
freepbx.yml: Interim use of 'nohup' for ansible 2.15.x regression 2023-06-20 14:44:25 -04:00
A Holt
36c5caecd1
Recommend ansible-core 2.15.1 2023-06-20 13:41:41 -04:00
A Holt
14d5c8a63c
Merge pull request #3584 from holta/node20
Begin transition to 'nodejs_version: 20.x' [& internetarchive upstream patch]
2023-06-18 15:37:54 -04:00
A Holt
8387cd94a3
nextcloud/tasks/install.yml: Clarify Nextcloud 27 reqs 2023-06-15 09:01:38 -04:00
A Holt
c49a68d9aa
Merge pull request #3600 from holta/kiwix-arch-changes
WIP: Kiwix arch changes
2023-06-14 04:59:39 -04:00
A Holt
b3f284c35a
Update/clarify remote.it's latest pricing/plans 2023-06-13 00:33:45 -04:00
A Holt
392eb211b3
Merge pull request #3601 from holta/remoteit-fails-on-gha
remote.it workaround for incoming ICMP firewalls e.g. GitHub Actions [at least allowing IIAB installs to proceed, when service schannel does not exist]
2023-06-12 23:21:20 -04:00
A Holt
87d3bccd25
remote.it workaround for incoming ICMP firewalls e.g. GitHub Actions 2023-06-12 23:08:57 -04:00
A Holt
c4e94c5be0
kiwix/defaults/main.yml: Update redirect doc link 2023-06-12 22:08:51 -04:00
A Holt
21ca318778
Revert May's kiwix-tools armhf 3.5.0 workaround to 3.4.0 2023-06-12 14:29:47 -04:00
A Holt
934f2c1799
Kiwix support for 'armv6l: armv6' & 'armv7l: armv8' (tentative!) 2023-06-12 14:25:12 -04:00
A Holt
9db2496b95
Merge pull request #3599 from holta/transmission_compile_latest
WIP: Try 'transmission_compile_latest: True' BitTorrent software (e.g. Transmission 4.1.0-dev, instead of 3.0 from May 2020)
2023-06-12 13:31:22 -04:00
A Holt
251694f2f2
Free up disk (~1.6 GB) after Transmission compile 2023-06-12 12:56:36 -04:00
A Holt
2c84233946
Compiling Transmission requires 'apt install libsystemd-dev' 2023-06-12 09:59:31 -04:00
A Holt
9df95cedf8
transmission/README.rst: Overhaul logging instructions 2023-06-12 01:31:19 -04:00
A Holt
16ba23bf3e
transmission/README.rst: Link to transmission-rpc docs 2023-06-12 01:00:58 -04:00
A Holt
71010c0fee
Clarify 'git clone https://github.com/transmission/transmission' 2023-06-12 00:51:20 -04:00
A Holt
7f09784fe1
'transmission-daemon --log-level=error' since ~2020 2023-06-12 00:48:31 -04:00
A Holt
122a84588a
transmission/tasks/install.yml: Clarify compile link 2023-06-12 00:44:14 -04:00
root
beae3643b9 transmission-daemon.service: --log-error -> --log-level=error 2023-06-11 22:37:23 -04:00
A Holt
d03ff5d629
Hint: use transmission-remote NOT deprecated transmission-cli 2023-06-11 22:17:46 -04:00
root
73f1d6cf8e WIP: Try 'transmission_compile_latest: True' 2023-06-11 21:33:35 -04:00
A Holt
ef804c2534
Merge pull request #3598 from holta/deb13
Stub support for upcoming Debian 13 "Trixie" pre-releases
2023-06-11 09:10:42 -04:00
root
e5a9cee54f Stub support for upcoming Debian 13 "Trixie" pre-releases 2023-06-11 07:59:09 -04:00
A Holt
fb17537fb5
Merge pull request #3597 from holta/df-syntax
Cleaner df syntax, to record each IIAB App's initial disk usage in /etc/iiab/iiab.ini
2023-06-10 10:07:07 -04:00
root
3f63c0b4dd Clean df syntax, for each app's disk usage in iiab.ini 2023-06-10 09:10:47 -04:00
A Holt
2d62b975bf
Merge pull request #3596 from holta/gha-deb12-armv7
GitHub Actions context refinements building on PR #3595, for IIAB testing on Debian 12 on emulated Raspberry Pi 3 B
2023-06-08 16:37:33 -04:00
A Holt
0845b9b484
Likewise update job name to "deb12 on rpi3" 2023-06-08 15:47:42 -04:00
A Holt
10ab5dc91b
Rename 30min-iiab-test-install-debian12.yml to 30min-iiab-test-install-deb12-on-rpi3.yml 2023-06-08 15:32:20 -04:00
A Holt
0170835529
Try 30min-iiab-test-install-raspios.yml like -debian12.yml 2023-06-08 15:30:47 -04:00
A Holt
feccd64b4a
Update 30min-iiab-test-install-debian12.yml 2023-06-08 15:26:25 -04:00
A Holt
4d6bdaf808
Update 10min-iiab-test-install.yml 2023-06-08 15:25:48 -04:00
A Holt
935cc5606e
Similarly update 10min-iiab-test-install.yml 2023-06-08 15:23:01 -04:00
A Holt
751931a917
GHA: Try tightening up, with 'uname -a' 2023-06-08 15:14:46 -04:00
A Holt
dddd7ce0b4
GHA: Try dumping runner contexts 2023-06-08 15:04:52 -04:00
A Holt
81ba0fc7b7
GHA: Try recording more 'runner context' on top of job 2023-06-08 14:49:07 -04:00
A Holt
a3104569b1
Merge pull request #513 from neomatrixcode/master
Sync from neomatrixcode:iiab:master
2023-06-08 14:42:58 -04:00
neomatrixcode
bac736d616 add uname 2023-06-08 12:27:31 -06:00
neomatrixcode
ba404ac0f9 remove quote 2023-06-08 12:20:54 -06:00
neomatrixcode
28d51dd064 remove OS parameter 2023-06-08 12:17:09 -06:00
neomatrixcode
815f098475 update hostnamectl 2023-06-08 12:13:52 -06:00
neomatrixcode
249d6fd24d echo hostnamectl 2023-06-08 12:08:00 -06:00
Josué Acevedo (Neomatrix)
03531dfdec
GitHub Actions .github/workflows/30min-iiab-test-install-debian12.yml for CI/CD & QA (#2)
* add debian12
2023-06-07 21:58:51 -06:00
A Holt
30c54e8448
transmission/tasks/install.yml: Remove stale comment 2023-06-07 19:43:54 -04:00
A Holt
a9585365c0
transmission/README.rst: Add "Docs" section 2023-06-07 19:33:01 -04:00
A Holt
7cecb4d89b
scripts/iiab-size.py: Clarify PR #3594 2023-05-30 16:16:46 -04:00
A Holt
c22a713ec4
scripts/iiab-item-size.py: Clarify PR #3594 2023-05-30 16:15:03 -04:00
A Holt
63771833ad
Merge pull request #3594 from neomatrixcode/item-size
Auto-calculate IIAB + EduPack disk space needs, in advance [& design review]
2023-05-30 16:05:09 -04:00
neomatrixcode
87bdd3fa0c update function get_size 2023-05-29 21:47:48 -06:00
neomatrixcode
efa974b26a add iiab size 2023-05-27 14:52:30 -06:00
A Holt
424d209513
Merge pull request #3593 from holta/df
Roughly Estimate iiab_software_disk_usage in /etc/iiab/iiab.ini 'summary' section
2023-05-27 16:30:33 -04:00
A Holt
e06f833c6b
Explain saving disk_space_a_priori to iiab.ini 2023-05-27 15:47:51 -04:00
A Holt
7205219292
create_iiab_ini.yml: Rename iiab.ini section to 'initial' 2023-05-27 15:24:13 -04:00
root
3c5b071c25 Estimate IIAB software disk usage, in /etc/iiab/iiab.ini 'summary' section 2023-05-27 14:07:13 -04:00
A Holt
1f2d0102a9
Merge pull request #3592 from holta/df
Record approx disk usage for 45 roles (to iiab.ini)
2023-05-27 04:42:23 -04:00
root
fc524462ba Record approx disk usage for 45 roles (to iiab.ini) 2023-05-27 03:33:35 -04:00
A Holt
92142f0e7e
Merge pull request #3591 from holta/lokole-problem
local_vars_medium.yml: Avoid Lokole for now due to #3572
2023-05-26 21:51:01 -04:00
A Holt
a57710c117
local_vars_medium.yml: Avoid Lokole for now due to #3572 2023-05-26 21:47:14 -04:00
A Holt
8ae4f020e9
Refine PR #3590 to document ansible-core 2.14.6 recommendation 2023-05-22 17:47:29 -04:00
A Holt
2973b283df
Merge pull request #3590 from holta/ansible-core-2.14.6
TEMPORARILY revert ansible-core 2.15.0 to 2.14.6 til the dust settles — e.g. for FreePBX #3588
2023-05-22 12:54:54 -04:00
A Holt
56d2733063
TEMPORARILY revert ansible-core 2.15.0 to 2.14.6 for #3588 2023-05-22 11:56:18 -04:00
A Holt
3d87b0f203
Merge pull request #3587 from holta/pin_virtualenv
Pin python3-platformdirs & python3-virtualenv to 22.04 versions, for Python 2 on Ubuntu 23.10+ ? [for KA Lite]
2023-05-21 21:52:41 -04:00
A Holt
987fd7324f
install_python2.sh: Clarify pip & apt virtualenv options 2023-05-21 09:18:25 -04:00
A Holt
842bf91f76
install_python2.sh: Honor Bookworm's built-in virtualenv 2023-05-21 08:25:39 -04:00
A Holt
352ddcf695
install_python2.sh: Clarify virtualenv (22.04 for now, 23.04 later?) 2023-05-21 07:52:17 -04:00
root
4e430da1a9 Pin python3-platformdirs & python3-virtualenv to 22.04 for Python 2 on 23.10 ? 2023-05-20 20:46:47 -04:00
A Holt
294ccf6f78
Merge pull request #3582 from holta/kalite-on-2310
'pip install virtualenv==20.21.1' for Python 2 required by KA Lite on Ubuntu 23.10
2023-05-20 17:36:14 -04:00
A Holt
a55c033a16
Update install_python2.sh 2023-05-20 17:35:03 -04:00
A Holt
7209bcd97d
install_python2.sh: Summarize messy virtualenv options 2023-05-20 17:33:37 -04:00
root
5b4f4d79e6 Begin transition to 'nodejs_version: 20.x' 2023-05-20 11:09:03 -04:00
A Holt
e8a3129f13
Further clarify kalite/tasks/install.yml 2023-05-20 08:53:45 -04:00
A Holt
6dec23b6c3
scripts/install_python2.sh: Explain pip install of older virtualenv 2023-05-19 17:48:16 -04:00
A Holt
b61053cc3a
kalite/tasks/install.yml: Fix typos "is_linuxmint_21" 2023-05-19 17:38:34 -04:00
root
e1df2a5061 kalite/tasks/install.yml: Force Python 2 if Debian > 11 or Ubuntu > 22.04 2023-05-19 16:38:32 -04:00
root
9ca80db3fa 'pip install virtualenv==20.21.1' for KA Lite on Ubuntu 23.10 2023-05-19 15:45:38 -04:00
A Holt
046490ad66
Merge pull request #3579 from neomatrixcode/master
GitHub Actions .github/workflows/30min-iiab-test-install-raspios.yml for CI/CD & QA
2023-05-16 14:21:41 -04:00
codeneomatrix
95cb6f415c update actions/checkout to v3.1.0 2023-05-16 10:16:53 -06:00
Josué Acevedo (Neomatrix)
bc3fba6b22
Merge branch 'iiab:master' into master 2023-05-15 23:49:41 -06:00
A Holt
0cc3a064a9
Merge pull request #3580 from holta/rpi_model-from-proc-cpuinfo
Set rpi_model from /proc/cpuinfo for QEMU
2023-05-16 01:46:39 -04:00
root
8339e46c5d Set rpi_model from /proc/cpuinfo for QEMU 2023-05-16 01:42:22 -04:00
codeneomatrix
8e9401dbe8 update file 2023-05-15 23:17:51 -06:00
codeneomatrix
23ef49f7df change namefile 2023-05-15 23:16:04 -06:00
Josué Acevedo (Neomatrix)
0812cc4bc3
Update 10min-iiab-test-install-raspbian.yml
change 'target' to 'arch'
2023-05-15 21:02:00 -06:00
Josué Acevedo (Neomatrix)
ea2dc1ae62
GitHub Actions .github/workflows/10min-iiab-test-install-raspbian.yml for CI/CD & QA (#1)
* add .github/workflows/10min-iiab-test-install-raspbian.yml
2023-05-15 20:53:35 -06:00
root
58961b862c More consistent punctuation in local_vars files 2023-05-15 17:53:44 -04:00
A Holt
f3969bd973
Merge pull request #3578 from holta/kiwix32-tmp-patch
Fix PR #3576, allowing regular Kiwix installs too!
2023-05-15 16:54:50 -04:00
root
7f714e7c65 Fix PR #3576, allowing regular Kiwix installs too! 2023-05-15 16:51:08 -04:00
A Holt
d74f80b446
Merge pull request #3577 from holta/ansible-core-2.15.0
Recommend ansible-core 2.15.0
2023-05-15 14:20:30 -04:00
root
687c497669 Recommend ansible-core 2.15.0 2023-05-15 14:03:21 -04:00
A Holt
9f866078a0
Update ubuntu-2310.yml 2023-05-14 20:33:43 -04:00
A Holt
1157bb0f24
Update raspbian-12.yml 2023-05-14 20:32:46 -04:00
A Holt
a23faea688
Update ubuntu-2304.yml 2023-05-14 20:31:46 -04:00
A Holt
e3bb5c1ed5
Update debian-12.yml 2023-05-14 20:29:43 -04:00
A Holt
2f676c5b72
Merge pull request #3576 from holta/kiwix32-tmp-patch
Revert to kiwix-tools 3.4.0 if armhf 3.5.0 downloads [for 32-bit Raspberry Pi Zero W]
2023-05-14 09:35:43 -04:00
root
b1a219bcae Revert to kiwix-tools 3.4.0 if armhf 3.5.0 downloads 2023-05-14 09:06:29 -04:00
A Holt
e227fdc29e
roles/kiwix/README.rst: Clarify proxying 2023-05-13 22:22:01 -04:00
A Holt
f8a543c4b8
Merge pull request #3575 from holta/kiwix-tools_aarch64
Try aarch64 version of kiwix-tools 3.5.0+ [WARNING: such microSD cards will no longer be insertable in 32-bit Raspberry Pi Zero W]
2023-05-13 19:24:18 -04:00
A Holt
5eab78b6bf
Clarify kiwix/defaults/main.yml as kiwix-tools & RasPiOS evolve 2023-05-13 19:23:46 -04:00
A Holt
cb36d2b02f
Try aarch64 version of kiwix-tools 3.5.0+ 2023-05-13 11:05:39 -04:00
A Holt
6ce8d05078
Merge pull request #3569 from holta/gha-stub
GitHub Actions stub .github/workflows/10min-iiab-test-install.yml for CI/CD & QA
2023-05-06 01:08:02 -04:00
root
1939ad22e1 GHA Stub: .github/workflows/10min-iiab-test-install.yml 2023-05-06 00:48:07 -04:00
A Holt
fe208879ef
Merge pull request #3567 from holta/sugarizer-bypass-32
If 32-bit OS, bypass Sugarizer & Explain during iiab-install
2023-05-03 17:33:55 -04:00
root
139696fa31 If 32-bit OS, bypass Sugarizer & Explain during iiab-install 2023-05-03 17:00:02 -04:00
A Holt
7e1dff54d2
scripts/ansible: Fix typo in comment 2023-05-03 03:52:39 -04:00
A Holt
090ede2d99
Merge pull request #3565 from holta/firmware2
Clarify PR #3564 (pre-download WiFi firmware backups)
2023-05-01 20:35:37 -04:00
root
38a292227d Clarify PR #3564 (pre-download WiFi firmware backups) 2023-05-01 20:29:49 -04:00
A Holt
52a81ec782
Merge pull request #3564 from holta/firmware2
Allow multiple (timestamped) backups of WiFi firmware originals (as your OS evolves!)
2023-05-01 18:52:40 -04:00
root
7b214064fa Allow multiple (timestamped) backups of WiFi firmware originals 2023-05-01 18:46:27 -04:00
A Holt
7db038c72c
Merge pull request #3562 from holta/vnstat2
Toughen up vnStat: Mitigate #3539 db errors, stop using 2011's /etc/vnstat.conf, etc
2023-05-01 12:23:11 -04:00
A Holt
423eecc293
CLARIF: Let's use apt version of /etc/vnstat.conf (not 2011-era template) 2023-05-01 11:41:04 -04:00
root
21a7d70c7e Toughen up vnStat: Mitigate #3539 db errors, stop using 2011's /etc/vnstat.conf, etc 2023-05-01 11:21:39 -04:00
A Holt
9c4a6ce723
Merge pull request #3560 from holta/munin-IPv6-workaround
Temporarily Enable sysctl's IPv6 during Munin install/enable, so munin-node.service starts
2023-04-30 19:21:50 -04:00
root
e044de856a Enable sysctl's IPv6 during Munin install/enable, so munin-node.service starts 2023-04-30 19:15:44 -04:00
A Holt
47a771f8c1
network/tasks/install.yml: Remove typo in comment 2023-04-30 18:43:11 -04:00
A Holt
6e493c9131
network/tasks/install.yml: Clarify 4 sysctl vars 2023-04-30 18:42:08 -04:00
A Holt
d768757f7a
network/tasks/install.yml: Clarify 4 sysctl defaults 2023-04-30 17:33:51 -04:00
A Holt
1b592445f5
Merge pull request #3559 from holta/moodle-php7-temporarily
Revert to Moodle 4.1 if PHP 7 + toughen Moodle/Nextcloud
2023-04-30 14:29:42 -04:00
root
0324dfb918 Revert to Moodle 4.1 if PHP 7 + toughen Moodle/Nextcloud 2023-04-30 14:25:30 -04:00
A Holt
38083b4314
pbx/README.adoc: Fix typo (link to #3556) 2023-04-29 13:32:22 -04:00
A Holt
84f3ee8073
pbx/README.adoc: Link to #3556 PHP 8 speculation 2023-04-29 13:30:40 -04:00
A Holt
57bf481315
Merge pull request #3555 from jvonau/hotfix
iiab-clone-wifi needs template from hostapd - record wifi_up_down
2023-04-27 19:06:58 -04:00
Jerry Vonau
1884f484ae iiab-clone-wifi needs template from hostapd - record wifi_up_down 2023-04-27 10:40:04 -05:00
A Holt
63b6724c4a
Merge pull request #3549 from holta/reg_dom2+iiab-hotspot-off_etc
Unified PR for WiFi hotspot testing of channel-changing, country code, etc
2023-04-27 11:06:05 -04:00
A Holt
df08ecfef6
"Couldn't find an UPSTREAM SSID in files like wpa_supplicant.conf" 2023-04-27 07:49:40 -04:00
A Holt
edf99982cf
Merge pull request #3554 from jvonau/jupyterhub
Jupyterhub
2023-04-26 21:18:03 -04:00
A Holt
8eb29a9ede
rpi_debian.yml: Fix both "country_code is defined" -> "country_code.stdout is defined" 2023-04-26 18:57:05 -04:00
A Holt
fc46f34f65
matomo/tasks/main.yml: Explanation for nginx.yml was stale! 2023-04-26 17:51:03 -04:00
A Holt
cc0a32cd67
matomo/tasks/nginx.yml: Remove stale refs to box/maps 2023-04-26 17:48:07 -04:00
Jerry Vonau
0f8fdb728a Merge branch 'nodesource' into jupyterhub 2023-04-26 07:20:29 -05:00
Jerry Vonau
4bd5d1e9f6 verbage in other roles 2023-04-26 07:20:13 -05:00
Jerry Vonau
dc35445c9c remove nodesource.list if failed 2023-04-26 07:17:40 -05:00
Jerry Vonau
eacfec8c91 remove python3-venv from roles 2023-04-26 06:45:27 -05:00
Jerry Vonau
fda10dbe66 jupyterhub use --system-site-packages for psutils 2023-04-26 06:43:28 -05:00
A Holt
42042976f4
Merge pull request #3551 from holta/moodle-4.2
Moodle 4.2 (new release)
2023-04-25 15:48:48 -04:00
A Holt
cac14ee4bb
moodle/tasks/install.yml: Update comments for Moodle 4.2 2023-04-25 15:46:43 -04:00
A Holt
18fe41b9c6
moodle_version: MOODLE_402_STABLE (for Moodle 4.2) 2023-04-25 15:44:14 -04:00
A Holt
49fac85eca
Merge pull request #512 from jvonau/reg_dom3
softcode
2023-04-25 11:37:27 -04:00
Jerry Vonau
40e4b9cce9 softcode 2023-04-25 10:32:10 -05:00
A Holt
409efd3222
Merge pull request #3550 from holta/ansible-core-2.14.5
ansible-core 2.14.5 & beefed up for latest 32-bit ARM (armhf) cryptography / piwheels / rust problems
2023-04-24 18:31:38 -04:00
A Holt
553626d123
Merge pull request #511 from jvonau/reg_dom3
Reg dom3
2023-04-24 14:14:50 -04:00
A Holt
ef3ddd8326
Merge branch 'reg_dom2+iiab-hotspot-off_etc' into reg_dom3 2023-04-24 14:10:35 -04:00
A Holt
fb2a9c8222
Revert c49adcf "borrow some bits from iiab-clone-wifi" (& preserve cf67d4c "netplan-systemd staging" ?) 2023-04-24 14:02:35 -04:00
Jerry Vonau
25e44b3385 service set start timeout 2023-04-24 12:53:51 -05:00
A Holt
bfbb4f06f2
Delete adm-run-roles-tmp.yml 2023-04-24 13:48:24 -04:00
Jerry Vonau
6fe64a9097
Merge branch 'reg_dom2+iiab-hotspot-off_etc' into reg_dom3 2023-04-24 12:47:58 -05:00
Jerry Vonau
088537b9b8 clean up netd-disp2 2023-04-24 12:42:16 -05:00
Jerry Vonau
ba9e9ee01a capture running service 2023-04-24 12:27:00 -05:00
Jerry Vonau
78603de7e6 capture running code 2023-04-24 12:23:56 -05:00
root
78c22d3df5 scripts/ansible: 2.14.5, cryptography==40.0.1 on armhf, for-loop fix 2023-04-24 13:07:24 -04:00
root
a17103f14f Explain & lint templates/hostapd/iiab-test-wifi.j2 2023-04-24 17:48:03 +01:00
Jerry Vonau
544a1f2959 https://github.com/iiab/iiab/issues/3547 2023-04-24 10:34:54 -05:00
Jerry Vonau
e1722645c5 shellcheck and whitespace 2023-04-24 10:25:46 -05:00
Jerry Vonau
04ce0a9d7f netplan2 2023-04-24 09:17:07 -05:00
root
73e123a357 Merge branch 'iiab-hotspot-off_etc' of https://github.com/holta/iiab into asterisk-20--reg_dom2--iiab-hotspot-off_etc 2023-04-24 11:43:01 +01:00
Jerry Vonau
cb86366b13 shellcheck 2023-04-24 01:38:56 -05:00
Jerry Vonau
995bc6308b drop unused assignment 2023-04-24 01:12:37 -05:00
Jerry Vonau
d738fdc1ef use dash in place of bash, drop last bashism 2023-04-24 01:10:03 -05:00
Jerry Vonau
ef6486b09b grouping, recording, staging 2023-04-23 16:11:03 -05:00
Jerry Vonau
cf67d4c9d7 netplan-systemd staging 2023-04-23 14:56:10 -05:00
Jerry Vonau
bc4850a09c RasPiOS could be running NM backend, test if dhcpcd is running, drop rfkill 2023-04-23 13:55:37 -05:00
Jerry Vonau
c49adcf395 borrow some bits from iiab-clone-wifi 2023-04-23 13:53:05 -05:00
Jerry Vonau
a49a0680d3 drop NA 2023-04-23 12:23:33 -05:00
Jerry Vonau
348974be6f stdout country code detection 2023-04-23 08:21:09 -05:00
Jerry Vonau
d7d6404c53 tighten up country code detection 2023-04-23 08:02:57 -05:00
Jerry Vonau
a6cd9ded51 replace backtics 2023-04-23 02:03:16 -05:00
Jerry Vonau
472fdfd152 style 2023-04-23 01:59:52 -05:00
Jerry Vonau
b17cab4794 run after NM and netplan 2023-04-23 01:25:24 -05:00
Jerry Vonau
0c037b2763 \[], echo, run netplan restart sooner, NM wait, move hostapd restart 2023-04-23 01:24:20 -05:00
Jerry Vonau
262ca468e9 tighten up when to run wifi detection more 2023-04-22 22:05:01 -05:00
A Holt
9ed5cd53c7
iiab-hotspot-on: sed "-e" flag optional 2023-04-22 11:50:51 -04:00
A Holt
319b75fe7d
iiab-hotspot-off: sed "-e" flag optional 2023-04-22 11:50:04 -04:00
A Holt
cdc77b121c
Clarifying templates/hostapd/iiab-hotspot-off ? 2023-04-22 10:06:54 -04:00
A Holt
d1a7ab2b74
Tighten up templates/hostapd/iiab-hotspot-on just a bit? 2023-04-22 10:03:57 -04:00
A Holt
07a63f3b8a
Tighten up templates/hostapd/iiab-hotspot-off just a bit? 2023-04-22 09:59:29 -04:00
Jerry Vonau
8aaa459d9c restarting seems excessive just use start 2023-04-20 12:56:14 -05:00
Jerry Vonau
4fe56e787e tighten up when to run wifi detection 2023-04-20 11:29:15 -05:00
Jerry Vonau
908c8f4951 tighten up when to install ap0 file 2023-04-20 11:29:15 -05:00
Jerry Vonau
d831f05769 NM ssid detection 2023-04-20 11:29:15 -05:00
A Holt
671343b9e9
Merge pull request #3537 from jvonau/reg_dom
RFC 2210 2304 fixed https://bugs.launchpad.net/bugs/1951586 [netplan WiFi country code]
2023-04-19 18:07:24 -04:00
Jerry Vonau
b286d9d6e9 easier diff 2023-04-19 10:46:45 -05:00
Jerry Vonau
3c3affb16a softcode 2023-04-19 10:44:39 -05:00
Jerry Vonau
5341cc6ca2 typo, use double quotes, always restart netplan wifi 2023-04-19 10:38:50 -05:00
Jerry Vonau
27c3b1b9a0 Just set and let the next stanza in main handle the call 2023-04-18 23:38:58 -05:00
Jerry Vonau
ff905ef5d8 dispatcher has a call to alter hostapd.conf 2023-04-18 23:38:58 -05:00
Jerry Vonau
f79f4c0f46 clearer logic 2023-04-18 16:08:08 -05:00
A Holt
ccc074ee73
Merge pull request #3540 from holta/rescues
Allow rescue/continue if CUPS or Samba installs fail [if skip_role_on_error: True]
2023-04-17 14:05:54 -04:00
root
7a31b02a67 Allow rescue/continue if CUPS or Samba installs fail 2023-04-17 13:58:21 -04:00
Jerry Vonau
e63028f8ee record 2023-04-16 19:38:48 -05:00
Jerry Vonau
3ae4627956 use shell 2023-04-16 19:20:11 -05:00
A Holt
2f40184de8
Merge pull request #3503 from jvonau/calweb_base
use --system-site-packages and install package to omit building 'netifaces' wheel [Calibre-Web]
2023-04-16 17:23:33 -04:00
Jerry Vonau
061a96a5ad positional ordering 2023-04-16 13:43:16 -05:00
Jerry Vonau
4089be6b25 always remove old virtual environment 2023-04-16 08:31:52 -05:00
Jerry Vonau
7845a8bddc hints for iiab-hotspot-on|off 2023-04-16 05:55:50 -05:00
Jerry Vonau
2f321dc0a4 use 'iw reg get' in hostapd if present 2023-04-16 05:29:22 -05:00
Jerry Vonau
bb95816c79 use country value in hostapd if present 2023-04-16 05:29:22 -05:00
Jerry Vonau
a1aaf70975 2210 2304 fixed https://bugs.launchpad.net/bugs/1951586 2023-04-14 08:50:23 -05:00
A Holt
c9ed0a0410
Merge pull request #3535 from jvonau/python2_fix2
notes and dependencies [& test adding Python 2 to Debian 12]
2023-04-12 11:46:02 -04:00
Jerry Vonau
fbb614b1c6 cleanup 2023-04-12 08:45:56 -05:00
Jerry Vonau
191ba39129 seems to be always installed 2023-04-12 02:28:05 -05:00
Jerry Vonau
ca4cd1a260 apt export 2023-04-12 01:58:41 -05:00
Jerry Vonau
1738f7c540 always overwrite 2023-04-12 01:38:04 -05:00
Jerry Vonau
ba2d00fd5a split the arm64/amd64 repos 2023-04-12 01:29:23 -05:00
Jerry Vonau
df3590fb47 thoughts going forward 2023-04-12 01:08:39 -05:00
Jerry Vonau
3e10fa7bf9 forgot a # 2023-04-11 23:20:42 -05:00
Jerry Vonau
3aaeca991e using repos 2023-04-11 23:18:53 -05:00
Jerry Vonau
e6c4170f7c pending feedback keyring 2023-04-11 23:13:25 -05:00
Jerry Vonau
f95db00faf switch order for easier diff 2023-04-11 22:34:00 -05:00
Jerry Vonau
6e08ff35eb switch back to explicit dependencies 2023-04-11 22:21:01 -05:00
Jerry Vonau
5253c31d93 bookworm armhf 2023-04-11 13:36:40 -05:00
Jerry Vonau
32d40f038d more notes 2023-04-11 10:57:39 -05:00
Jerry Vonau
57833472a9 media-types 2023-04-11 10:09:05 -05:00
Jerry Vonau
29d0f0bf90 notes and dependencies 2023-04-11 09:29:22 -05:00
A Holt
db84a0d03f
Merge pull request #3534 from jvonau/python2_fix
Python2 fix
2023-04-11 10:27:28 -04:00
Jerry Vonau
c17cf8dcc8 FUTURE python2 - use jammy for armhf on ubuntu 2023-04-11 08:38:37 -05:00
Jerry Vonau
f27a34708a FUTURE python2 - use bullseye for armhf 2023-04-11 08:27:28 -05:00
A Holt
4b01b226df
Merge pull request #3533 from EMG70/pbx-readme
Pbx readme [Wave Lite app option, so Android phones actually ring when screen's locked etc]
2023-04-10 20:29:25 -04:00
A Holt
b75b5a65e4
pbx/README.adoc: Copyedit tweak 2023-04-10 13:06:45 -04:00
EMG70
28345650f9
Update README.adoc 2023-04-10 17:36:47 +01:00
A Holt
660f2f0940
pbx/README.adoc copyedits/suggestions for review 2023-04-10 12:34:21 -04:00
EMG70
0695907bc0
Update README.adoc 2023-04-10 17:31:32 +01:00
EMG70
0d900a32ab
Update README.adoc 2023-04-10 17:08:48 +01:00
EMG70
273c1fd257
Update README.adoc 2023-04-10 17:06:02 +01:00
EMG70
32e5324ebd
Add files via upload 2023-04-10 17:00:57 +01:00
EMG70
d0d95b323f
Add files via upload 2023-04-10 16:57:23 +01:00
EMG70
35c503945a
Delete Wave_phone_connected.png 2023-04-10 16:55:59 +01:00
EMG70
ad57d68b67
Add files via upload 2023-04-10 16:54:18 +01:00
EMG70
aeacbc551f
Add files via upload 2023-04-10 16:33:27 +01:00
EMG70
0ae7073e00
Update README.adoc 2023-04-10 15:14:02 +01:00
A Holt
8fa5a9c4b6
Merge pull request #3532 from jvonau/apache_error
BUG: no path
2023-04-10 04:06:25 -04:00
Jerry Vonau
9323fd897a no path 2023-04-09 21:38:21 -05:00
A Holt
834048c9d1
Merge pull request #3531 from jvonau/kalite_typo
kalite - dup'd line typo
2023-04-09 18:49:44 -04:00
Jerry Vonau
be1708a6df kalite - dup'd line typo 2023-04-09 17:28:08 -05:00
A Holt
1eabb9b997
Merge pull request #3529 from jvonau/kalite_ssl1.1
ka-lite libssl1.1 use raspi repo
2023-04-09 16:27:51 -04:00
root
2722e1ac14 libssl1.1 use raspi repo 2023-04-09 15:00:01 -05:00
A Holt
d960b43f98
vars/ubuntu-2310.yml: Tweak PR #3527 2023-04-08 13:22:58 -04:00
A Holt
a4a7b3a6b5
Merge pull request #3527 from jvonau/python2_fix
Python2 fix [for KA Lite on Debian 12 or Ubuntu 23.04 / 23.10]
2023-04-08 13:21:17 -04:00
Jerry Vonau
5eac4ea24a typo and layout 2023-04-08 02:49:06 -05:00
Jerry Vonau
33f00a0853 armhf 2023-04-06 17:15:33 -05:00
Jerry Vonau
cd6d04108a arm64 2023-04-06 16:56:37 -05:00
Jerry Vonau
af7a646002 amd64 2023-04-06 16:17:44 -05:00
Jerry Vonau
847751aed3 support Ubuntu 23.10 2023-04-06 07:14:48 -05:00
Jerry Vonau
9880ed1d76 .so files2 2023-04-05 21:06:44 -05:00
Jerry Vonau
9f87beb9c9 workaround python2 being unavailable 2023-04-05 13:02:43 -05:00
A Holt
a6b8a5bfc8
default_vars.yml: 'is_raspbian_12: False' for PR #3525 2023-04-04 18:11:39 -04:00
A Holt
a0a43f3048
Merge pull request #3525 from jvonau/raspios12
RasPiOS-12
2023-04-04 18:06:25 -04:00
Jerry Vonau
413f740496 RasPiOS-12 2023-04-04 16:22:25 -05:00
A Holt
1173ec0db0
pbx/tasks/asterisk.yml: #3524 touch-up for iiab_state.yml 2023-04-04 11:16:26 -04:00
A Holt
c1c3697406
Merge pull request #3524 from jvonau/pbx_asterisk_installed
asterisk_installed
2023-04-04 11:13:21 -04:00
Jerry Vonau
7f0365c2f2 asterisk_installed 2023-04-04 07:47:42 -05:00
A Holt
d72ada5248
Merge pull request #3523 from holta/asterisk-patch
EXPERIMENTAL: 'asterisk_rpi_patch: True' option for Raspberry Pi + preliminary path to FreePBX on PHP 8
2023-04-03 11:14:18 -04:00
root
573516463d vars files: Squeeze PBX tips back into 80-char width 2023-04-03 10:52:58 -04:00
root
177cf0a5af New default 'asterisk_rpi_patch: True' + documentation 2023-04-03 10:34:46 -04:00
root
3636d67a2c pbx/tasks/main.yml: Traditional ordering for iiab.ini 2023-04-03 01:02:39 -04:00
root
545d66dbe2 pbx/files/install_prereq.diff: X86_64 -> x86_64 ; clean asterisk.yml 2023-04-03 00:25:48 -04:00
root
298866de63 asterisk.yml: Clarify 'asterisk_patch: True' for RPi #3489 2023-04-02 23:54:10 -04:00
root
5c1b99f240 Global search/replace: RaspiOS -> RasPiOS 2023-04-02 23:37:45 -04:00
root
3c360d21fa EXPERIMENTAL: asterisk_patch for RPi + prelim path to PHP 8 2023-04-02 23:25:37 -04:00
Jerry Vonau
cb1ae8d4f4 Should be in the 'block' 2023-04-02 11:05:04 -05:00
Jerry Vonau
5bbf96fff6 Should be the last nit 2023-04-02 10:30:40 -05:00
Jerry Vonau
1eb093f064 apache_installed 2023-04-02 10:11:20 -05:00
Jerry Vonau
4cf1d94e02 allow in the field twiddling of pbx_use_apache post-install2 2023-04-02 10:02:50 -05:00
Jerry Vonau
f2b1d2293f allow in the field twiddling of pbx_use_apache post-install 2023-04-02 09:53:28 -05:00
Jerry Vonau
094d66e381 record pbx_use_nginx pbx_use_apache 2023-04-02 08:47:07 -05:00
Jerry Vonau
1fee1c6dd6 use pbx_apache_installed in place of pbx_use_apache2 2023-04-02 08:31:09 -05:00
Jerry Vonau
912fe4c610 use pbx_apache_installed in place of pbx_use_apache
pbx_use_apache is an install time option
once installed the service needs to be accounted for
2023-04-02 08:25:02 -05:00
Jerry Vonau
07b310f5d5 record apache installation 2023-04-02 08:19:20 -05:00
Jerry Vonau
4736bc3873 improve comment 2023-04-02 07:10:13 -05:00
Jerry Vonau
4da7a3fb58 cover network_enabled: False 2023-04-02 06:30:06 -05:00
Jerry Vonau
09df64c05f clearer logic and remove ignore_errors 2023-04-02 06:17:21 -05:00
Jerry Vonau
e3c6d28fc4 add prefix 2023-04-02 06:09:09 -05:00
Jerry Vonau
848a947f9c Fix warning during install 2023-04-02 04:46:32 -05:00
Jerry Vonau
32c81bbb70 Stop asterisk before installing freepbx 2023-04-02 04:46:32 -05:00
Jerry Vonau
e0a7344776
Update roles/pbx/tasks/main.yml
Co-authored-by: A Holt <holta@users.noreply.github.com>
2023-04-02 02:40:30 -05:00
Jerry Vonau
11817a05a4 True 2023-04-02 02:33:07 -05:00
Jerry Vonau
6f63e73d75 drop part of patch for 'libmysqlclient-dev'
hunk was failing not sure why but aptitude did the right thing anyway
2023-04-02 02:28:56 -05:00
Jerry Vonau
3d951f7249 patch for 64-bit arm installs 2023-04-02 01:27:00 -05:00
Jerry Vonau
8833570a8e syntax 2023-04-02 01:13:50 -05:00
Jerry Vonau
31a1664483 pbx - php7.4 only 2023-04-02 01:04:00 -05:00
A Holt
26327ddd05
Merge pull request #3521 from holta/yarn-apt-key
Modernize Yarn install w/ signed apt/PPA key (prereq for Internet Archive)
2023-04-01 19:06:20 -04:00
root
e0251f0ce9 Modernize Yarn install w/ signed apt/PPA key 2023-04-01 17:00:35 -04:00
A Holt
6d9c2cf4a0
Merge pull request #3520 from jvonau/rec_arch
Record arch
2023-03-31 23:44:52 -04:00
A Holt
4a32ba0375
create_iiab_ini.yml: Raise rpi_model & devicetree_model 2023-03-31 23:39:21 -04:00
A Holt
c69d6ef96c
create_iiab_ini.yml: Try {{ os_ver }} alongside redundant/failsafe {{ ansible_facts['distribution'] }} 2023-03-31 23:30:51 -04:00
A Holt
f46c7d1555
mongodb/tasks/main.yml: Fix 'ansible_architecture' typo 2023-03-31 22:59:42 -04:00
A Holt
902e377c68
create_iiab_ini.yml: dpkg_foreign_arch, clarifs, typos 2023-03-31 22:57:36 -04:00
Jerry Vonau
4eca25a1f7 drop local_facts 2023-03-31 15:55:27 -05:00
Jerry Vonau
cc504e3416 record dpkg --print-architecture 2023-03-31 15:48:45 -05:00
A Holt
608a69974a
Merge pull request #3519 from holta/mongodb-block-32bit
Block install of MongoDB on 32-bit RasPiOS, when 'dpkg --print-architecture' shows armhf
2023-03-31 10:28:19 -04:00
root
dcad86f6d1 Block install of MongoDB on 32-bit RasPiOS 2023-03-31 09:39:53 -04:00
Jerry Vonau
faa4145d65 mongodb - lockout RasPiOS-32bit 2023-03-31 08:07:13 -04:00
A Holt
130ad7b127
Merge pull request #3514 from holta/kolibri-spring-cleaning
kolibri/tasks/install.yml spring cleaning (tighten up code, flow, in-line docs)
2023-03-30 19:47:50 -04:00
A Holt
13f5aa4978
Merge pull request #3517 from holta/mediawiki-1.39.3
mediawiki/defaults/main.yml: Version 1.39.3 LTS (security/maintenance release)
2023-03-29 17:01:32 -04:00
A Holt
85a8dd5c8f
mediawiki/defaults/main.yml: Version 1.39.3 2023-03-29 16:59:06 -04:00
root
0f9c6f29f3 Remove KOLIBRI_USER (kolibri) secondary group 'disk' 2023-03-29 16:36:20 -04:00
A Holt
bbea8c8d78
Merge pull request #3515 from holta/sugarizer-1.7.0
New Sugarizer 1.7.0
2023-03-28 16:25:59 -04:00
root
b7ca3dcc2b New Sugarizer 1.7.0 2023-03-28 16:22:20 -04:00
root
f878107fec Toughen doc URLs with %3F (instead of .3F) 2023-03-28 15:56:14 -04:00
A Holt
190ac34bd9
Mention group disk "Mostly equivalent to root access" 2023-03-28 01:23:29 -04:00
root
2a92ef46d0 kolibri/tasks/install.yml: Tighten up code & in-line docs 2023-03-27 17:38:12 -04:00
A Holt
660ee81e28
Merge pull request #3513 from holta/ansible-core-2.14.4
Recommend ansible-core 2.14.4
2023-03-27 14:22:03 -04:00
A Holt
031e85a62e
Recommend ansible-core 2.14.4 2023-03-27 14:18:50 -04:00
A Holt
61a9427e7d
Clarify /library/kolibri owner recommendation 2023-03-26 15:57:45 -04:00
A Holt
d2da3f97fa
pbx/README.adoc: Link to Asterisk Security Advisories 2023-03-25 07:28:29 -04:00
A Holt
a46b089f8a
Merge pull request #3511 from holta/nextcloud-php
TEMPORARY PATCH: Installs older Nextcloud 25 on PHP 7.4 OS's
2023-03-24 19:57:47 -04:00
root
aa66c7e11f TEMPORARY PATCH: Installs older Nextcloud 25 on PHP 7.4 OS's 2023-03-24 19:49:54 -04:00
A Holt
928bc94a1a
Merge pull request #3510 from holta/pbx-doc-update
Doc updates for Asterisk 20 & remaining PHP 7.4 OS's (as FreePBX 16 requires)
2023-03-24 19:08:17 -04:00
root
c44c20def3 Doc updates for Asterisk 20 & remaining PHP 7.4 OS's 2023-03-24 19:02:42 -04:00
A Holt
e5b1b8e4ec
Merge pull request #3508 from holta/asterisk-20
PR to help with Asterisk 20 testing
2023-03-24 18:32:45 -04:00
A Holt
d8fdb75e7c
pbx/defaults/main.yml: Try asterisk-20-current.tar.gz 2023-03-24 15:51:21 -04:00
A Holt
4e52794a73
Merge pull request #3507 from holta/kolibri-hygiene
Move 2 vars kolibri/defaults to default_vars.yml + Cleaner kolibri homedir in /etc/passwd
2023-03-23 21:15:08 -04:00
A Holt
2e5339fee9
Fix doc link "Changing the owner of Kolibri system service" 2023-03-23 21:14:17 -04:00
root
96323fd1aa 2 vars kolibri/defaults -> default_vars; cleaner /etc/passwd homedir 2023-03-23 20:58:42 -04:00
A Holt
8fb14e2cf3
2-common/tasks/packages.yml: Fix {i2c-tools, python3-pip, python3-venv} docs for #3496 2023-03-22 16:54:30 -04:00
A Holt
7365b41680
scripts/ansible: Document new OS's PEP 668 guideline 2023-03-22 08:40:29 -04:00
Jerry Vonau
a61e1b0590 use --system-site-packages and install package to omit building 'netifaces' wheel 2023-03-22 06:46:50 -05:00
A Holt
1b48a2666a
nextcloud/tasks/install.yml: Clarify Nextcloud 26 prereqs (PHP 8.2 now works!) 2023-03-21 10:57:19 -04:00
A Holt
7ae63f6a58
calibre-web/tasks/install.yml: PR #3498 doc/readability 2023-03-20 10:23:46 -04:00
A Holt
f52a7497bf
Merge pull request #3498 from jvonau/min_devs
calibre-web - compiler and header files only when needed
2023-03-20 10:21:09 -04:00
A Holt
b96ea582c9
Merge pull request #3499 from holta/gitea-1.19
gitea/defaults/main.yml: 'gitea_version: 1.19'
2023-03-20 08:20:56 -04:00
A Holt
5bd483c28b
gitea/defaults/main.yml: 'gitea_version: 1.19' 2023-03-20 08:17:38 -04:00
Jerry Vonau
abdb67d32a calibre-web - compiler and header files only when needed 2023-03-19 22:21:39 -05:00
A Holt
47e4d5197a
Merge pull request #3497 from holta/9-local-addons
Tighten up 9-local-addons thx to iiab/iiab-admin-console#526
2023-03-19 18:20:10 -04:00
A Holt
06ea1ef2bd
Tighten up 9-local-addons thx to iiab/iiab-admin-console#526 2023-03-19 18:17:29 -04:00
A Holt
c195613cfe
Update pbx/README.adoc 2023-03-19 09:34:27 -04:00
A Holt
cf07e38121
calibre-web/tasks/install.yml: apt pkg 'build-essential' context 2023-03-18 21:33:04 -04:00
A Holt
e832ec6635
Merge pull request #3496 from holta/ansible_venv
venv refinements for consideration, to tighten up scripts/ansible, deferring install of pip unless truly nec
2023-03-18 20:49:55 -04:00
A Holt
ec855c2ff9
Document "/usr/local/ansible/bin/pip3 show ansible-core" 2023-03-18 20:14:03 -04:00
A Holt
95d8300033
9-local-addons: Stub install python3-jinja2 for Admin Console 2023-03-18 19:57:17 -04:00
root
9c28f88cb2 9-local-addons: Install python3-pip 'when: admin_console_install' 2023-03-18 12:42:25 -04:00
root
7db4dc546e Revert #3422 block of JupyterHub & Caliber-Web on 32-bit HW [should've blocked 32-bit OS's] 2023-03-18 12:25:02 -04:00
root
aad12eb928 scripts/ansible: Cleaner on-screen output 2023-03-18 00:27:22 -04:00
root
cfb446479d venv cleanups: lokole, calibre-web, pip stub for Admin Console 2023-03-17 23:36:31 -04:00
root
e589bbce0f venv WIP: calibre-web/tasks/install.yml packages? 2023-03-17 22:59:02 -04:00
root
d90227e066 venv WIP: scripts/ansible & kalite/tasks/install.yml 2023-03-17 22:53:22 -04:00
Jerry Vonau
007df549ab
Update scripts/ansible
Co-authored-by: A Holt <holta@users.noreply.github.com>
2023-03-17 17:41:04 -05:00
Jerry Vonau
38e99031d7 virtual env for ansible 2023-03-17 06:10:08 -05:00
A Holt
00aa5d5a26
Merge pull request #3493 from holta/ansible-on-python-3.11
Fix PR #3491 to install ansible-core on all OS's as Python 3.11+ proliferates — accounting for older versions of pip that lack flag `--break-system-packages`
2023-03-17 00:55:46 -04:00
root
62543814da scripts/ansible FYI: pip's --break-system-packages is new (Feb 2023) 2023-03-17 00:53:57 -04:00
root
7ce3881f5c Fix PR #3491 to install ansible-core on all OS's as Python 3.11+ proliferates 2023-03-17 00:42:37 -04:00
A Holt
cb4a8e2631
Merge pull request #3491 from holta/ansible-on-python-3.11
Force 'pip install ansible-core' on Python 3.11+ for Ubuntu 23.04 (Lunar Lobster) & Debian 12 (Bookworm)
2023-03-16 21:38:32 -04:00
root
4750badc4e Force 'pip install ansible-core' on Python 3.11+ 2023-03-16 21:28:42 -04:00
A Holt
023ea9f499
Merge pull request #3490 from holta/kolibri-kreyol
Add Haitian Creole (Kreyòl) as Kolibri's 32nd languages
2023-03-15 17:58:15 -04:00
root
bdd08b9b6d Add Haitian Creole as Kolibri's 32nd languages 2023-03-15 17:05:46 -04:00
A Holt
95a693167c
Merge pull request #3488 from holta/iiab-diagnostics_cypress
iiab-diagnostics: Report /lib/firmware/cypress/* not brcm
2023-03-08 00:30:27 -05:00
A Holt
12d7397ff7
iiab-diagnostics: Report /lib/firmware/cypress/* not brcm 2023-03-08 00:27:22 -05:00
A Holt
0292fad92e
Merge pull request #3485 from holta/mongodb-on-amd64
MongoDB: Use jammy repo on amd64 (unless Debian 11)
2023-03-06 21:42:20 -05:00
A Holt
2786eedcb7
MongoDB: Use jammy repo on amd64 (unless Debian 11) 2023-03-06 21:29:03 -05:00
A Holt
ba8ea3c72c
README.md: Fix RPi images link 2023-03-01 14:07:31 -05:00
A Holt
21636907d6
Merge pull request #3484 from holta/ansible-core-2.14.3
Recommend ansible-core 2.14.3
2023-02-28 09:47:56 -05:00
A Holt
7d9e1fc62a
Recommend ansible-core 2.14.3 2023-02-28 09:46:17 -05:00
A Holt
1165dc715f
pbx/README.adoc: Will FreePBX 17 arrive by ~2024 to solve the PHP 8 dilemma? 2023-02-26 20:39:58 -05:00
A Holt
665f403565
pbx/README.adoc: Louder PHP 7.4 requirement WARNING! 2023-02-26 20:20:04 -05:00
A Holt
68b607167d
Merge pull request #3482 from holta/rpi-wifi-firmware3
Set WiFi firmware in /lib/firmware/cypress due to RasPiOS & Ubuntu changes
2023-02-25 21:31:16 -05:00
root
314631bb3e roles/firmware: Tighten up in-line explanations 2023-02-25 21:16:17 -05:00
A Holt
0cf87464ba
Merge pull request #3483 from holta/mongodb-on-aarch64
Refine PR #3481: MongoDB 5.x still requires libssl1.1 for aarch64 Ubuntu 22+ or Debian 12+
2023-02-25 19:31:57 -05:00
root
c591ed16c3 Refine PR #3481: MongoDB for aarch64 Ubuntu 22+ or Debian 12+ 2023-02-25 19:17:27 -05:00
root
ae5daf5830 vars/local_vars_unittest.yml: Update WiFi firmware options 2023-02-25 15:52:54 -05:00
root
d09046b501 roles/firmware for WiFi hotspot: Update in-line docs 2023-02-25 15:41:08 -05:00
root
4831fd6d7e CLARIF: full backup of symlinks + later "doubly timestamped" symlink contents 2023-02-25 13:55:41 -05:00
root
57326cebce Set WiFi firmware in /lib/firmware/cypress 2023-02-25 03:42:23 -05:00
A Holt
bd9a6bb3a0
Merge pull request #3481 from holta/mongodb-on-arm64
Revert jammy to focal for MongoDB 5.0.5 collateral on arm64/aarch64
2023-02-24 16:51:24 -05:00
root
7fc222d495 Revert jammy to focal for MongoDB 5.0.5 collateral on arm64/aarch64 2023-02-24 16:30:47 -05:00
A Holt
79917e22c2
Merge pull request #3480 from holta/mediawiki-1.39.2
mediawiki/defaults/main.yml: Version 1.39.2
2023-02-22 16:08:08 -05:00
A Holt
9468d1f83a
mediawiki/defaults/main.yml: Version 1.39.2 2023-02-22 16:06:31 -05:00
A Holt
0af529b448
Merge pull request #3478 from holta/sugarizer-server-1.5.0
sugarizer-server-1.5.0
2023-02-15 19:05:18 -05:00
A Holt
64b02509cd
Update size(s) of /opt/iiab/sugarizer-server 1.5.0 2023-02-15 19:04:43 -05:00
A Holt
b2e0d45f2d
sugarizer-server-1.5.0 2023-02-15 16:30:31 -05:00
A Holt
f8efc93d0a
Clarify jupyterhub_config.py.j2 for #3476: "8 of IIAB's 10 legacy custom lines" 2023-02-10 10:01:32 -05:00
A Holt
73dce5ffb4
Merge pull request #3476 from holta/jupyterhub3
Update jupyterhub_config.py.j2 for JupyterHub 3.1.1 & /run/jupyterhub-proxy.pid [+ refine doc. Is error "IOPub data rate exceeded" common &/or solvable?]
2023-02-10 09:24:50 -05:00
A Holt
9dd6fb2524
jupyterhub/README.md: Link to jupyterhub/systemdspawner docs 2023-02-09 22:21:45 -05:00
A Holt
5bced2429f
jupyterhub_config.py.j2: Remove unused "c.SystemdSpawner.user_workingdir = '/opt/iiab/notebooks/{USERNAME}'" 2023-02-09 21:57:19 -05:00
A Holt
bb85ab918f
jupyterhub/README.md: File > Hub Control Panel > Admin 2023-02-08 21:18:16 -05:00
A Holt
ec9b0b5cba
jupyterhub/README.md: Clarify "Hub Control Panel" 2023-02-08 21:08:01 -05:00
A Holt
7c046c100b
jupyterhub/README.md: Tighter journalctl logging tips 2023-02-08 19:31:20 -05:00
A Holt
34effae368
jupyterhub/README.md: Explain logging, via journalctl 2023-02-08 19:26:41 -05:00
A Holt
49bad59d78
Cleaner explanation on top of jupyterhub_config.py.j2 2023-02-08 13:02:16 -05:00
A Holt
8d3864090e
Mention /opt/iiab/jupyterhub (3.1.1) is now ~326 MB 2023-02-08 12:47:39 -05:00
A Holt
872c77d728
jupyterhub/README.md: Clarifs & new screenshots 2023-02-08 12:17:19 -05:00
root
b0f5a85e20 Update jupyterhub_config.py.j2 for JupyterHub 3.1.1 & /run/jupyterhub-proxy.pid 2023-02-08 11:34:49 -05:00
A Holt
689ce1e775
Merge pull request #3474 from holta/phpmyadmin-5.2.1
phpMyAdmin 5.2.1
2023-02-07 22:02:00 -05:00
A Holt
611a0ac01a
phpMyAdmin 5.2.1 2023-02-07 21:59:41 -05:00
A Holt
c74b8c751f
Merge pull request #3471 from holta/ansible-core-2.14.2
Recommend ansible-core 2.14.2
2023-01-30 18:27:44 -05:00
A Holt
69bde5e745
Recommend ansible-core 2.14.2 2023-01-30 18:25:00 -05:00
A Holt
555c7a7711
openvpn/defaults/main.yml: Clarify openvpn_server_real_ip etc 2023-01-30 08:51:43 -05:00
A Holt
30e0169f7a
osm-vector-maps/tasks/install.yml: Clarify {{ osm_repo_url }}/{{ maps_branch }} 2023-01-27 23:54:43 -05:00
A Holt
81bb08ffb5
kolibri/tasks/install.yml: Clarify {{ kolibri_deb_url }} is just an example 2023-01-24 12:12:59 -05:00
A Holt
42c57998d6
Merge pull request #3470 from holta/moodle-on-php-8.2
Install Moodle dev pre-release (e.g. 4.2dev for now) IFF PHP >= 8.3
2023-01-21 12:27:46 -05:00
root
e9c6cffef2 Install Moodle dev pre-release IFF PHP >= 8.3 2023-01-21 12:26:45 -05:00
A Holt
ded399934f
mongodb/tasks/install.yml: Clarify line numbers 2023-01-20 00:42:36 -05:00
A Holt
247e582b56
#3469 clarif: IIAB overlays MongoDB 5.0.5 64-bit RPi binaries 2023-01-20 00:35:35 -05:00
A Holt
68dfc9239b
2022 -> 2023: Fix PR #3469 comment typo 2023-01-20 00:09:07 -05:00
A Holt
06f8001cb7
PR #3469's Debian 11 code path was also tested 2023-01-20 00:05:39 -05:00
A Holt
f36462b0aa
Merge pull request #3469 from holta/mongodb-2023
Avoid bolting on libssl1.1, now that MongoDB can use libssl3 (at long last!) [e.g. on Ubuntu 22.04+ & Debian 12]
2023-01-19 23:46:50 -05:00
root
b0cad086c0 ASIDE: MongoDB 6.0.3+ MIGHT run on 64-bit Ubuntu on RPi 2023-01-19 23:11:34 -05:00
root
0b23bd3ab5 mongodb/tasks/install.yml: Comments more future-proof 2023-01-19 22:58:03 -05:00
root
8f4024a0e4 Clarify MongoDB CAN use libssl3 on Ubuntu 22.04+ & Debian 12 2023-01-19 22:37:27 -05:00
root
7b097908a9 Try to avoid libssl1.1, now that MongoDB can use libssl3 2023-01-19 21:56:46 -05:00
A Holt
e378fae876
Merge pull request #3466 from holta/nodejs-19.x-with-internetarchive
internetarchive/tasks/install.yml: Enforce Node.js <= 19.x
2023-01-13 11:03:02 -05:00
A Holt
6d2725f63b
internetarchive/tasks/install.yml: Enforce Node.js <= 19.x 2023-01-13 11:01:32 -05:00
A Holt
3ccdbac923
Merge pull request #3464 from holta/mediawiki-1.39.1
mediawiki/defaults/main.yml: Version 1.39.1
2023-01-12 08:34:54 -05:00
A Holt
0f614f1be3
mediawiki/defaults/main.yml: Version 1.39.1 2023-01-12 08:33:44 -05:00
A Holt
e65b03b70a
Update iiab-diagnostics.README.md per PR #3462 2023-01-11 14:27:40 -05:00
A Holt
199c121a51
Merge pull request #3462 from holta/iiab-diagnostics_work
iiab-diagnostics: Highlight /etc/iiab/install-flags sequence
2023-01-11 14:23:34 -05:00
root
5f7b8cc34f iiab-diagnostics: Highlight /etc/iiab/install-flags sequence 2023-01-11 14:15:00 -05:00
A Holt
d8e2318670
Merge pull request #3461 from holta/refresh-wiki-docs
http://box/info/admin-console offline docs [& fix iiab-refresh-wiki-docs e.g. for scraping of Raspberry Pi Images docs]
2023-01-11 13:57:49 -05:00
root
98cff07ca3 Rename $ADMINCONSOLEPATH to $ADMINDOCSPATH 2023-01-11 10:26:57 -05:00
root
e34d84f712 Scrape RPi Image docs using ~ not : (and recurse into subdirs) 2023-01-11 09:57:04 -05:00
A Holt
d5fd98b08e
Update iiab-refresh-wiki-docs.sh 2023-01-10 23:27:21 -05:00
root
64cd4a40a7 'fancyindex_exact_size off;' human-readable for box/info 2023-01-10 19:57:43 -05:00
root
0ff334eeda Safer: 'cp /opt/iiab/iiab-admin-console/docs/*.md ...' 2023-01-10 19:52:34 -05:00
root
0ac162fdc6 'fancyindex on;' in nginx/templates/iiab.conf.j2 instead + box/info resiliency 2023-01-10 19:42:19 -05:00
root
1b2930c52d 'cp -r' was overkill: 'cp /opt/iiab/iiab-admin-console/docs/*' suffices 2023-01-10 19:18:01 -05:00
root
65cb09c67b iiab-refresh-wiki-docs also needs to run w/o Admin Console 2023-01-10 19:10:35 -05:00
root
31bd87cd1c http://box/info/admin-console offline docs 2023-01-10 19:01:59 -05:00
A Holt
0c93392146
scripts/ansible: Update explanatory URL 2023-01-08 10:59:45 -05:00
A Holt
badf12ec28
Update README.md 2023-01-07 16:39:35 -05:00
A Holt
64226e5a6e
Merge pull request #3460 from cwivagg/patch-3
Update matomo-nginx.conf.j2 ["fix the error private directories are accessible"]
2023-01-07 10:02:07 -05:00
cwivagg
ccaa118dad
Update matomo-nginx.conf.j2
Move file to higher precedence to handle non-php files as well.
2023-01-07 08:27:56 -05:00
cwivagg
08ade5cd1e
Update matomo-nginx.conf.j2
Fix security problems noted in https://github.com/iiab/iiab/issues/3441.
2023-01-07 07:42:17 -05:00
A Holt
616efbed60
Merge pull request #3459 from jvonau/fix_ansible
revert to using pip for ansible on 32bit RasPiOS
2023-01-07 06:55:45 -05:00
Jerry Vonau
a94bc0e070 revert to using pip for ansible on 32bit RaspOS 2023-01-06 19:09:58 -06:00
A Holt
06ea7a9146
Update CONTRIBUTING.md 2023-01-04 10:15:09 -05:00
A Holt
f11adb312f
Merge pull request #3458 from holta/lokole-in-LARGE-installs
Enable Lokole during MEDIUM/LARGE IIAB installs
2023-01-04 09:14:07 -05:00
root
305af9a9bb Enable Lokole during MEDIUM/LARGE IIAB installs 2023-01-04 09:04:51 -05:00
A Holt
ecc81829df
Merge pull request #3457 from holta/tests.unused
Travis CI: git mv tests tests.unused
2023-01-04 08:53:20 -05:00
root
db489402d9 Travis CI: git mv tests tests.unused 2023-01-04 08:47:20 -05:00
A Holt
9b6681b4d0
Pre-release version number 'iiab_base_ver: 8.1' 2023-01-01 01:39:44 -05:00
A Holt
8f04d45fa2
Fix comment Re: matomo/tasks/install.yml Lines 63-199 2022-12-30 10:54:03 -05:00
A Holt
840f1df60d
PR #3453 php-settings.yml: Remove unnec quotes 2022-12-30 06:31:13 -05:00
A Holt
92926b9040
0-init/tasks/hostname.yml: Remove stale comments 2022-12-30 05:52:23 -05:00
A Holt
ef71e4f6d9
Merge pull request #3453 from holta/php-tz
Store actual System TZ (not Ansible's ambiguous TZ abbreviations) into fpm/php.ini & cli/php.ini — for Matomo etc
2022-12-30 05:38:40 -05:00
root
322b7729d9 www_options/tasks/php-settings.yml: Cleaner comments 2022-12-30 15:21:20 +05:30
root
a02c452110 Store System TZ into fpm/php.ini & cli/php.ini for Matomo etc 2022-12-30 14:39:46 +05:30
A Holt
abf5e08f3f
0-init/tasks/tz.yml: Clarify Time Zone (TZ) extraction 2022-12-30 02:35:10 -05:00
A Holt
371146c4ed
0-init/tasks/tz.yml: Why ansible_date_time.tz is a problem 2022-12-30 02:29:16 -05:00
A Holt
e3ef4cded0
Explain #3449 set-php-limits.yml (top line summary) 2022-12-29 17:50:12 -05:00
A Holt
f8b625f253
Merge pull request #3451 from holta/gitea-1.18
Use the new 'gitea_version: 1.18' (instead of 1.17)
2022-12-29 15:27:00 -05:00
A Holt
2c20165768
Use the new 'gitea_version: 1.18' (instead of 1.17) 2022-12-29 15:24:01 -05:00
A Holt
cc17e30a02
Merge pull request #3449 from holta/set-php-limits
PHP Limits Dependency Cleanup: www_options/tasks/set-php-limits.yml run on demand (by 5 relevant roles)
2022-12-29 15:04:27 -05:00
root
6f06bfacd0 Allow post-install toggling of nginx_high_php_limits 2022-12-30 01:15:09 +05:30
A Holt
a4b8f74fe2
Merge branch 'master' into set-php-limits 2022-12-29 12:48:02 -05:00
A Holt
61f9919426
Merge pull request #3448 from cwivagg/patch-2
Several updates to make Matomo experience cleaner
2022-12-29 12:43:24 -05:00
root
2a7eba7297 Set PHP limits right after PHP reqs/recs, so each role installs smoothly 2022-12-29 11:48:17 -05:00
root
3dbfabcd8d Merge branch 'set-php-limits' of https://github.com/holta/iiab into set-php-limits 2022-12-29 10:29:52 -05:00
root
eba3225b7c Rename flag to set_php_limits_done (so it runs once at most, per Ansible run) 2022-12-29 10:29:01 -05:00
cwivagg
74c680cc6d
Update README
Remove notes about trusted website check to reflect this patch, and add note about time zone.
2022-12-29 10:21:34 -05:00
A Holt
b597913886
Clarify explanation at top of set-php-limits.yml 2022-12-29 09:05:19 -05:00
root
81004687c8 www_options/tasks/set-php-limits.yml run on demand (by 5 roles) 2022-12-29 08:36:45 -05:00
cwivagg
27b0c5b843
Add required PHP extensions 2022-12-29 06:20:53 -05:00
cwivagg
e635b25d7a
Don't make slash required in Matomo URL 2022-12-29 05:15:05 -05:00
cwivagg
424f15c4d2
Switch from lineinfile to ini_file
lineinfile was really struggling to handle a k/v value with "=" in it. ini_file is built for precisely this file format and handles the issue effortlessly.
2022-12-27 15:56:14 -05:00
cwivagg
7fb4bdde88
Escape equals for skip trusted host check 2022-12-27 15:20:22 -05:00
cwivagg
34463b800f
Fix regex for lineinfile 2022-12-27 15:02:38 -05:00
cwivagg
3319e287d4
Disable trusted host check for Matomo
Per 2022-12-27 IIAB community minutes 3b.
2022-12-27 14:34:52 -05:00
A Holt
7882dcb7f8
Merge pull request #3447 from holta/matomo-php-limits
Somewhat higher PHP limits for Matomo — similar to Nextcloud, PBX, WordPress
2022-12-27 12:31:52 -05:00
root
4638bc7124 Somewhat higher PHP limits for Matomo 2022-12-27 12:15:57 -05:00
A Holt
59bd6eecfd
Fix www_options comments: Default is "memory_limit = -1" in cli/php.ini 2022-12-27 10:19:34 -05:00
A Holt
dfaccc42ae
Typo: Fix date in comment (ca927e86) 2022-12-27 08:11:06 -05:00
A Holt
ca927e86ee
sshd/tasks/install.yml: Comment hygiene, similar to #3444 2022-12-27 08:08:20 -05:00
A Holt
ffa16d5bfb
#3446: Further clarify /etc/cron.d/kiwix-serve_daily instead of... 2022-12-27 07:34:40 -05:00
A Holt
fa8d05bab3
Merge pull request #3446 from holta/kiwix-simplify
Put Kiwix var {{ systemctl_program }} to rest — simple is almost always better
2022-12-27 07:30:24 -05:00
root
f082df8ef4 /etc/cron.d/kiwix-serve_daily instead of defaults 2022-12-27 07:17:09 -05:00
root
f9b5e74d8a Enable/Disable kiwix-serve 4AM daily cron (using Ansible) 2022-12-26 18:30:03 -05:00
root
37f7d3eeaf Too many global vars: put {{ systemctl_program }} to rest 2022-12-26 16:03:19 -05:00
A Holt
0125554869
matomo/README.adoc: Clarify KA Lite restriction 2022-12-25 18:17:13 -05:00
A Holt
a0fa51578c
matomo/tasks/install.yml: Lint 2022-12-25 09:56:40 -05:00
A Holt
c3f571f40a
Merge pull request #3443 from cwivagg/patch-1
Fix for Issue #3441
2022-12-25 09:34:09 -05:00
A Holt
432e050e08
Merge pull request #3445 from holta/sshd_service-fix
iiab-admin/templates/sshpwd-lxde-iiab.sh.j2: Fix {{ sshd_service }}
2022-12-25 08:32:23 -05:00
root
9c21d688ad iiab-admin/templates/sshpwd-lxde-iiab.sh.j2: Fix {{ sshd_service }} 2022-12-25 08:29:13 -05:00
cwivagg
4823353dd9
Replace shell commands with ansible 2022-12-24 10:30:47 -05:00
A Holt
12f8069680
matomo/README.adoc: "time stops" on some IIAB's (lacking RTC) but not all! 2022-12-24 08:56:10 -05:00
cwivagg
b968fd40f5
changes to cronjob hack as test 2022-12-24 08:52:14 -05:00
A Holt
c7ef1ce3d6
matomo/README.adoc: "username" consistency can't hurt 2022-12-24 08:48:31 -05:00
cwivagg
dd5c181807
Add permissions fix as cronjob 2022-12-24 08:19:22 -05:00
cwivagg
3b3d223beb
Fix for Issue #3441 2022-12-24 07:29:02 -05:00
A Holt
13df79006c
Might as well align linuxmint-20.yml.unused w/ others 2022-12-23 17:27:17 -05:00
A Holt
5d66eb5f89
Might as well align ubuntu-2004.yml.unused w/ others 2022-12-23 17:25:54 -05:00
A Holt
87ef9b7f23
Merge pull request #3440 from holta/versions_less_brittle
Put vars/<OS-VER>.yml files on a diet, moving stale vars to default_vars.yml or roles/X/defaults
2022-12-22 01:10:55 -05:00
A Holt
fec9addc0f
postgresql/tasks/install.yml: Update comment 2022-12-22 00:50:07 -05:00
root
d720e209e3 Move stale vars: vars/OS.yml to default_vars.yml or roles/X/defaults 2022-12-22 00:22:56 -05:00
A Holt
38ee0cfe81
default_vars.yml: Mention /opt/iiab/iiab/vars/<OS_VER>.yml 2022-12-21 22:17:23 -05:00
A Holt
503d8d0c24
local_facts.fact: Clarify mechanics for PRs #3438 #3439 2022-12-21 22:11:17 -05:00
A Holt
4b17d0b4ab
Merge pull request #3439 from holta/versions_less_brittle
Dynamically extract php_version & python_version
2022-12-21 21:45:56 -05:00
A Holt
313fd279a2
Rename linuxmint-20.yml to linuxmint-20.yml.unused 2022-12-21 21:14:12 -05:00
A Holt
51d5bd8a55
local_facts.fact: Transition Linux Mint 20 to 21, as per #3416 2022-12-21 21:12:02 -05:00
root
cc659d0837 Dynamically extract php_version & python_version 2022-12-21 19:29:04 -05:00
A Holt
2408a08aa9
Merge pull request #3438 from holta/versions_less_brittle
Dynamically extract python_ver & postgresql_version
2022-12-21 15:03:12 -05:00
root
b8e0b5e13a Cleaner sed in nextcloud, postgresql, iiab-diagnostics 2022-12-21 14:18:27 -05:00
A Holt
0a114af24e
postgresql/tasks/install.yml typo: numner -> number 2022-12-21 14:07:10 -05:00
root
b691bd8252 Dynamically extract python_ver & postgresql_version 2022-12-21 13:34:30 -05:00
A Holt
f43aebf491
Merge pull request #3437 from holta/gitignore-cleanup
.gitignore enhanced for emacs, which generates even more tmp files since 2022
2022-12-21 09:25:34 -05:00
A Holt
cca40edb3d
.gitignore enhanced for emacs, which generates even more tmp files since 2022 2022-12-21 09:23:21 -05:00
A Holt
c48abf70c4
Merge pull request #3436 from holta/gitignore-cleanup
Clean .gitignore: XS bitrot, space pollution, emacs support
2022-12-21 08:51:42 -05:00
A Holt
7746ebd2d2
Clean .gitignore: XS bitrot, space pollution, emacs support 2022-12-21 08:49:26 -05:00
A Holt
83a6a2db0b
www_base/tasks/main.yml: php-stem.yml might later support PHP 8.2 2022-12-21 08:24:28 -05:00
A Holt
22906e748c
Merge pull request #3435 from holta/travis-removal
Rename .travis.yml to .travis.yml.unused
2022-12-21 08:11:44 -05:00
A Holt
ef8808b28d
Rename .travis.yml to .travis.yml.unused 2022-12-21 08:09:23 -05:00
A Holt
872928c885
Merge pull request #3432 from holta/ansible-core-2.14.1
Recommend ansible-core 2.14.1
2022-12-06 16:21:56 -05:00
A Holt
7003fa984c
Recommend ansible-core 2.14.1 2022-12-05 12:50:57 -05:00
A Holt
31d7733b70
Merge pull request #3431 from holta/mediawiki-1.39.0
Install the new MediaWiki 1.39.0 LTS
2022-12-01 12:23:20 -05:00
A Holt
4385d4eb82
mediawiki/defaults/main.yml: Version 1.39.0 2022-12-01 12:17:48 -05:00
A Holt
4c4ce7fa32
Clarify /library/gitea/bin/gitea-1.17 begins as ~108 MB 2022-11-28 10:58:19 -05:00
A Holt
3de6916af2
#3430: Moodle 4.2 will require php exif (we're already set!) 2022-11-27 14:29:18 -05:00
A Holt
25f8edb80a
Merge pull request #3430 from holta/MOODLE_401_STABLE
Install new Moodle 4.1 LTS, or 4.2dev if OS PHP >= 8.2
2022-11-27 13:49:52 -05:00
root
3ca4a88736 Clarify Moodle 4.1 size on disk; "weekly" master 4.2dev 2022-11-27 13:46:29 -05:00
root
cc226b9e2d Install Moodle 4.1 LTS, or 4.2dev if OS PHP >= 8.2 2022-11-27 13:20:26 -05:00
A Holt
e9cceb469b
Merge pull request #3429 from iiab/netplan.j2-template-currently-unused
Move netplan.j2 to netplan.j2.unused (as May 2020's PR #2380 reverted PR #1634)
2022-11-23 12:52:14 -05:00
A Holt
d44f814e0e
Move netplan.j2 to netplan.j2.unused (as PR #2380 reverted PR #1634) 2022-11-23 12:38:37 -05:00
Tim Moody
fcc8bcc127
Merge pull request #3426 from tim-moody/7.3.7-minetest
Upgrade MineTest to only use package on all platforms
2022-11-18 09:02:13 -05:00
tim-moody
1f68641c71 update readme 2022-11-18 09:01:46 -05:00
tim-moody
d5ad79720c fixes 2022-11-17 11:56:18 -05:00
tim-moody
28b345ab78 mark templates unused 2022-11-17 09:41:18 -05:00
tim-moody
cfdba34b64 forgot to commit default_vars.yml
os vars not needed
2022-11-17 09:36:26 -05:00
tim-moody
cd8f599dd7 wip 2022-11-16 17:29:30 -05:00
A Holt
6333ea1483
minetest/README.rst: Unhelpful mention of ancient OS's 2022-11-15 08:00:07 -05:00
A Holt
03fd8b267f
/opt/iiab/jupyterhub size estimate: ~304 -> ~271 MB 2022-11-11 13:00:08 -05:00
A Holt
352a8f3540
Update latest.tar.bz2 & /library/www/nextcloud sizes 2022-11-10 21:04:26 -05:00
A Holt
7c0dd387b4
Merge pull request #3423 from holta/ubuntu-23.04-vars
Create ubuntu-2304.yml, as daily builds are now available for testing (via Multipass etc)
2022-11-10 20:06:06 -05:00
A Holt
56457b9829
/library/www/nextcloud initial footprint: 507 -> 519MB 2022-11-10 19:57:05 -05:00
A Holt
87ef96b029
Create ubuntu-2304.yml 2022-11-10 19:29:05 -05:00
A Holt
8ade0db643
Merge pull request #3422 from holta/block-JupHub+CalWeb-on-32bit
Block iiab-install of JupyterHub & Calibre-Web on 32-bit, til RasPiOS fixes Rust, wheels / cryptography
2022-11-10 12:44:09 -05:00
root
06c4b7aaf6 Block iiab-install of JHub+CWeb on 32-bit, til RasPiOS fixes Rust 2022-11-10 12:30:54 -05:00
A Holt
b5105ae8f2
Merge pull request #3421 from holta/ansible-workaround-on-32bit
Til wheels / cryptography fixed: ansible-core 2.12.10+ PPA on 32-bit RasPiOS
2022-11-10 11:41:38 -05:00
A Holt
1adef0e0ce
Clarify focal PPA is ansible-core 2.12.10+ (i.e. evolving!) 2022-11-09 22:25:30 -05:00
root
125d930bdb Til wheels fixed: ansible-core 2.12.10+ PPA on 32-bit RasPiOS 2022-11-09 21:57:58 -05:00
A Holt
14a1b69113
iiab-install: Clarify ansible-core 2.11 for RPi 3 (PR #3419) 2022-11-09 09:43:12 -05:00
A Holt
e3481e1e8c
Merge pull request #3419 from holta/ansible-core-2.11-on-rpi-3
RPi 3 installs/requires the older ansible-core 2.11.x (for now?)
2022-11-09 09:36:20 -05:00
A Holt
c46ffa142b
RPi 3 install/requires ansible-core 2.11.x (for now?) 2022-11-09 09:33:43 -05:00
A Holt
9115ce3966
Merge pull request #3418 from holta/ansible-core-2.14.0
Recommend ansible-core 2.14.0
2022-11-07 09:38:54 -05:00
A Holt
26a7b66f11
Merge pull request #3417 from holta/ansible214rc2
Ansible 2.14 disallows 'args:' 'warn: no'
2022-11-06 21:40:21 -05:00
root
b952d65c46 Ansible 2.14 disallows 'args:' 'warn: no' 2022-11-06 21:38:33 -05:00
A Holt
26eb7935ba
Recommend ansible-core 2.14.0 2022-11-06 21:07:58 -05:00
A Holt
719e81c660
gateway/iiab-internet-on: Tighter instructions 2022-11-02 01:15:22 -04:00
A Holt
3236dbef96
gateway/iiab-internet-off: Tighter instructions 2022-11-02 01:14:40 -04:00
A Holt
1ddbc6f635
network/tasks/dnsmasq.yml: Indent per Ansible norm 2022-11-02 00:47:45 -04:00
A Holt
d082e81362
enable_services.yml: Remove 110+ stale lines (dhcpd, named, DansGuardian, Wondershaper} 2022-11-01 22:44:02 -04:00
A Holt
0dc7aeed33
kalite/tasks/install.yml: Clarify PR #3415 2022-10-28 19:00:24 -04:00
A Holt
88078ea363
Merge pull request #3415 from holta/u2304
Preliminary support for Ubuntu 23.04 Lunar Lobster
2022-10-28 14:51:38 -04:00
root
c05588b09d Tighten up kalite/tasks/install.yml for recent OS's 2022-10-28 14:41:20 -04:00
root
4f94011781 Prelim support for Ubuntu 23.04 Lunar Lobster 2022-10-28 13:55:43 -04:00
A Holt
3e33569605
Merge pull request #3414 from holta/deb12-postgresql15
Debian 12 Bookworm uses PostgreSQL 15 (released 2022-10-13)
2022-10-26 21:47:04 -04:00
A Holt
4512a2afaa
vars/debian-12.yml: postgresql_version: 15 2022-10-26 21:43:44 -04:00
A Holt
5c9fe08303
Merge pull request #3413 from holta/kolibri-on-2304-2310-etc
Modernize install of Kolibri PPA for Ubuntu 22.04+ (e.g. 23.04, 23.10, etc)
2022-10-24 23:12:47 -04:00
root
339d72de20 Modernize Kolibri PPA installer for Ubuntu 23.04, 23.10 etc 2022-10-24 22:59:34 -04:00
A Holt
33f1989c7b
Merge pull request #3411 from holta/mongodb-arm64
Force-install libssl1.1 on ARM64 Ubuntu 22.04+ for MongoDB 5+ & Sugarizer
2022-10-24 00:20:30 -04:00
root
e82b486b60 Force-install libssl1.1 on ARM64 22.04+ for MongoDB 5+ & Sugarizer 2022-10-23 23:43:38 -04:00
A Holt
adb9087894
Clarify "If Nodesource.com doesn't yet support your OS" 2022-10-23 14:38:22 -04:00
A Holt
15a689e30b
Merge pull request #3410 from holta/node-minus-bureaucracy
Use OS's Node.js & npm if Nodesource dragging (+ always wipe prior versions)
2022-10-22 23:41:28 -04:00
A Holt
be3a44e51f
nodejs/README.md: Clarify RPi Zero [2] W suggestions 2022-10-22 23:24:13 -04:00
A Holt
344c8788a7
roles/nodejs/README.md: Clarify Nodesource.com links 2022-10-22 23:01:20 -04:00
A Holt
dca476467d
Update nodejs/README.md 2022-10-22 22:29:09 -04:00
root
91a5cd33f3 Use OS's Node.js & npm if Nodesource dragging (+ always wipe prior versions) 2022-10-22 21:50:37 -04:00
A Holt
065dfcb550
usb_lib/tasks/install.yml: Investigate usbmount 0.0.24 &/or 0.0.25 2022-10-21 11:56:22 -04:00
A Holt
b02440e23e
Merge pull request #3407 from holta/mongodb-deb12
MongoDB 4.4 -> 6.0; force libssl1.1 for Debian 12 (for Sugarizer)
2022-10-19 19:04:33 -04:00
root
7e5099553f MongoDB 4.4 -> 6.0; force libssl1.1 for Debian 12 2022-10-19 18:51:16 -04:00
A Holt
bec21a56f0
Merge pull request #3400 from holta/apt_install_cron
2-common/tasks/packages.yml: Debian 12 needs 'apt install cron'
2022-10-19 14:00:10 -04:00
A Holt
daf3e5ce69
Update nextcloud/README.md re: "latest" Nextcloud 22+ reqs 2022-10-19 09:55:43 -04:00
A Holt
f4622e54ce
Nextcloud 25.0.0 PHP 7.4, 8.0 or 8.1 reqs verified & documented 2022-10-19 09:51:24 -04:00
A Holt
4b85b2fd37
Clarify Nextcloud 25.0.0 (~138MB) expands to ~507MB & later 531+ MB 2022-10-19 09:22:32 -04:00
A Holt
7f61cb5cba
Merge pull request #3405 from holta/published-pwd-warnings-fix2
Refine published password warnings, avoiding Mint 21 pop-up
2022-10-18 19:02:58 -04:00
A Holt
1ca77cdf86
Clarify useless pop-up risk on RasPiOS like Mint, due to sudo -n 2022-10-18 19:02:19 -04:00
root
98e66a4838 Refine pwd warnings, avoiding Mint 21 pop-up 2022-10-18 18:47:52 -04:00
A Holt
83ef81b4df
Merge pull request #3402 from holta/nodered-settings
Copy Node-RED's default settings.js from /usr/lib/... OR /usr/local/lib/…
2022-10-13 20:26:11 -04:00
A Holt
75fc75ce3d
Node-RED's /usr/lib/.../settings.js (OLD WAY) *might* later be removable 2022-10-13 20:25:04 -04:00
root
aad72373ea Copy Node-RED's default settings.js from /usr/lib/... OR /usr/local/lib/... 2022-10-13 20:07:44 -04:00
A Holt
10eef2f6d9
Document /home/nodered/.node-red/settings.js (username pi is no longer!) 2022-10-13 16:23:53 -04:00
A Holt
b11a608adb
Clarify PR #3397: Force libssl1.1 on Mint 21 too 2022-10-13 14:44:10 -04:00
A Holt
ecff206fea
2-common/tasks/packages.yml: Debian 12 needs 'apt install cron' 2022-10-13 14:34:00 -04:00
A Holt
e46e34679e
Merge pull request #3397 from holta/mongodb_mint-21_fix
mongodb/tasks/install.yml: Force libssl1.1 on is_linuxmint_21 too (for Sugarizer)
2022-10-12 18:07:08 -04:00
A Holt
3636626016
mongodb/tasks/install.yml: Force libssl1.1 on is_linuxmint_21 too 2022-10-12 18:04:53 -04:00
A Holt
ff0a3d1a5a
Merge pull request #3396 from holta/ansible-core-2.13.5
Recommend ansible-core 2.13.5
2022-10-11 12:04:10 -04:00
A Holt
f9e6b50bae
Update ansible 2022-10-11 12:03:52 -04:00
A Holt
009562b6c5
Recommend ansible-core 2.13.5 2022-10-11 12:00:56 -04:00
A Holt
65dcf0cb42
Merge pull request #3395 from holta/remoteit-ops
Refine remote.it operations, now that connectd system service is gone, and considering 3 valid states for /etc/remoteit/registration
2022-10-09 18:54:30 -04:00
A Holt
09fbcbb71f
remoteit/README.md: Their $6/month rose to $10/month 2022-10-09 18:52:13 -04:00
A Holt
c1e83a5965
iiab-remoteit-off: Comment out obsolete connectd ops 2022-10-09 18:46:20 -04:00
root
da88bdba9e roles/remoteit: small fixes + cleanup 2022-10-09 18:31:22 -04:00
A Holt
586efa1ecf
/usr/bin/iiab-remoteit: connectd systemd service GONE from 4.15.2 2022-10-09 17:43:26 -04:00
A Holt
617c4436a2
remoteit/tasks/enable-or-disable.yml: Use /usr/share/remoteit/refresh.sh not connected 2022-10-09 17:09:23 -04:00
A Holt
865d2434eb
remoteit/tasks/main.yml: Use skip_role_on_error 2022-10-09 16:34:04 -04:00
A Holt
84397e67b2
remoteit/defaults/main.yml: New arch dict + URLs for optional CLI 2022-10-09 16:29:54 -04:00
A Holt
5cd2187796
remoteit/tasks/install.yml: Defer deletion of /etc/remoteit/registration 2022-10-09 15:09:10 -04:00
A Holt
0d646a2b85
enable-or-disable.yml: Remove empty file /etc/remoteit/registration if remoteit_enabled 2022-10-09 14:51:49 -04:00
A Holt
e30b2bbc0b
templates/iiab-remoteit: Compact prompt conditionals 2022-10-09 14:28:52 -04:00
A Holt
3796735b89
Clarify iiab-remoteit-off: connectd may not exist 2022-10-09 14:10:44 -04:00
A Holt
5290f00368
iiab-remoteit-off: failsafe as connectd may no longer exist 2022-10-09 14:03:32 -04:00
A Holt
ea74f8cf3e
Merge pull request #3392 from jvonau/timing
Move 'hooks' to their respective backends
2022-10-07 19:31:29 -04:00
Jerry Vonau
417386121c wording 2022-10-07 17:32:00 -05:00
Jerry Vonau
bad5b38e25 always install 00-iiab-debug 2022-10-07 13:07:28 -05:00
Jerry Vonau
07f663b8ee restore missing optional user disabling of dnsmasq 2022-10-07 03:40:19 -05:00
Jerry Vonau
fe18c8e050 remove RasPiOS restriction 2022-10-07 03:40:19 -05:00
Jerry Vonau
cf1869bd11 Revert "shut the log up for #3278"
This reverts commit eb3c0a2684.
2022-10-07 03:40:19 -05:00
Jerry Vonau
5ab9e0ff76 use ap0 hack only on RPi hardware 2022-10-07 03:24:02 -05:00
Jerry Vonau
f02e514cd1 Move 'hooks' to their respective backends
With NetworkManager active, systemd-networkd/networkd-dispatcher are used for
br0/ap0 support but the hooks were not being installed on the first pass through
network as systemd_networkd_active was not detected when ansibled stated.
2022-10-05 09:35:31 -05:00
A Holt
92e7e4acfc
Merge pull request #3391 from holta/kiwix-tools_use_latest_release
Auto-install latest/official kiwix-tools + tighten up code
2022-10-05 00:24:24 -04:00
root
35898a6f92 First move /opt/iiab/kiwib/bin aside + Explain better 2022-10-05 00:17:37 -04:00
A Holt
ff0384f778
kiwix/defaults/main.yml: Clarify "e.g. https://download.iiab.io/packages/" 2022-10-04 20:24:06 -04:00
A Holt
c1d0bd03dd
Untar with '--strip-components=1' to chop tarball's top-level dir from path 2022-10-04 20:11:25 -04:00
A Holt
7e86d5e582
kiwix/tasks/install.yml: Clarify get_url "force: yes" implied b/c dest is a dir 2022-10-04 20:02:04 -04:00
A Holt
f2b74880e8
kiwix/defaults/main.yml: Clarify ansible_machine safer than ansible_architecture 2022-10-04 19:49:19 -04:00
root
8643285dc9 Auto-install latest/official kiwix-tools + tighten up code 2022-10-04 19:12:28 -04:00
A Holt
38fa807a00
Merge pull request #3390 from jvonau/3385
3385 Ignore detected wifi device from LAN detection when not currently active.
2022-10-04 09:34:53 -04:00
A Holt
2bc063c378
Merge pull request #3388 from holta/skip-validate_vars-on-w
0-init: Skip validate_vars.yml on Zero W & Zero 2 W (slow Raspberry Pi's)
2022-10-03 11:54:37 -04:00
A Holt
5bbcacbe00
Ansible require double backslashes, e.g. with \b "word boundary" anchors 2022-10-03 11:52:13 -04:00
Jerry Vonau
d349f2fe2f Restart iiab-clone-wifi if the ap0 device is not detected by ansible #3379 2022-10-03 08:50:53 -05:00
Jerry Vonau
6b69696f72 use can_be_ap 2022-10-03 08:47:00 -05:00
Jerry Vonau
9f4b99e50d use item|trim in template 2022-10-03 08:47:00 -05:00
Jerry Vonau
87ea472003 add discovered_wireless_iface to lan_list_result and num_lan_interfaces_result 2022-10-03 08:47:00 -05:00
A Holt
ebb1ac6cc1
0-init: Skip validate_vars.yml on Zero W & Zero 2 W 2022-10-02 21:05:16 -04:00
A Holt
6c350af87d
Merge pull request #3386 from holta/mediawiki-1.38.4
mediawiki/defaults/main.yml: Version 1.38.4
2022-09-29 17:52:41 -04:00
A Holt
f06786e705
mediawiki/defaults/main.yml: Version 1.38.4 2022-09-29 17:51:04 -04:00
A Holt
4b2fe1ec5a
Merge pull request #3384 from holta/azuracast-revs
AzuraCast 'stable' instead of 'latest' + Simplify install + Document './runrole --reinstall azuracast' manual workaround
2022-09-29 11:23:56 -04:00
A Holt
57d54cec93
Merge pull request #3379 from holta/hostapd-fix-for-zero-w
Fix hostapd for Raspberry Pi Zero W (systemd unit files, so it doesn't start too early!)
2022-09-29 11:21:02 -04:00
A Holt
f2b945a0a9
azuracast/README.rst: Link to reinstall tech tips (in install.yml) 2022-09-29 03:17:58 -04:00
root
f21a58e590 Explain './runrole --reinstall azuracast' workaround 2022-09-29 01:55:46 -04:00
root
c43d408711 azuracast/tasks/install.yml comment sequencing 2022-09-29 00:31:17 -04:00
root
e595328fc1 Simplified azuracast/tasks/install.yml 2022-09-28 22:33:05 -04:00
A Holt
b852f015ab
2-common/tasks/packages.yml: Update comment 2022-09-28 22:17:33 -04:00
root
c3efbb7def Rename azuracast.env.j2; Try w/o docker-compose.yml 2022-09-28 22:01:25 -04:00
root
17fb922f8d azuracast/README.rst: Link to more of their docs 2022-09-28 21:03:44 -04:00
root
110355105c Merge branch 'azuracast-revs' of https://github.com/holta/iiab into azuracast-revs 2022-09-28 19:48:19 -04:00
root
86ae2bb9a1 Skip 'docker.sh setup-release' 2022-09-28 19:40:25 -04:00
A Holt
326f26bc21
Merge pull request #3383 from holta/mediawiki-1.38.3
mediawiki/defaults/main.yml: Version 1.38.3
2022-09-28 17:18:14 -04:00
A Holt
2d6fc6fe85
mediawiki/defaults/main.yml: Version 1.38.3 2022-09-28 17:17:03 -04:00
A Holt
bb66220bca
Merge pull request #3382 from holta/moodle_version-flexibility
Encourage pre-release testing of Moodle 4.1 LTS if PHP >= 8.1
2022-09-27 23:19:27 -04:00
root
b6e515e858 Encourage pre-release testing of Moodle 4.1 LTS if PHP >= 8.1 2022-09-27 22:04:24 -04:00
A Holt
5972e5e703
Merge pull request #3380 from holta/mongodb-for-jammy-etc
Force-install libssl1.1 if MongoDB needed on Ubuntu >= 22.04 (for Sugarizer)
2022-09-27 17:19:16 -04:00
A Holt
d4a7bddfe9
iiab-install: Cleaner (reordered) on-screen output 2022-09-27 17:10:47 -04:00
root
9f0c5f1e5d Force-install libssl1.1 if MongoDB needed on Ubuntu >= 22.04 2022-09-27 16:49:34 -04:00
A Holt
3aae53e693
mongodb/tasks/install.yml: buster -> bullseye on Debian x86_64 2022-09-27 12:33:52 -04:00
A Holt
40db09c97f
Merge pull request #3276 from mabuelhagag/bugfix/upgrade_lokole
Upgrade Lokole's Python dependencies
2022-09-27 09:33:00 -04:00
A Holt
09f6b292ef
iiab-clone-wifi.service.j2: hostapd tries to start too early on Zero W 2022-09-26 19:46:59 -04:00
A Holt
c75ab4777c
hostapd.legacy.j2: hostapd tries to start too early on Zero W 2022-09-26 19:44:38 -04:00
A Holt
7bb5e1bfda
Merge pull request #3337 from holta/expand-rootfs-resilience
Straw Man 1-prep/templates/iiab-expand-rootfs.service based on 2020's PR #2522 + /usr/sbin/iiab-expand-rootfs "bash -xe" exit-on-error (to defer deleting /.expand-rootfs)
2022-09-26 10:47:23 -04:00
A Holt
c76bd2745d
iiab-expand-rootfs: Make growpart & resize2fs RC visible to bash -x 2022-09-24 08:16:38 -04:00
Tim Moody
830fa0ff52
Merge pull request #3376 from tim-moody/7.3.6-misc
moving elsewhere
2022-09-23 08:38:47 -04:00
tim-moody
10c1bfaad9 moving elsewhere 2022-09-23 08:38:03 -04:00
A Holt
508b2b1c0e
Merge pull request #3374 from jvonau/sb_moved
Sb moved [AzuraCast]
2022-09-22 23:25:44 -04:00
Jerry Vonau
b4f5e12f19 Note 2022-09-22 22:11:52 -05:00
Jerry Vonau
8d38ed748f Clean up nginx template - doesn't quite work yet anyway 2022-09-22 22:07:03 -05:00
Jerry Vonau
c9bfa40209 The rebase dance is BS c9e0af4286e27487e3d1a13e7cb71d908bd35a6e
Pushing related work #3353 before other's open PRs #2946 tend to break open PRs when forced to needlessly rebase
2022-09-22 21:45:08 -05:00
A Holt
139aa2846c
Merge pull request #3373 from jvonau/feedback
Better description of current configuration when networking is disabled
2022-09-22 18:58:52 -04:00
Jerry Vonau
f2ace322cc Better discription of current configuration when networking is disabled 2022-09-22 17:30:04 -05:00
A Holt
1b14c3a249
Merge pull request #3371 from tim-moody/7.3.6-misc
rectification of names
2022-09-22 17:26:56 -04:00
tim-moody
f5aee8c992 rectification of names 2022-09-22 17:24:48 -04:00
A Holt
f83a7188bd
Merge pull request #3370 from holta/iiab-install_mkdir_install-flags
iiab-install: mkdir -p /etc/iiab/install-flags
2022-09-22 13:07:27 -04:00
A Holt
1000ed9a7b
iiab-install: Clarify need for /etc/iiab/install-flags 2022-09-22 13:05:57 -04:00
A Holt
cf0c21bf17
iiab-install: mkdir -p /etc/iiab/install-flags 2022-09-22 13:02:37 -04:00
A Holt
08508a6620
Merge pull request #3369 from tim-moody/7.3.6-misc
add utility scripts
2022-09-22 12:45:35 -04:00
A Holt
dfdc5eb78c
iiab-expand-rootfs: Comment clarif RE: auto-reboot 2022-09-22 12:05:20 -04:00
A Holt
939fc0d11c
iiab-expand-rootfs: IGNORE growpart errors for now (good enough!?) 2022-09-22 11:56:28 -04:00
A Holt
e125fc1e39
iiab-expand-rootfs: 'rm -f /.expand-rootfs /.resize-rootfs' prior to reboot 2022-09-22 11:47:19 -04:00
A Holt
b3bad6ea21
iiab-expand-rootfs: reboot right after 'raspi-config --expand-rootfs' 2022-09-22 11:41:31 -04:00
tim-moody
cbe5583142 make executable 2022-09-22 10:45:38 -04:00
tim-moody
3ad29ffc59 add 2 utility scripts 2022-09-22 10:44:31 -04:00
A Holt
f413a9f112
Merge pull request #3368 from holta/published-pwd-warnings-fix
Published Password warnings work better with 'sudo -n'
2022-09-21 12:53:42 -04:00
A Holt
e94c65f6ab
Update sshpwd-lxde-iiab.sh.j2 2022-09-21 00:30:37 -04:00
A Holt
3132f79e16
Update sshpwd-profile-iiab.sh.j2 2022-09-21 00:30:09 -04:00
A Holt
2b47baa85d
sshpwd-lxde-iiab.sh.j2: Explain 'sudo -s' exception 2022-09-21 00:25:41 -04:00
A Holt
1aafc818a4
sshpwd-profile-iiab.sh.j2: Explain 'sudo -s' exception 2022-09-21 00:22:44 -04:00
A Holt
763c6258c7
sshpwd-profile-iiab.sh.j2: 'sudo -n' avoids pwd prompts 2022-09-20 21:38:52 -04:00
A Holt
bdbdefa129
sshpwd-lxde-iiab.sh.j2: 'sudo -n' avoids pwd prompts 2022-09-20 21:37:57 -04:00
A Holt
8ed159b5c2
sshpwd-profile-iiab.sh.j2: sudo to verify /etc/shadow 2022-09-20 21:08:38 -04:00
A Holt
799f47b950
sshpwd-lxde-iiab.sh.j2: sudo to verify /etc/shadow 2022-09-20 21:02:18 -04:00
A Holt
359dcbe60e
Merge pull request #3365 from holta/plocate-instead-of-mlocate
plocate: Faster & smaller than locate & mlocate
2022-09-15 09:50:29 -04:00
A Holt
09c26c8544
plocate: Faster & smaller than locate & mlocate 2022-09-15 09:45:20 -04:00
A Holt
96c4c81da2
Merge pull request #3364 from holta/ansible-core-2.13.4
Recommend ansible-core 2.13.4
2022-09-12 16:11:25 -04:00
A Holt
ca73d07705
Recommend ansible-core 2.13.4 2022-09-12 16:09:25 -04:00
A Holt
1cea2cf995
azuracast/README.rst: Port numbers doc fix 2022-09-08 15:01:26 -04:00
A Holt
d520a3a222
Merge pull request #3360 from holta/azuracast-stale-inline-docs
Update AzuraCast stale inline docs. Prepare to revise "azuracast_port_range_prefix: 10" (i.e. ports 10xxx for now, including blocked port 10080) as AzuraCast recommendations evolve.
2022-09-08 14:57:04 -04:00
A Holt
43546a8a39
default_vars.yml: AzuraCast ports doc tweak 2022-09-08 14:55:27 -04:00
A Holt
f2e771f63a
azuracast/defaults/main.yml: Doc tweak 2022-09-08 14:54:26 -04:00
A Holt
cd88b73b4e
default_vars.yml: "azuracast_port_range_prefix: 10" for now 2022-09-08 14:47:07 -04:00
A Holt
3b67ff0547
azuracast/defaults/main.yml: "# azuracast_port_range_prefix: 10" for now 2022-09-08 14:46:24 -04:00
A Holt
4d434a12d7
Merge pull request #3363 from holta/remoteit-svcs-may-not-exist
remoteit/tasks/enable-or-disable.yml: Don't fail if svc(s) missing
2022-09-08 14:17:41 -04:00
A Holt
17096e78b4
remoteit/tasks/enable-or-disable.yml: Don't fail if svc(s) missing 2022-09-08 14:00:33 -04:00
A Holt
b2e1fc609a
kolibri/tasks/install.yml: Mention @jredrejo's Ansible scripts 2022-09-08 13:24:53 -04:00
A Holt
93490933be
kolibri/tasks/install.yml: spacing around if/else block 2022-09-08 12:44:02 -04:00
A Holt
ebdba360a3
Merge pull request #3361 from jvonau/rpi-NM
Allow for NM with RPiOS
2022-09-08 10:26:05 -04:00
Jerry Vonau
632085548d Allow for NM with RPiOS
https://www.raspberrypi.com/news/the-latest-update-to-raspberry-pi-os/
2022-09-07 09:25:11 -05:00
A Holt
f7afb80bb0
Update local_vars_large.yml 2022-09-06 12:31:54 -04:00
A Holt
6b51db6865
Update local_vars_medium.yml 2022-09-06 12:31:49 -04:00
A Holt
d7b1a99f4a
Update local_vars_small.yml 2022-09-06 12:31:43 -04:00
A Holt
41140c6516
Update local_vars_unittest.yml 2022-09-06 12:31:38 -04:00
A Holt
f6d1c98616
default_vars.yml: Grammar typo RE: AzuraCast port range 2022-09-06 12:27:38 -04:00
A Holt
c887768e11
azuracast/defaults/main.yml: Grammar typo 2022-09-06 12:26:34 -04:00
A Holt
6777e52d53
"azuracast_port_range_prefix: 12" in default_vars.yml 2022-09-06 12:18:47 -04:00
A Holt
1ddfab2edd
azuracast/defaults/main.yml: Update in-line docs 2022-09-06 12:17:28 -04:00
A Holt
fea98739f9
azuracast/README.rst: Link to community example(s) 2022-09-02 07:04:47 -04:00
A Holt
fa17e5ff83
Merge pull request #3356 from holta/kolibri-apt-keyring
kolibri/tasks/install.yml: Modern apt keyring approach [& apt upgrading Kolibri very risky!]
2022-09-01 00:34:14 -04:00
A Holt
bffe5227a0
kolibri/tasks/install.yml: Clarify 'focal' (if other/older OS's) 2022-09-01 00:33:04 -04:00
A Holt
a6f89e59a4
kolibri/tasks/install.yml: PPA 'focal' (other/older OS's) 2022-09-01 00:31:05 -04:00
A Holt
55b0239ccb
Document that apt upgrading Kolibri is risky (for now!) 2022-09-01 00:28:32 -04:00
root
43c3ef4ddf kolibri/tasks/install.yml: Modern apt keyring approach 2022-08-31 22:54:24 -04:00
A Holt
f94a55b079
azuracast/README.rst: Cleaner explanation 2022-08-31 18:14:19 -04:00
A Holt
2fe770dbb5
Merge pull request #3355 from holta/azuracast-skip_role_on_error
azuracast/tasks/main.yml: skip_role_on_error
2022-08-31 16:30:11 -04:00
A Holt
85e7d30e45
test.yml: Clarify '' to escape single quotes in 7 iiab.ini descriptions 2022-08-31 16:27:29 -04:00
A Holt
20ed74ea51
azuracast/tasks/main.yml: iiab.ini description needs '' 2022-08-31 16:22:04 -04:00
A Holt
2927f086a2
azuracast/tasks/main.yml: Tighter iiab.ini description 2022-08-31 16:19:32 -04:00
A Holt
e9564cab36
azuracast/tasks/main.yml: skip_role_on_error 2022-08-31 16:07:19 -04:00
A Holt
624c4d8aaa
kolibri/tasks/install.yml: Clarify Mint 21 special case 'jammy' 2022-08-31 15:39:30 -04:00
A Holt
e839d0cd7a
Merge pull request #3353 from holta/azuracast-restoration-prep
6-generic-apps/tasks/main.yml: AzuraCast restoration prep
2022-08-31 10:12:05 -04:00
A Holt
0b822d7204
Tighten up azuracast/README.rst 2022-08-31 09:55:40 -04:00
A Holt
b5b9ea6ceb
Merge branch 'master' into azuracast-restoration-prep 2022-08-31 09:48:28 -04:00
A Holt
17fdfc9942
Merge pull request #2946 from jvonau/test-azuracast
Get Azuracast baseline - Fix port reassignment - WIP - needs testing
2022-08-31 09:47:50 -04:00
A Holt
1e5e3c25b3
6-generic-apps/tasks/main.yml: AzuraCast moved to Stage 9 2022-08-31 09:41:03 -04:00
A Holt
f691b389ba
Install AzuraCast in Stage 9 (9-local-addons) 2022-08-31 09:40:23 -04:00
A Holt
1d6a6b3bd4
azuracast/README.rst: Emphasize RasPiOS needs to be 64-bit 2022-08-31 09:32:26 -04:00
A Holt
80513db267
azuracast/README.rst: Fix anchor tag #azuracast-docs 2022-08-31 09:30:32 -04:00
A Holt
9a78a0a352
Merge pull request #3354 from cwivagg/cwivagg-timezone-patch
Cwivagg timezone patch [Matomo]
2022-08-31 09:28:00 -04:00
A Holt
162c86236b
Update azuracast/README.rst 3+ years later (WiP) 2022-08-31 09:26:03 -04:00
cwivagg
da47983252
Update install.yml 2022-08-31 09:13:53 -04:00
cwivagg
d0feb297ce
Accept both status codes for pre-fallback step 2022-08-31 08:02:04 -04:00
cwivagg
45525c5397
Harden Matomo install for timezone issue
Additionally, temporarily switch apache_user to www-data to unblock access to Matomo. Will debug later.
2022-08-31 06:42:47 -04:00
cwivagg
de9e699571
Merge pull request #2 from iiab/master
Pull in master
2022-08-31 06:35:37 -04:00
A Holt
a168afeeef
6-generic-apps/tasks/main.yml: AzuraCast restoration 2022-08-30 10:56:42 -04:00
Jerry Vonau
a477896003 use .j2 2022-08-30 04:54:21 -05:00
Jerry Vonau
de282a85cd clean up 2022-08-29 14:37:36 -05:00
Jerry Vonau
bae65ad64e whitespace and use 'prod.env' 2022-08-29 14:28:02 -05:00
Jerry Vonau
3adafc96f1 add notes.txt 2022-08-29 14:14:56 -05:00
Jerry Vonau
2f235a57ab curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/stable/docker-compose.sample.yml -o docker-compose.sample.yml 2022-08-29 12:10:42 -05:00
Jerry Vonau
89ca8f58b9 curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/stable/azuracast.sample.env -o azuracast.sample.env 2022-08-29 12:09:18 -05:00
Jerry Vonau
c4360a2497 curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/stable/sample.env -o sample.env 2022-08-29 12:06:39 -05:00
Jerry Vonau
7b058cfe47 upstream docker.sh as of Aug 22, 2022
https://raw.githubusercontent.com/AzuraCast/AzuraCast/stable/docker.sh
2022-08-29 11:52:02 -05:00
A Holt
6c41a6579e
scripts/ansible: Cleaner comment 2022-08-29 07:13:09 -04:00
Jerry Vonau
5e0631a7c9 Readme - port 2022-08-22 19:07:41 -05:00
Jerry Vonau
1fb98f535b overlaps AZURACAST_STATION_PORTS move just to be safe 2022-08-22 19:03:00 -05:00
Jerry Vonau
bb01db529a azuracast.env 2022-08-22 19:03:00 -05:00
Jerry Vonau
ca2ab6a5ab Azuracast baseline 2022-08-22 19:03:00 -05:00
A Holt
0f48103aad
Merge pull request #3351 from holta/fstab
iiab-diagnostics: Display /etc/fstab as external disks get more popular
2022-08-22 15:21:50 -04:00
A Holt
6be554d4ab
Update iiab-diagnostics.README.md 2022-08-22 15:17:32 -04:00
A Holt
a02798cb1e
iiab-diagnostics: Display /etc/fstab 2022-08-22 15:17:07 -04:00
A Holt
2543831e99
Merge pull request #3347 from holta/kolibri-on-mint
kolibri/tasks/install.yml: PPA special cases for Mint 20 (focal) + Mint 21 (jammy)
2022-08-19 19:58:32 -04:00
root
6b7da719dc kolibri/tasks/install.yml: PPA special cases for Mint 20 (focal) + Mint 21 (jammy) 2022-08-19 19:48:02 -04:00
A Holt
9ea5d3ff41
Merge pull request #3344 from holta/kiwix-tools-3.3.0-1
kiwix/defaults/main.yml: New kiwix-tools version 3.3.0-1
2022-08-17 15:57:08 -04:00
A Holt
e277e405eb
kiwix/defaults/main.yml: New kiwix-tools version 3.3.0-1 2022-08-17 15:53:11 -04:00
A Holt
5397771785
Merge pull request #3342 from holta/ansible-core-2.13.3
Recommend ansible-core 2.13.3
2022-08-16 09:14:12 -04:00
A Holt
ac6e54dae2
Recommend ansible-core 2.13.3 2022-08-16 09:11:23 -04:00
A Holt
6e09f13dba
Update matomo/README.adoc 2022-08-13 16:19:15 -04:00
A Holt
ab1d417d25
Update matomo/README.adoc 2022-08-13 15:57:52 -04:00
A Holt
77024e62f9
README.adoc: Highlight code snippets & Bold buttons 2022-08-13 11:58:26 -04:00
A Holt
931ea76687
Merge pull request #3304 from cwivagg/cwivagg/matomo_20220618
Cwivagg/matomo 20220618
2022-08-13 09:14:19 -04:00
cwivagg
f1eb4f381f
Update README.adoc
Instructions for getting into Matomo
2022-08-13 09:01:00 -04:00
A Holt
b9a653c1b9
iiab-expand-rootfs: bash -e exit on error; do not delete /.expand-rootfs 2022-08-11 21:42:57 -04:00
A Holt
5f8fcdd075
Merge pull request #3341 from holta/iiab-support-off
/usr/bin/iiab-support-off: Disable openvpn service AND openvpn_enabled in local_vars.yml
2022-08-11 12:05:28 -04:00
A Holt
3227cffe5f
iiab-remote-off: UX explaining OpenVPN's truly off 2022-08-11 12:02:44 -04:00
A Holt
83dc48ba7d
iiab-remote-off: Comment out stale guidance 2022-08-11 09:45:09 -04:00
A Holt
15a2a3f8a6
Disable openvpn service AND openvpn_enabled in local_vars.yml 2022-08-11 09:36:31 -04:00
Mohamad
35211d0e60 revert lokole_repo to original repo 2022-08-09 08:02:37 +02:00
A Holt
c3ab1236a5
iiab-expand-rootfs.service: Explain After=systemd-remount-fs.service 2022-08-08 22:46:36 -04:00
A Holt
3798685ba7
iiab-expand-rootfs.service: Explain TimeoutSec=infinity 2022-08-08 19:52:51 -04:00
A Holt
5c26d52549
iiab-expand-rootfs.service: Explain Before=dphys-swapfile.service 2022-08-08 19:24:23 -04:00
A Holt
6403ce517a
iiab-expand-rootfs.service: TimeoutSec=infinity in [Service] 2022-08-08 18:18:53 -04:00
A Holt
e351801933
1-prep/templates/iiab-expand-rootfs.service based on 2020's #2522 2022-08-07 20:29:24 -04:00
A Holt
4d41c12338
Merge pull request #3336 from iiab/revert-3160-expand-rootfs-avoid-reboot
Revert "1-prep/templates/iiab-expand-rootfs: Avoid reboot"
2022-08-07 08:57:42 -04:00
A Holt
e58c4b0c9c
iiab-expand-rootfs: Note collision (race condition) w/ fsck 2022-08-07 08:56:26 -04:00
A Holt
115276baad
Revert "1-prep/templates/iiab-expand-rootfs: Avoid reboot" 2022-08-07 08:50:02 -04:00
A Holt
52dc0816bc
Merge pull request #3333 from holta/iiab-diagnostics_dmesg
iiab-diagnostics: dmesg | grep -i <about 9 WiFi patterns> | head -100 (firmware/driver msgs)
2022-08-05 17:38:00 -04:00
A Holt
acfb4ff36f
Update roles/network/README.rst for #3308 2022-08-05 09:33:30 -04:00
A Holt
fe0854be72
dmesg | grep <wifi patterns> | head -100 (not tail -100) 2022-08-04 13:13:15 -04:00
A Holt
dbeb20597e
iiab-diagnostics: dmesg | grep -i -e 80211 ... (brcm, realtek, etc) 2022-08-04 13:05:19 -04:00
A Holt
45bd088c70
Merge pull request #3334 from holta/avoid-iiab.ini-pollution
detected_network.yml: Disallow multi-line var second_gateway_found ~= exclude_devices (to avoid polluting /etc/iiab/iiab.ini)
2022-08-03 23:02:15 -04:00
A Holt
664dd5da5e
Clarify "multiple secondary gateways" detection 2022-08-03 23:00:43 -04:00
A Holt
99a05c6a78
Clean up "multiple secondary gateways" error handling 2022-08-03 22:47:21 -04:00
A Holt
dc2c531947
Disallow multi-line var second_gateway_found ~= exclude_devices 2022-08-03 22:27:44 -04:00
A Holt
ac8a022bba
Update iiab-diagnostics.README.md 2022-08-03 17:26:45 -04:00
A Holt
7b6d02884a
iiab-diagnostics: dmesg | tail -100 (kernel/driver messages) 2022-08-03 17:26:23 -04:00
A Holt
6bb19e2ad2
Merge pull request #3332 from holta/iiab-diagnostics_ufw_status
iiab-diagnostics: sudo ufw status verbose
2022-08-03 15:56:31 -04:00
A Holt
16b40cdf05
Update iiab-diagnostics.README.md 2022-08-03 15:55:58 -04:00
A Holt
530b1dbc6e
iiab-diagnostics: sudo ufw status verbose 2022-08-03 15:51:39 -04:00
A Holt
3b546b5eb2
Merge pull request #3331 from holta/can_be_ap2
Explain iiab-network alert: "WiFi chipset/firmware NOT CAPABLE of AP Mode (details above)"
2022-08-01 18:45:04 -04:00
root
015abc52c7 detected_network.yml: Unindent can_be_ap rescue clause (explanation) 2022-08-01 17:28:50 -04:00
root
112347ffa3 iiab-network alert: "WiFi chipset/firmware NOT CAPABLE of AP Mode (details above)" 2022-08-01 17:15:03 -04:00
A Holt
d99fcaddd6
detected_network.yml: Clarify 'can_be_ap: True' for #3329 2022-08-01 02:07:34 -04:00
A Holt
5499f09ec4
detected_network.yml: Clarify #3329 can_be_ap grep RC 2022-08-01 01:43:40 -04:00
A Holt
9d43b1ebed
Merge pull request #3329 from holta/can_be_ap-fix
Live w/ red errors to set can_be_ap ('failed_when: False' was too strong)
2022-08-01 01:04:07 -04:00
root
4ad2622111 Live w/ red errors to set can_be_ap ('failed_when: False' was too strong) 2022-08-01 00:56:49 -04:00
A Holt
d1e11fbe54
Merge pull request #3327 from holta/kolibri-ppa
Install Kolibri using PPA, which promises auto-upgrades (when you apt update?)
2022-07-30 19:42:02 -04:00
root
0b83307f73 Kolibri PPA promises auto-upgrades. List 25 -> 31 languages 2022-07-30 18:45:51 -04:00
A Holt
7510aa82be
Merge pull request #3326 from holta/gitea-1.17
Use the new 'gitea_version: 1.17' instead of 1.16
2022-07-30 15:44:08 -04:00
A Holt
b51fbe21b7
Use the new 'gitea_version: 1.17' instead of 1.16 2022-07-30 15:41:11 -04:00
A Holt
cd6358514d
Modernize matomo/tasks/main.yml for skip_role_on_error #3255 2022-07-28 16:55:16 -04:00
A Holt
2efd7c0198
Merge pull request #3323 from holta/can_be_ap-patch
network/tasks/detected_network.yml: can_be_ap grep failed on absence of regex
2022-07-28 10:23:35 -04:00
A Holt
9ad5a9caa1 network/tasks/detected_network.yml: can_be_ap grep failed on absence of regex 2022-07-28 14:20:46 +00:00
Carl Wivagg
c6ee32d0c0 fix timezone issue 2022-07-28 06:36:33 -04:00
A Holt
004b89015d
/usr/local/sbin/network: Comment clarif (RasPiOS w/ desktop) 2022-07-27 15:53:46 -04:00
A Holt
914285037a
/usr/local/sbin/netwarn: Test-during-boot reminder #3318 2022-07-27 12:55:20 -04:00
Tim Moody
15782fb647
Merge pull request #3321 from tim-moody/7.3.5-misc
handle missing or empty library.xml
2022-07-26 11:39:03 -04:00
tim-moody
66138941e9 handle missing or empty library.xml 2022-07-26 11:38:11 -04:00
A Holt
354110b0f5
Update LICENSING.md 2022-07-25 14:13:38 -04:00
A Holt
002e98efee
OER2Go.org now hosts a casino in Indonesia ☹ 2022-07-25 14:09:10 -04:00
A Holt
4307f65942
Merge pull request #3319 from jvonau/ub-net-install-fixes
Set default for use in netplan.yml and wording
2022-07-23 15:59:24 -04:00
A Holt
b7b200cef1
network/tasks/sysd-netd-debian.yml: "Linux Mint" w/ space 2022-07-23 15:56:43 -04:00
A Holt
67c866a8c9
network/tasks/install.yml: "Linux Mint" w/ space 2022-07-23 15:56:01 -04:00
A Holt
1b6c988b21
netplan.yml: Explain forced 'systemd_networkd_active: False' (for 1-prep) 2022-07-23 15:54:38 -04:00
Jerry Vonau
14b6fa624e wording 2022-07-23 13:52:38 -05:00
Jerry Vonau
41728b6444 default 2022-07-23 13:17:07 -05:00
A Holt
b73567260a
netwarn.yml: Note similar pwd-warnings.yml & www_options 2022-07-22 20:47:36 -04:00
A Holt
3e69c957e4
www_options/tasks/main.yml: Refine comment 2022-07-22 20:42:29 -04:00
A Holt
e9806667ac
pwd-warnings.yml: Mention www_options & netwarn.yml 2022-07-22 20:38:22 -04:00
A Holt
7bd9eb3e4f
www_options: Mention netwarn.yml & pwd-warnings.yml 2022-07-22 20:31:19 -04:00
A Holt
da97d3e7c2
netwarn.yml note: /etc/profile.d for ssh in future? #3318 2022-07-22 18:42:39 -04:00
A Holt
acda638941
www_options/tasks/main.yml: Mention http://box/home for LXDE-pi/autostart 2022-07-22 18:37:00 -04:00
A Holt
01cb5e8021
Merge pull request #3318 from holta/net_warn
/usr/local/sbin/netwarn pop-ups (if iiab-network needs to be run) on MATE & RasPiOS with desktop + roles/network refactoring
2022-07-22 18:11:38 -04:00
A Holt
6b5678555f
gitea/tasks/install.yml: Clarify slow d/l can be ~15min 2022-07-22 16:34:52 -04:00
root
9f5032d74f Comment out 'netplan apply' from restart.yml (trim netplan.yml later?) 2022-07-22 15:59:10 -04:00
root
dbeaf02482 Try to explain ordering of iiab-hotspot-on|off & install.yml (in network/tasks/main.yml) 2022-07-22 15:35:05 -04:00
root
69aba8eec3 network/tasks/main.yml: Swap order of iiab-hotspot-on|off & install.yml on @jvonau's request 2022-07-22 15:14:40 -04:00
root
e71efff7e2 network/tasks/main.yml: Restore iiab-hotspot-on|off 2022-07-22 14:43:39 -04:00
A Holt
60579c6c00
network/tasks/install.yml: Spacing around "all installs" header 2022-07-22 12:18:58 -04:00
root
f33e15ecd2 network/tasks/restart.yml also needed netplan var. Dup code for now :/ 2022-07-22 11:25:47 -04:00
A Holt
79d6bd8bc6
iiab-network: Line ending typo / syntax error 2022-07-22 11:15:38 -04:00
root
556db4bfb6 2 vars in detected_network.yml to netplan.yml; FULL/PATHS for 1-prep 2022-07-22 10:53:24 -04:00
root
7d0bf6c1ef FULL/PATH to netplan.yml & netwarn.yml for 1-prep 2022-07-22 09:51:53 -04:00
root
a450db1f1a FULL/PATH to Avahi stuff in roles/network for 1-prep 2022-07-22 09:27:31 -04:00
root
f8cb292828 FULL/PATH/dnsmasq.yml in network/tasks/install.yml for 1-prep 2022-07-22 09:14:26 -04:00
A Holt
f1ba6d82cc
Rename ifcfg.j2.usused to ifcfg.j2.unused 2022-07-21 23:39:18 -04:00
A Holt
71351c18b1
Rename ifcfg-WAN.j2.unsued to ifcfg-WAN.j2.unused 2022-07-21 23:38:47 -04:00
A Holt
e221c0a91c
iiab-network: Remove repetitive output 2022-07-21 23:26:14 -04:00
A Holt
0763d56fa9
iiab-network: Lint intendation 2022-07-21 23:21:53 -04:00
root
78e65f44dd Intercept mate-terminal RC + tee iiab-network errors to iiab-network.log 2022-07-21 21:45:22 -04:00
root
2530b779fc Bypass dysfunctional error-checking if mate-terminal detected 2022-07-21 19:05:58 -04:00
root
44af07638b Clean up roles/network/tasks/netwarn.yml 2022-07-21 20:11:02 +00:00
root
42b5b766c4 network/tasks/install.yml: hostapd syntax errors 85a5f8fd (3 days ago) 2022-07-21 15:35:00 -04:00
root
a442bd7b26 Move scripts/netwarn* to roles/network/templates/netwarn/ 2022-07-21 15:14:09 -04:00
root
a5610dd7d5 Add /usr/local/sbin/netwarn to /etc/xdg/lxsession/LXDE-pi/autostart 2022-07-21 14:45:37 -04:00
root
4f05d638fb scripts/netwarn.sh: Cleaner pop-ups & #!/bin/sh in-line explanation 2022-07-21 14:02:14 -04:00
root
0bfd4fc193 Merge branch 'net_warn' of https://github.com/jvonau/iiab into net_warn 2022-07-21 13:45:31 -04:00
cwivagg
89fc21b7b2
Merge pull request #1 from avni/patch-1
Correcting typo in comment on L67
2022-07-21 06:08:58 -04:00
A Holt
b28d4e7f59
Merge pull request #3317 from holta/nodejs-readme
Create roles/nodejs/README.md consolidating Node.js and npm configuration issues
2022-07-20 09:45:14 -04:00
A Holt
18d2c5c678
Create roles/nodejs/README.md 2022-07-20 09:22:34 -04:00
A Holt
3558f1934b
nodered/README.rst: Fix password changing line number 2022-07-20 08:53:08 -04:00
Avni Khatri
4018d7fe04
Correcting typo in comment on L67
Correcting per https://github.com/iiab/iiab/pull/3304#issuecomment-1189063200 to change: 44 + 44 + 0 to: 44 + 44 + 40
2022-07-20 00:12:23 -04:00
A Holt
8a93d5735f
Merge pull request #3316 from holta/maps-assets_repo
roles/osm-vector-maps: Download three 25-48MB files from new repo iiab/maps-assets
2022-07-19 12:41:30 -04:00
root
db770f1be5 roles/osm-vector-maps: D/l three 25-48MB files from repo iiab/maps-assets 2022-07-19 12:17:19 -04:00
A Holt
a761450578
osm-vector-maps/tasks/install.yml: Clarify cities1000.sqlite is 26MB 2022-07-19 11:11:43 -04:00
cwivagg
dea1907a00
Merge branch 'master' into cwivagg/matomo_20220618 2022-07-19 06:26:18 -04:00
Jerry Vonau
861652f141 hostapd refinement 2022-07-19 00:49:28 -05:00
Jerry Vonau
85a5f8fd98 unmask hostapd once 2022-07-19 00:05:34 -05:00
Jerry Vonau
ce25ac3cdc netplan setup is one time and may not even be needed 2022-07-18 23:51:24 -05:00
Jerry Vonau
9bc9f3aeee fedora files 2022-07-18 23:51:23 -05:00
Jerry Vonau
ad3d4f2ea9 speedup - ssh ports are not changing 2022-07-18 23:22:11 -05:00
Jerry Vonau
a5c8dcc904 rework 2022-07-18 22:53:41 -05:00
Jerry Vonau
700cdc9a07 switch to using dash via sh 2022-07-18 20:39:32 -05:00
Jerry Vonau
e6155e6a86 netwarn - with reboot question 2022-07-18 20:39:32 -05:00
Jerry Vonau
a3de7b389d also allow ICO to set the complete flag 2022-07-18 20:07:07 -05:00
Jerry Vonau
8d42038ad2 introduce netwarn-iiab-network.desktop 2022-07-18 20:07:07 -05:00
Jerry Vonau
52989599dd move iiab-internet-on|off - introduce netwarn 2022-07-18 20:07:07 -05:00
A Holt
3e563f858d
Merge pull request #3314 from holta/remove-named-dhcpd
Remove named dhcpd + roles/firmware refinements + clean networkd-dispatcher for Mint
2022-07-18 18:33:35 -04:00
root
a907459b3e vars/<OS>.yml: Remove dns_service, dns_user, dhcp_service 2022-07-18 16:19:36 -04:00
A Holt
3c0fd9d5e5
Merge pull request #3315 from holta/ansible-core-2.13.2
scripts/ansible: Recommend ansible-core 2.13.2
2022-07-18 12:26:08 -04:00
A Holt
db52b47b81
scripts/ansible: Recommend ansible-core 2.13.2 2022-07-18 12:23:44 -04:00
Jerry Vonau
eb3c0a2684 shut the log up for #3278 2022-07-18 11:38:19 -04:00
root
cf2b5a4097 iiab-check-firmware: Emphasize './runrole --reinstall firmware' 2022-07-18 10:00:21 -04:00
root
ffb831cf66 Clean + explain 0-init/tasks/validate_vars.yml 2022-07-18 09:41:20 -04:00
A Holt
a2cbfc45d6
firmware/templates/iiab-firmware-warn.sh: Suggest reboot 2022-07-16 14:26:34 -04:00
Jerry Vonau
6d08963634 name resolution failure on the iiab box post-install when iiab-network ran with usb0 uplink 2022-07-16 05:57:57 -05:00
Jerry Vonau
30677d7829 correct procedure 2022-07-16 05:57:57 -05:00
Jerry Vonau
48bd4223bb network speedup 2022-07-16 05:57:57 -05:00
Jerry Vonau
e382d193da Removed 2022-07-16 05:57:57 -05:00
Jerry Vonau
9ce883ab01 lockout unsupported options 2022-07-16 04:36:22 -05:00
Jerry Vonau
bcc59a0bc3 cleanups 2022-07-16 04:36:22 -05:00
Jerry Vonau
a9e92191db remove named and dhcpd install options 2022-07-16 04:36:22 -05:00
A Holt
10ebd9441b
Merge pull request #3311 from holta/kiwix.apk
Download kiwix.apk instead of kiwix-3.5.0.apk
2022-07-15 21:40:26 -04:00
A Holt
57aabf0fc6
Clarify kiwix/tasks/kiwix-apk.yml 2022-07-15 21:14:00 -04:00
A Holt
b4dae53f2b
default_vars.yml: Try kiwix.apk not kiwix-3.5.0.apk 2022-07-15 21:11:30 -04:00
A Holt
b1e2a4db67
kiwix/tasks/kiwix-apk.yml: Lint & revise comment #3310 2022-07-15 10:49:19 -04:00
A Holt
f3275abd85
Merge pull request #3310 from holta/kiwix-3.5.0.apk
default_vars.yml: kiwix-3.5.0.apk from 2022-05-31
2022-07-15 10:26:07 -04:00
A Holt
62459e3db5
default_vars.yml: kiwix-3.5.0.apk from 2022-05-31 2022-07-15 10:24:31 -04:00
A Holt
1d1ef405a9
scripts/iiab-network: Lint bash conditional, for #3308 2022-07-14 11:53:11 -04:00
A Holt
b221e0ca0a
Merge pull request #3308 from jvonau/network_helper
Network helper
2022-07-14 11:31:26 -04:00
A Holt
b62432d8ab
Rename fedora-18.yml to fedora-18.yml.unused 2022-07-14 09:35:55 -04:00
A Holt
ac8c7ad090
Rename fedora-22.yml to fedora-22.yml.unused 2022-07-14 09:35:39 -04:00
A Holt
41dd936276
Rename centos-7.yml to centos-7.yml.unused 2022-07-14 09:35:19 -04:00
A Holt
50bd128ee7
Rename debian-8.yml to debian-8.yml.unused 2022-07-14 09:35:00 -04:00
A Holt
cc42b6e234
Rename debian-9.yml to debian-9.yml.unused 2022-07-14 09:34:42 -04:00
A Holt
572df993d3
Rename debian-10.yml to debian-10.yml.unused 2022-07-14 09:34:20 -04:00
A Holt
144196734e
Rename raspbian-8.yml to raspbian-8.yml.unused 2022-07-14 09:33:37 -04:00
A Holt
815607e7c5
Rename raspbian-9.yml to raspbian-9.yml.unused 2022-07-14 09:33:16 -04:00
A Holt
288ce650ae
Rename raspbian-10.yml to raspbian-10.yml.unused 2022-07-14 09:32:53 -04:00
A Holt
3102a731aa
Rename ubuntu-2110.yml to ubuntu-2110.yml.unused 2022-07-14 09:30:33 -04:00
A Holt
602f3ba870
Rename ubuntu-2104.yml to ubuntu-2104.yml.unused 2022-07-14 09:29:50 -04:00
A Holt
a0e7fb76d2
Merge pull request #3306 from holta/impish-eol
scripts/local_facts.fact: Stop supporting Ubuntu 21.10 (Impish Indri)
2022-07-14 09:25:43 -04:00
A Holt
5d96561e73
Fix local_facts.fact to deprecate 21.10 not 22.10 2022-07-14 09:21:16 -04:00
Jerry Vonau
21dcbcaf4f install helper script 2022-07-14 01:06:34 -05:00
Jerry Vonau
ce47c8e7b1 helper script 2022-07-14 01:05:00 -05:00
Jerry Vonau
afc70f6f62 exit code 2022-07-14 01:05:00 -05:00
A Holt
d4492ef0c8
scripts/local_facts.fact: Stop supporting Ubuntu 22.10 (Impish Indri) 2022-07-12 12:33:54 -04:00
cwivagg
9c812e16e7
Update validate_vars.yml 2022-07-12 11:50:43 -04:00
cwivagg
14b202d095
Merge branch 'master' into cwivagg/matomo_20220618 2022-07-12 09:29:09 -04:00
cwivagg
594386073a
Update roles/matomo/README.adoc
Co-authored-by: A Holt <holta@users.noreply.github.com>
2022-07-12 09:13:54 -04:00
cwivagg
6c5a42ffea
Update roles/0-init/tasks/validate_vars.yml
Co-authored-by: A Holt <holta@users.noreply.github.com>
2022-07-12 09:13:45 -04:00
A Holt
767ee485ca
Merge pull request #3302 from holta/wifi_net2
Allow for network role to be fully optional, building on PR #3173
2022-07-12 08:37:05 -04:00
A Holt
fafaf693ea
0-init/tasks/hostname.yml: Note discussion(s) of /etc/hosts 2022-07-12 08:35:42 -04:00
cwivagg
ab5f4c5fe9
Update README.adoc 2022-07-12 08:21:29 -04:00
A Holt
d67b2751a6
hostname.yml: Note /etc/hosts & /etc/hostname tkts 2022-07-11 20:14:15 -04:00
A Holt
9e6f96bd33 1-prep: Also enforce "network_installed is undefined" 2022-07-11 14:41:59 -04:00
root
699e908291 Move iiab-hotspot-on|off installs (hostapd.yml to main.yml, for Admin Console) 2022-07-11 17:12:29 +00:00
root
91046a4f12 PR #3173 adjustments (making network role optional) 2022-07-11 15:40:52 +00:00
root
737bbbafde Merge branch 'wifi_net2' of https://github.com/jvonau/iiab into wifi_net2 2022-07-11 14:47:01 +00:00
A Holt
be360a67cf
Merge pull request #3301 from jvonau/paths
drop old olpc fedora paths
2022-07-10 17:19:40 -04:00
Jerry Vonau
e30b1c9549 drop old olpc fedora paths 2022-07-10 15:45:30 -05:00
A Holt
e51514399b
Merge pull request #3299 from holta/10.10
Transition from 172.18.96.1 to 10.10.10.10 thanks to PR #3281
2022-07-09 17:01:00 -04:00
root
47fda4d173 smb.conf.j2: hosts allow = 127. 10.10.10. 2022-07-08 22:12:24 -04:00
root
ebbda467a6 dhcpd-iiab.conf.j2: range 10.10.10.11 10.10.10.254; 2022-07-08 22:08:53 -04:00
root
d12546c98d Prepare for 10.10.10.10, by evolving PR #3281 2022-07-08 22:00:03 -04:00
root
56b854fcaf Merge branch '10.10' of https://github.com/georgejhunt/iiab into 10.10 2022-07-08 20:32:53 -04:00
A Holt
e04325eeb2
Merge pull request #3295 from holta/jupyterhub-pip-flags
jupyterhub/tasks/install.yml: Use --no-cache-dir w/o --pre [AND stop patching firstuseauthenticator.py]
2022-07-07 23:55:56 -04:00
A Holt
f035414ce9
jupyterhub/tasks/install.yml: Ansible output re: mutual dep deadlock 2022-07-07 23:47:32 -04:00
A Holt
042dff872b
Rename getsite.py.j2 to getsite.py.j2.unused 2022-07-07 23:18:46 -04:00
A Holt
54703fa34a
Rename patch_FUA.sh.j2 to patch_FUA.sh.j2.unused 2022-07-07 23:18:09 -04:00
A Holt
5dad80366e
jupyterhub/tasks/install.yml: Nix getsite.py & patch_FUA.sh 2022-07-07 23:16:58 -04:00
A Holt
c153cb8d9a
jupyterhub/tasks/install.yml: Clarify ~304MB /opt/iiab/jupyterhub 2022-07-07 22:41:52 -04:00
A Holt
79237c65b0
jupyterhub/tasks/install.yml: Use --no-cache-dir w/o --pre 2022-07-07 22:19:15 -04:00
A Holt
cfe9a37b7a
jupyterhub/tasks/install.yml: Update comment ~217MB to ~306MB 2022-07-07 19:53:15 -04:00
A Holt
0a7aa0c162
jupyterhub/tasks/install.yml: Comment clarifs for PR #3294 2022-07-07 19:34:30 -04:00
A Holt
315832a438
Merge pull request #3294 from georgejhunt/jupstall
break pip install into two plays
2022-07-07 19:17:50 -04:00
A Holt
2c09ed1887
jupyterhub/tasks/install.yml: Quick "lint" for indentation etc 2022-07-07 19:17:40 -04:00
George Hunt
21ee498b73 break pip install into two plays 2022-07-07 23:51:29 +01:00
A Holt
4c7369cd7a
calibre-web/tasks/install.yml: Clarify 'pip list' prob suffic 2022-07-07 17:46:06 -04:00
A Holt
389ee28227
PR #3292 comment clarif: {{ iiab_dir }} is /opt/iiab/iiab 2022-07-06 16:08:57 -04:00
A Holt
409e3c198c
Merge pull request #3292 from holta/iiab-apps-to-be-installed2
Small revisions for 3 commands: iiab-apps-to-be-installed, iiab-summary, iiab-diagnostics
2022-07-06 15:43:34 -04:00
root
e8ee4400ea iiab-diagnostics output: Less spacing betw 6 sections 2022-07-06 15:38:45 -04:00
root
99d5debbf4 iiab-summary: Remove bold font for pastebin. Restore /usr/bin/iiab-apps-to-be-installed 2022-07-06 15:25:14 -04:00
Jerry Vonau
16c1bf8e12
Update iiab-diagnostics 2022-07-06 11:35:00 -05:00
Jerry Vonau
b4695c82e4
Merge branch 'master' into iiab-apps-to-be-installed 2022-07-06 11:31:42 -05:00
A Holt
7403200a2d
Merge pull request #3291 from holta/iiab_remote_url
Extract IIAB_REMOTE_URL from 1 of 2 places, for both Git repos {iiab, iiab-admin-console} and...
2022-07-06 07:03:16 -04:00
root
faa73a3088 Toughen up iiab-apps-to-be-installed, iiab-summary, iiab-diagnostics 2022-07-06 05:53:19 -04:00
Jerry Vonau
afa45d3f55 iiab-summary - update on the fly 2022-07-06 02:57:10 -05:00
Jerry Vonau
6d38dd6317 iiab-diagnostics - use full path to repo location for iiab-apps-to-be-installed
Reason: Shared helper file, recent changes will appear with just a 'git pull'
not requiring an ansible run to install the file first.
2022-07-06 02:53:30 -05:00
A Holt
8f0bb17990 Uncover IIAB_REMOTE_URL in 1 of 2 places (for both repos) 2022-07-06 02:47:51 -04:00
A Holt
78d311a192
Merge pull request #3288 from holta/tls-ssl-downloads
Change download URL's & many (but not all) others to TLS/SSL
2022-07-05 13:55:24 -04:00
A Holt
9e39d421fa
firmware/tasks/download.yml: Tighter iiab_download_url + with_items 2022-07-05 12:56:59 -04:00
A Holt
9f13454e83 Change download URL's & others to TLS/SSL 2022-07-05 12:09:51 -04:00
A Holt
939e34dc65
Merge pull request #3285 from holta/iiab-apps-to-be-installed_double_brackets_safer
/usr/bin/iiab-apps-to-be-installed: double square brackets (safer for string compare)
2022-07-04 10:55:59 -04:00
A Holt
b56e4d5079
iiab-apps-to-be-installed: double brackets (safer for string compare) 2022-07-04 10:53:06 -04:00
A Holt
b12826d7af
Merge pull request #3284 from holta/iiab-apps-to-be-install_rm_tmp
iiab-apps-to-be-installed: rm tmp file (so diff users can later run this cleanly)
2022-07-03 15:27:17 -04:00
A Holt
98cbca6278
iiab-apps-to-be-installed: rm tmp file (so diff users can later run this cleanly) 2022-07-03 15:25:31 -04:00
A Holt
f2f4afb3de
Merge pull request #3282 from holta/iiab-summary_early_on
iiab-summary: Path for iiab-apps-to-be-installed (so it works early on)
2022-07-02 20:18:47 -04:00
A Holt
bfb9328da1
iiab-summary: Path for iiab-apps-to-be-installed (so it works early on) 2022-07-02 20:17:47 -04:00
George Hunt
d7d7270e21 missed two changes to mask from 224 to 255 2022-07-02 04:23:22 +01:00
A Holt
36c78199b0
Merge pull request #3280 from holta/iiab-summary_clarify-PRs
scripts/iiab-summary: Clarify when PR's are auto-pulled
2022-07-01 20:09:53 -04:00
A Holt
4cd135f198
iiab-summary: Tighten up /etc/iiab/pr-list-pulled context/wording 2022-07-01 20:09:30 -04:00
A Holt
843f14a849
scripts/iiab-summary: Clarify when PR's are auto-pulled 2022-07-01 20:05:48 -04:00
Mohamad
24829db43b added --force-reinstall to as extra ag to pip 2022-07-01 23:52:26 +02:00
A Holt
f1fbd524d9
phpmyadmin: Remove stale comment, cleaner spacing 2022-07-01 17:51:04 -04:00
Mohamad
8456c6dd5a removed lokole_commit ref from lokole_repo as it's already referenced 2022-07-01 18:48:38 +02:00
Mohamad
ba463a0b0a use fork in defaults/main.yml for testing 2022-07-01 17:46:59 +02:00
George Hunt
5faa5d0ca0 make local network mask correct for 256 2022-07-01 16:21:31 +01:00
Mohamad
6a55a11f55 set python_version env var before running createadmin 2022-07-01 17:05:40 +02:00
Mohamad
191e7577c3 added lokole_repo var to enable setting alternative git repo 2022-07-01 02:15:10 +02:00
A Holt
3aaa430525
Merge pull request #3279 from holta/mediawiki-1.38.2
mediawiki/defaults/main.yml: Version 1.38.2
2022-06-30 17:04:09 -04:00
A Holt
ca3f852748
mediawiki/defaults/main.yml: Version 1.38.2 2022-06-30 17:00:16 -04:00
Jerry Vonau
11f451da1a visual feedback 2022-06-30 12:21:33 -05:00
Jerry Vonau
59cd7ecc13 Correct discription of network.yml to hostname.yml 2022-06-30 10:45:58 -05:00
Jerry Vonau
5196b4dff9 tools needed after detection 2022-06-30 10:38:59 -05:00
Jerry Vonau
94d80f7ac4 always detect and report - record enabled 2022-06-30 10:38:59 -05:00
Jerry Vonau
57a9fa85f9 use block in the role for enable 2022-06-30 10:38:59 -05:00
Jerry Vonau
85dfee3b08 fully opt out 2022-06-30 10:38:59 -05:00
Jerry Vonau
6219a24d82 group dnsmasq within network and always preinstall 2022-06-30 10:38:26 -05:00
Jerry Vonau
7cd2c66fc8 reorder and 'installed' 2022-06-30 10:16:09 -05:00
A Holt
d5f60af6dd
Merge pull request #3275 from holta/RasPiOS-comments
Cleaner RasPiOS comments in 2-common, iiab-admin, jupyterhub, kalite, kolibri
2022-06-30 11:12:10 -04:00
root
8aef9d8fc8 Cleaner RasPiOS comments in 2-common, iiab-admin, jupyterhub, kalite, kolibri 2022-06-30 11:10:13 -04:00
A Holt
d364231dee
Merge pull request #3274 from holta/drop-ping
@jvonau's PR #3273 with obsolete groovy (Ubuntu 20.10) code block commented out & clarified [drop ping altogether, and vars internet_available & gw_active]
2022-06-30 10:55:16 -04:00
root
46fad7936e netplan.yml: Mint networkd-dispatcher issue? groovy & internet_available removed 2022-06-30 10:29:08 -04:00
Mohamad
e0ca1f2253 TODO 2022-06-30 16:07:44 +02:00
Mohamad
52ae68473a updated lokole role to reflect changes in Lokole 2022-06-30 15:34:34 +02:00
Jerry Vonau
fb7aa6a9c3
Update roles/vnstat/tasks/install.yml
Co-authored-by: A Holt <holta@users.noreply.github.com>
2022-06-30 01:31:56 -05:00
Jerry Vonau
490f64a27a remove disregard_network from default_vars 2022-06-29 23:31:10 -05:00
Jerry Vonau
ebae360646 network - drop internet_available 2022-06-29 23:02:48 -05:00
Jerry Vonau
4e717570e2 vnstat - just use ansible in install mode 2022-06-29 22:25:57 -05:00
Jerry Vonau
8637589218 Not required for normal operation 2022-06-29 22:25:01 -05:00
A Holt
f0ea82c1b6
vnstat/tasks/install.yml: Clean up comment for PR #3272 2022-06-29 20:32:17 -04:00
A Holt
a225ad92a4
Merge pull request #3272 from holta/0-init-faster
Speed up roles/0-init by almost 50% (by moving 2 things to detected_network.yml)
2022-06-29 20:20:58 -04:00
root
8eed8854b5 vnStat is basically never used (but patch it for divine reasons) 2022-06-29 20:01:03 -04:00
root
2457f415fc Speed up roles/0-init by moving 2 things to detected_network.yml 2022-06-29 18:37:13 -04:00
A Holt
8fb2faf59a
Merge pull request #3270 from holta/remote-recording
Record branch's actual Git remote (URL) to iiab.ini (in 2 places) + cleaner /usr/bin/iiab-summary when Admin Console is missing
2022-06-29 18:33:43 -04:00
A Holt
3e33157d74
Merge pull request #3271 from holta/awstats-full-year-view
awstats.schoolserver.conf.j2: Set AllowFullYearView=3 not 2
2022-06-29 14:13:56 -04:00
A Holt
15a5efb765
awstats.schoolserver.conf.j2: Set AllowFullYearView=3 not 2 2022-06-29 14:09:15 -04:00
root
cb51d68a9c local_facts.fact: Fix typo 12 -> "13 vars require a command" 2022-06-29 13:05:57 -04:00
root
b24dba5bba iiab-summary: Cleaner when there's no /opt/iiab/iiab-admin-console 2022-06-29 12:59:53 -04:00
root
64b2635bbb Record branch's actual Git remote (URL) to iiab.ini (in 2 places) 2022-06-29 12:50:11 -04:00
A Holt
6e8d0499b6
Merge pull request #3269 from holta/mint-ansible-fix
remoteit/tasks/install.yml: Remove "IIAB_LIKE=Ubuntu" after workaround, for Ansible OS detection
2022-06-29 09:24:55 -04:00
root
60745e3e59 remoteit/tasks/install.yml: Remove "IIAB_LIKE=Ubuntu" after workaround, for Ansible 2022-06-29 09:06:08 -04:00
A Holt
6a7dda4417
Merge pull request #3267 from holta/recent-git-tag
Highlight recent git tags (e.g. "8.0-preview-2" and "v0.5.5.9") in /usr/bin/iiab-summary, iiab-diagnostics etc [and remote URLs, branch names, PR count / commit count since tag...]
2022-06-28 17:13:42 -04:00
root
93709b75da iiab-diagnostics: Include iiab-apps-to-be-installed output 2022-06-28 10:04:50 -04:00
root
5f3946fb84 iiab-summary: Summary count of iiab-apps-to-be-installed 2022-06-28 09:50:33 -04:00
root
25e06a03d7 Update scripts/iiab-diagnostics.README.md 2022-06-28 09:37:28 -04:00
root
194bd1a2b4 /usr/bin/iiab-summary: Clarify temperature(s) 2022-06-28 09:14:24 -04:00
root
9370f59a44 /usr/bin/iiab-summary: Concise/quick view of any IIAB in ~20 lines 2022-06-28 08:58:41 -04:00
root
6404c71859 iiab-diagnostics: Unindent Git details 2022-06-27 16:23:29 -04:00
root
40c60d9596 iiab-diagnostics: Show Git details for 2 primary repos 2022-06-27 16:02:21 -04:00
George Hunt
17aa26a4ac jinja2 variable must start with non-numeric 2022-06-26 21:20:50 +01:00
A Holt
004136d85e
Update iiab-diagnostics.README.md 2022-06-26 06:21:30 -04:00
root
f898553346 Record recent git tag, for 2 primary repos 2022-06-25 19:53:58 -04:00
A Holt
18aef95d92
vars/linuxmint-21.yml: python_ver: "3.10" advance fix re: PR #3260 & PR #3265 2022-06-24 14:42:32 -04:00
A Holt
475d48eb9f
Merge pull request #3265 from holta/jammy-in-waiting
22.04 & Mint 21: Avoid Sugarizer+Moodle initially (TEMPORARY)
2022-06-24 14:37:10 -04:00
root
1fec2559e9 22.04 & Mint 21: Avoid Sugarizer+Moodle initially (TEMPORARY) 2022-06-24 14:32:07 -04:00
A Holt
fbd81dce3d
Merge pull request #3262 from holta/skip-sometimes
Try 'skip_role_on_error: True' in default_vars.yml for more uninterrupted installs of IIAB Apps ['./iiab-install --risky' if you want to live on the wild side, forcing it too to use 'skip_role_on_error: True']
2022-06-23 12:22:55 -04:00
root
63f1363e21 iiab-install: Show usage in bold more cleanly 2022-06-23 10:11:50 -04:00
root
96521f9ad4 Clarify './iiab-install --risky' for 'skip_role_on_error: True' in default_vars.yml 2022-06-23 01:12:19 -04:00
George Hunt
41a91bd0f5 get lan_ip soft coded everywhere 2022-06-23 04:55:56 +01:00
root
f63ef53998 iiab-install: Parse flags cleanly, e.g. '--risky' for 'skip_role_on_error: True' 2022-06-22 22:46:51 -04:00
root
07d6d7b075 Lint/Indent .yml files in /opt/iiab/iiab 2022-06-22 11:58:22 -04:00
A Holt
3c04ba6fb0
Merge pull request #3263 from holta/ansible-core-2.13.1
scripts/ansible: Recommend ansible-core 2.13.1
2022-06-21 18:10:50 -04:00
A Holt
b4ba2f6a76
scripts/ansible: Recommend ansible-core 2.13.1 2022-06-21 18:05:47 -04:00
root
2d6943e966 Try 'skip_role_on_error: True' in default_vars 2022-06-21 11:01:01 -04:00
A Holt
bd62849584
Merge pull request #3261 from holta/test.yml-float-vs-string
test.yml: float (drops outer zeros) vs AnsibleUnicode (String)
2022-06-20 20:20:45 -04:00
root
0036d8c17b test.yml: float (drops outer zeros) vs AnsibleUnicode (String) 2022-06-20 20:13:41 -04:00
A Holt
adeded594c
Merge pull request #3260 from holta/python-3.10-ansible
Force string python_ver: "3.10" in ubuntu-2204.yml & ubuntu-2210.yml [also update debian-12.yml "Bookworm"]
2022-06-20 16:45:33 -04:00
A Holt
f7a3207034
vars/debian-12.yml: Set PHP 8.1, PostgreSQL 14, Python 3.10 2022-06-20 16:41:49 -04:00
A Holt
8a87034c72
vars/ubuntu-2210.yml: python_ver: "3.10" 2022-06-20 16:32:19 -04:00
A Holt
f098d8e5eb
vars/ubuntu-2204.yml: python_ver: "3.10" 2022-06-20 16:31:10 -04:00
A Holt
bd1096f437
Merge pull request #3258 from holta/cat_cmd
iiab-diagnostics: Fix cat_cmd output + grep -B2 "SEE ERROR ABOVE" /opt/iiab/iiab/*.log + speed up prompt
2022-06-19 21:23:44 -04:00
root
fa5d5d57b6 iiab-diagnostics: Clean regex's, move/explain 'grep -B2', tighten prompt logic 2022-06-19 20:55:59 -04:00
root
f9a145309f iiab-diagnostics: grep -B2 "SEE ERROR ABOVE" /opt/iiab/iiab/*.log 2022-06-19 20:07:05 -04:00
root
6a8d4a45f6 iiab-diagnostics: Fix cat_cmd output + speed up prompt 2022-06-19 19:59:23 -04:00
A Holt
02e994f0fc
Merge pull request #3257 from holta/iiab-apps-to-be-installed
/usr/bin/iiab-apps-to-be-installed: Quick scan to see what's asked for but not yet installed
2022-06-19 01:17:50 -04:00
root
9dc838fdeb /usr/bin/iiab-apps-to-be-installed: Quick scan to see what's not yet installed 2022-06-19 00:55:51 -04:00
A Holt
933f2af620
Merge pull request #3256 from holta/skip_role_on_error
Support skip_role_on_error in 23+3 more roles (Stages 6-9)
2022-06-18 17:47:30 -04:00
root
43147e3f59 yarn/tasks/main.yml: Support skip_role_on_error flag 2022-06-18 17:04:13 -04:00
root
47aae3661f gitea/tasks/enable-or-disable.yml: Fix indentation 2022-06-18 14:49:45 -04:00
root
8749e66a0b Support skip_role_on_error in 23+2 more roles (Stages 6-9) 2022-06-18 13:55:05 -04:00
Carl Wivagg
a91b56169c Add Matomo to nginx before install so web install works 2022-06-18 13:53:10 -04:00
Carl Wivagg
c431400a7f first try at moving matomo to doc base 2022-06-18 13:43:43 -04:00
A Holt
83ea6ce852
Merge pull request #3255 from holta/skip_role_on_error
Prototype 'skip_role_on_error: True' in 4 roles {lokole, moodle, mongodb, sugarizer}
2022-06-18 11:48:00 -04:00
root
bacef12a1f update Matomo timezone to autodetect 2022-06-18 13:23:42 +00:00
root
bcb383cdba Merge branch 'matomo' of https://github.com/holta/iiab 2022-06-18 13:07:07 +00:00
A Holt
18577c19e9
6-generic-apps: "when: lokole_install is defined and..." 2022-06-17 22:00:25 -04:00
A Holt
0871592ed6
6-generic-apps: Mark AzuraCast & Lokole as unmaintained (for now) 2022-06-17 21:58:22 -04:00
root
645a3e20db Prototype 'skip_role_on_error: True' in 4 roles {lokole, moodle, mongodb, sugarizer} 2022-06-17 10:53:44 -04:00
Tim Moody
2e2824c318
Merge pull request #3254 from tim-moody/7.3.4-usb-mount
7.3.4 usb mount
2022-06-16 14:12:43 -04:00
tim-moody
5cfebd8cc6 on usb mount no symlink if rootfs or /library on device 2022-06-16 13:49:50 -04:00
A Holt
291aa7037d
Merge pull request #3235 from holta/kiwix-tools-3.3.0
kiwix-tools 3.3.0 is coming very soon (with "opensearch")
2022-06-15 13:26:15 -04:00
tim-moody
c52b3a1134 add latest flavor of the month 2022-06-15 09:58:40 -04:00
A Holt
d4154e09a5
matomo/tasks/main.yml: Update description for iiab.ini 2022-06-15 09:07:14 -04:00
A Holt
4074a75c0f
install.yml: Mention matomo.tar.gz (download) 2022-06-15 04:01:58 -04:00
A Holt
698e261220
validate_vars.yml: Preserve install order (awstats, matomo) 2022-06-15 03:19:36 -04:00
root
4e04780ec5 Matomo-IIAB integration begins 2022-06-15 02:40:28 -04:00
A Holt
7c43cddedc
pbx/tasks/freepbx.yml: Remove gratuitous 'state: present' from mysql_user, myqsl_db 2022-06-14 23:41:56 -04:00
root
e48c688443 Merge remote-tracking branch 'cwivagg/cwivagg/matomo_20220430' into matomo 2022-06-14 21:14:31 -04:00
Carl Wivagg
0381225f53 Fix remaining bugs 2022-06-12 06:27:27 -04:00
A Holt
158a15c3c2
Merge pull request #3251 from holta/iiab-diagnostics_df_-ah
iiab-diagnostics: 'df -ah' for disk usage detail
2022-06-11 13:35:48 -04:00
root
8260890840 iiab-diagnostics: 'df -ah' for disk usage detail 2022-06-11 13:25:48 -04:00
A Holt
9abf3e6bf8
Merge pull request #3250 from holta/moodle_enable-or-disable
Use moodle/tasks/enable-or-disable.yml like in other roles
2022-06-11 12:23:32 -04:00
root
a1656ca6e7 moodle/tasks/enable-or-disable.yml like other roles 2022-06-11 11:52:13 -04:00
A Holt
be71adc6a1
Merge pull request #3241 from holta/mongodb-spring-cleaning
WIP: Tighten up roles/mongodb — runs 'apt-mark hold mongodb-org mongodb-org-server' on 64-bit RPi if installing MongoDB >= 5.0
2022-06-10 00:51:18 -04:00
root
f7d3411df1 Fix + Clarify apt signing key, mongodb_64bit_version 2022-06-09 23:49:54 -04:00
root
c095851eb2 WIP: Softcode 'mongodb_64bit_version: 4.4' 2022-06-09 22:50:21 -04:00
A Holt
152936bbe6
Merge branch 'iiab:master' into mongodb-spring-cleaning 2022-06-09 19:24:17 -04:00
A Holt
eebbb53145
Merge pull request #3248 from holta/nodered-pi-fix
Rework + modernize Node-RED's roles/nodered install routine (no more 'pi', ETC!)
2022-06-09 17:53:32 -04:00
A Holt
c00765ac6e
Merge branch 'iiab:master' into mongodb-spring-cleaning 2022-06-09 17:50:20 -04:00
root
a5d802ae7f Move to nodered/tasks/apache.yml.unused 2022-06-09 17:10:51 -04:00
A Holt
dec5d261bc
Merge branch 'iiab:master' into nodered-pi-fix 2022-06-09 17:06:07 -04:00
root
c8e779ab77 CAUTION Re: blockinfile acting on /home/nodered/.node-red/settings.js 2022-06-09 16:36:22 -04:00
root
f813408f05 git mv nodered/tasks/group.yml nodered/tasks/settings.yml 2022-06-09 16:07:18 -04:00
root
840eca85ce Rework + modernize roles/nodered (no more 'pi', ETC) 2022-06-09 15:58:49 -04:00
A Holt
f374d05ea2
Merge pull request #3246 from holta/nodered-pi-fix
nodered/tasks/rpi_desk.yml: Interim patch comments out 'pi' on RasPiOS
2022-06-08 16:46:07 -04:00
root
14adcdd6c9 nodered/tasks/rpi_desk.yml: Interim patch comments out 'pi' on RasPiOS 2022-06-08 16:43:59 -04:00
root
56d428ede0 mongodb/tasks/install.yml: Clean comments & spacing 2022-06-08 16:22:32 -04:00
root
56e5cc48b9 WIP: Tighten up roles/mongodb 2022-06-07 23:22:35 -04:00
A Holt
a440c99ebf
Merge pull request #3240 from holta/kolibri+python3.10
Unblock Kolibri 0.15.3 installs on Python 3.10, e.g. Ubuntu 22.04, 22.10
2022-06-07 16:25:39 -04:00
root
35fa7634d9 Unblock Kolibri 0.15.3 install on Ubuntu 22.04+ 2022-06-07 15:47:04 -04:00
A Holt
4084fd1ade
test.yml: YAML disallows tab indentation, #3239 2022-06-07 14:05:51 -04:00
A Holt
301c44b70c
Merge pull request #3239 from holta/test.yml-local_facts
test.yml: Document ansible_facts['distribution'] etc — "avoid ansible_distribution since Ansible 2.7"
2022-06-07 13:56:33 -04:00
root
64e178c822 test.yml: Document ansible_facts['distribution'] etc 2022-06-07 13:52:20 -04:00
A Holt
2b02337865
Merge pull request #3238 from holta/mongodb-spring-cleaning
WIP: MongoDB Spring Cleaning (bug fixes) for #3236
2022-06-07 04:16:16 -04:00
root
71beb2c588 WIP: MongoDB Spring Cleaning (bug fixes) for #3236 2022-06-07 03:57:15 -04:00
A Holt
893582e7a2
Merge pull request #3237 from holta/test.yml-local_facts
test.yml: Document ansible_local.local_facts, ansible_architecture etc
2022-06-07 01:10:16 -04:00
root
edb26161db test.yml: Document ansible_local.local_facts, ansible_architecture etc 2022-06-07 01:06:29 -04:00
A Holt
cb1f00467a
mongodb/tasks/install.yml: Remove ancient comment 2022-06-06 19:58:21 -04:00
A Holt
2ffbde9b41
kiwix/defaults/main.yml: kiwix-tools 3.3.0 (coming soon) 2022-06-06 12:01:14 -04:00
A Holt
166b47c33b
Merge pull request #3234 from holta/mediawiki-1.38.1
MediaWiki 1.38.1 fixes problems with last week's 1.38.0
2022-06-06 10:47:52 -04:00
A Holt
f0a5ca750b
mediawiki/defaults/main.yml: MediaWiki 1.38.1 2022-06-06 10:45:48 -04:00
A Holt
819811712c
Merge pull request #3233 from holta/mediawiki-1.38.0
mediawiki/defaults/main.yml: new release 1.38.0
2022-06-02 19:36:15 -04:00
A Holt
fba4bf3ba1
mediawiki/defaults/main.yml: new release 1.38.0 2022-06-02 19:33:05 -04:00
Tim Moody
62f9ab12cf
Merge pull request #3232 from tim-moody/7.3.3-vars-none
local vars with no services
2022-05-31 15:46:17 -04:00
tim-moody
26727d23d4 no services 2022-05-31 15:45:38 -04:00
Carl Wivagg
4edc6c22bd Fix bug in cookie placement 2022-05-31 06:51:57 -04:00
A Holt
798b0a72df
Merge pull request #3230 from holta/iiab-diagnostics_git_commit_if_not_root
iiab-diagnostics: 4 fixes/cleanups
2022-05-29 17:13:43 -04:00
root
fc50d09951 iiab-diagnostics: Avoid eval due to globbing "filenames that contain spaces (ugly IFS issues!)" 2022-05-29 16:50:27 -04:00
root
0654e5f6dc iiab-diagnostics: bash -c "$1" instead of eval/exec to fix globbing 2022-05-29 16:37:45 -04:00
A Holt
61ada786cd
iiab-diagnostics: (1) Show commits even if non-root (2) Cleaner "/CANONICAL-PATH/CMD PARAMS" output (3) Lint to [[ $VAR == "" ]] 2022-05-29 14:57:32 -04:00
A Holt
2678d79b2f
Update kiwix/README.rst 2022-05-27 19:53:15 -04:00
A Holt
876f4461de
Update kiwix/README.rst 2022-05-27 18:55:28 -04:00
A Holt
858895c50b
pbx/README.adoc: Update FAQ.IIAB.IO URL's 2022-05-26 13:56:33 -04:00
A Holt
58566cb8ca
pbx/README.adoc: THX Ron Raikes for his GitHub approach to installing FreePBX (PR #3229) 2022-05-26 11:23:34 -04:00
A Holt
d5452259ca
Merge pull request #3229 from holta/freepbx-via-git-clone
freepbx-16.0-latest.tgz STALE so git clone to /opt/iiab/freepbx
2022-05-26 11:01:08 -04:00
A Holt
55e673e518
freepbx.yml: Mention 2 new auto-installed FreePBX modules 2022-05-26 09:36:29 -04:00
root
066837fe16 Delineate sections in 336-line freepbx.yml 2022-05-26 02:06:14 -04:00
root
1f2eab54f4 pbx/tasks/asterisk.yml: Typo in 'make install' output 2022-05-26 01:57:38 -04:00
root
d98a6c70a4 Try installing 1+15 FreePBX modules BEFORE forcing off Asterisk 2022-05-26 01:53:52 -04:00
root
75b5e6d91f freepbx.yml: Skip 'fwconsole reload' for now (requires Asterisk live) 2022-05-26 01:12:29 -04:00
root
9da59526e7 Merge branch 'freepbx-via-git-clone' of https://github.com/holta/iiab into freepbx-via-git-clone 2022-05-25 22:59:23 -04:00
root
8c0a981967 freepbx.yml: Install official versions of 1 + 15 FreePBX modules 2022-05-25 22:54:43 -04:00
A Holt
47bd30d480
Update pbx/README.adoc & use relative URL's (so readable offline) 2022-05-25 20:31:12 -04:00
A Holt
e7f8d57b96
pbx/README.adoc: Update 2 stale URL's 2022-05-25 20:16:12 -04:00
root
a81def476c freepbx-16.0-latest.tgz STALE so git clone to /opt/iiab/freepbx 2022-05-25 20:06:06 -04:00
A Holt
c96844ec5f
pbx/README.adoc: asterisk -rx "core show version" 2022-05-25 17:59:13 -04:00
A Holt
fc87110d61
pbx/README.adoc: Make #3228 warning *bold* 2022-05-25 15:50:52 -04:00
A Holt
a3734201c1
pbx/README.adoc: Explain #3228 in the Known Issues section 2022-05-25 15:48:20 -04:00
A Holt
1d0d6bd753
pbx/defaults/main.yml: Fix typo explaining #3228 2022-05-25 15:36:00 -04:00
A Holt
50fd06d0a8
#3228 interim/manual workaround as freepbx-16.0-latest.tgz is NOT the latest 2022-05-25 15:34:17 -04:00
A Holt
ee20486ea5
nextcloud/tasks/install.yml: Clarify /library/www/nextcloud is 405MB initially 2022-05-25 13:36:31 -04:00
Carl Wivagg
fb326651a0 Add section for cookie resetting 2022-05-25 06:51:24 -04:00
A Holt
319b5a2342
Lint www_options/tasks/main.yml 2022-05-23 19:51:01 -04:00
A Holt
8c50177702
Merge pull request #3179 from jvonau/auto_country
set 'host_country_code' to value found in wpa_supplicant.conf [on Raspberry Pi OS only, deferring Ubuntu/Debian upstream issues]
2022-05-20 11:12:52 -04:00
A Holt
215624d147
Update README.md 2022-05-19 19:45:42 -04:00
Jerry Vonau
35750850ac
From @holta user facing feedback
Co-authored-by: A Holt <holta@users.noreply.github.com>
2022-05-19 15:11:58 -05:00
Jerry Vonau
7c72b2f983 move iiab-hotspot-on|off - can_be_ap in template 2022-05-19 14:34:03 -05:00
Jerry Vonau
39bf6fe32c feedback 2022-05-19 14:34:03 -05:00
Jerry Vonau
a8ca92a9b3 move country_code - replace '' with $() 2022-05-19 14:34:03 -05:00
root
743d8f2601 wpa_supplicant.conf country code authoritative, espec for RasPiOS 2022-05-19 14:34:03 -05:00
root
c01c6ac73b network/tasks/rpi_debian.yml: 'country_code.stdout | length == 0' 2022-05-19 14:32:18 -05:00
Jerry Vonau
ed2a0f3027 wip on the fly 2022-05-19 14:32:18 -05:00
Jerry Vonau
8924b6668c reload might be needed to register the new templates if they changed 2022-05-19 14:32:18 -05:00
Jerry Vonau
6e2493a2d4 think that was a bug report in the past 2022-05-19 14:32:18 -05:00
Jerry Vonau
9f699d19fe should be a drop-in replacement 2022-05-19 14:32:18 -05:00
Jerry Vonau
dfb9eea05d isolate returned value 2022-05-19 14:32:18 -05:00
Jerry Vonau
4a30d7e15d supply hostapd template later to pickup changed fact 2022-05-19 14:32:18 -05:00
Jerry Vonau
422b1c0197 set 'host_country_code' to value found in wpa_supplicant.conf
host_country_code becomes a fallback value if undetected
2022-05-19 14:32:18 -05:00
A Holt
a2d31595b5
Merge pull request #3225 from holta/ubuntu-2210
7-edu-apps: TEMPORARY 'and not is_ubuntu_2210' for #3189
2022-05-19 13:24:23 -04:00
root
fb26c42c76 7-edu-apps: TEMPORARY 'and not is_ubuntu_2210' for #3189 2022-05-19 13:17:17 -04:00
A Holt
ceea8fb36d
Merge pull request #3223 from holta/ubuntu-2210
Tolerate Ubuntu 22.10 Kinetic Kudu to help with testing
2022-05-19 11:40:33 -04:00
A Holt
d947aa70dc
Merge pull request #3222 from holta/check4AP
Check hardware for AP and if so record 'can_be_ap = True' to /etc/iiab/iiab.ini
2022-05-19 11:28:57 -04:00
A Holt
9bf4404e50
hostapd.yml: Clean up Ansible output re: iiab-hotspot-{on|off} 2022-05-19 11:25:00 -04:00
A Holt
7f50ad8365
network/tasks/hostapd.yml: Install /usr/bin/iiab-hotspot-{on|off} in all cases! 2022-05-19 11:20:24 -04:00
root
739bfd59f3 Tolerate Ubuntu 22.10 Kinetic Kudu to help with testing 2022-05-19 09:35:35 -04:00
root
1df0263281 detected_network.yml: 'when: look_for_ap.failed is defined and...' 2022-05-19 00:04:57 -04:00
root
4d5143e2de network/tasks/detected_network.yml: Refine AP detection 2022-05-18 23:48:54 -04:00
root
fb1e5a3bc4 Merge branch 'check4AP' of https://github.com/jvonau/iiab into check4AP 2022-05-18 22:46:26 -04:00
A Holt
193ee4c0f3
Merge pull request #3221 from holta/kiwix-tools-3.2.0-5
Try kiwix-tools 3.2.0-5
2022-05-18 10:59:14 -04:00
A Holt
91b0f9ceed
Update README.md 2022-05-18 08:12:53 -04:00
A Holt
a6edf6d679
Try kiwix-tools 3.2.0-5 2022-05-18 07:03:39 -04:00
A Holt
f45b3574ed
scripts/ansible: Mention ansible-base 2.10.17 for #3220 2022-05-17 07:33:22 -04:00
A Holt
5d842ff48b
Merge pull request #3220 from holta/ansible-core-2.13.0
Recommend ansible-core 2.13.0
2022-05-16 13:31:33 -04:00
A Holt
e70d408488
Clarify CURR_VER (Ansible version you have installed) e.g. [core 2.13.0] 2022-05-16 13:30:57 -04:00
A Holt
4b6a3a02e5
Recommend ansible-core 2.13.0 2022-05-16 13:16:04 -04:00
Carl Wivagg
3e9541ab7e Add missing field in Matomo cURL command 2022-05-14 14:19:14 -04:00
A Holt
c205e1c113
Merge pull request #3219 from holta/iiab-diagnostics-journalctl--t-IIAB-CMDSRV
iiab-diagnostics: journalctl -t IIAB-CMDSRV
2022-05-12 16:05:37 -04:00
A Holt
6565171e31
iiab-diagnostics: 'Admin Console CMDSRV log' 2022-05-12 16:05:15 -04:00
A Holt
c03e8dfa82
iiab-diagnostics: journalctl -t IIAB-CMDSRV 2022-05-12 14:00:00 -04:00
A Holt
1969c635eb
Merge pull request #3218 from holta/phpmyadmin-5.2.0
phpMyAdmin 5.1.3 -> 5.2.0
2022-05-11 13:04:13 -04:00
A Holt
9bcbbc135a
phpMyAdmin 5.2.0 2022-05-11 13:01:40 -04:00
A Holt
454edfbe02
Update README.md 2022-05-09 19:40:53 -04:00
A Holt
3326c5aa74
Merge pull request #3215 from holta/nextcloud-readme
nextcloud/README.md: Warn about Nextcloud News app's 32-bit requirement
2022-05-09 07:36:25 -04:00
A Holt
0a7327afd7
nextcloud/README.md: Warn about Nextcloud News app's 32-bit requirement 2022-05-09 07:35:22 -04:00
A Holt
21fe9ccdec
Merge pull request #3214 from holta/mongodb-5.0.x
mongodb/tasks/install.yml: Try 5.0.x (was 4.4.x) on all four 64-bit OS's (for Sugarizer)
2022-05-08 19:58:55 -04:00
A Holt
6695a22d53
mongodb/tasks/install.yml: Try 5.0.x (was 4.4.x) on all 4 64-bit OS's 2022-05-08 09:43:14 -04:00
A Holt
af3bd86383
Merge pull request #3213 from holta/kiwix_apk_src-broken-link
default_vars.yml: 'kiwix_apk_src: [full URL]/kiwix-android/kiwix-3.4.5.apk' for now
2022-05-07 13:24:26 -04:00
A Holt
bd870a0e26
default_vars.yml: 'kiwix_apk_src: [full URL]/kiwix-android/kiwix-3.4.5.apk' for now 2022-05-07 13:22:21 -04:00
A Holt
c5aa77db93
Merge pull request #3212 from holta/kiwix-tools-3.2.0-4
kiwix-tools 3.2.0-4: fixes for diacritics (accents) etc
2022-05-07 07:48:02 -04:00
A Holt
890cb94af2
kiwix-tools 3.2.0-4: fixes for diacritics (accents) etc 2022-05-07 07:44:17 -04:00
A Holt
17960e2b20
kiwix/tasks/kiwix-apk.yml: Update comments 2022-05-05 21:45:16 -04:00
A Holt
5f33849fca
Revise /opt/iiab/jupyterhub size estimate to ~217 MB (was ~229 MB) 2022-05-04 17:42:59 -04:00
A Holt
97577fe5dd
Merge pull request #3210 from holta/wordpress-download-casino
Try wget workaround — as Ansible's get_url can be blocked by WordPress.org
2022-05-04 11:41:35 -04:00
A Holt
79052db75b
wordpress/tasks/install.yml: "{{ downloads_dir }}/wordpress.tar.gz" 2022-05-04 11:39:51 -04:00
A Holt
87ef66bdee
Generally safer to delete prior /opt/iiab/downloads/wordpress.tar.gz 2022-05-04 11:33:49 -04:00
A Holt
2499e28ac1
'wget -P' inadequate, so try: wget -O /opt/iiab/downloads/wordpress.tar.gz 2022-05-04 11:11:06 -04:00
A Holt
6a445bd4d8
Try wget workaround (Ansible's get_url can be blocked by WordPress.org) 2022-05-04 10:54:25 -04:00
Carl Wivagg
d456ec3b91 revert breaking change in 0-init role 2022-05-04 06:29:21 -04:00
Carl Wivagg
bd989dbbe2 Fix some bugs in paths/URLs 2022-05-04 06:25:16 -04:00
A Holt
766f2cb779
Merge pull request #3209 from holta/iiab-diagnostics_mask_wep_key
scripts/iiab-diagnostics: Redact wep-key[0-3]=PASSWORD (for old WiFi routers)
2022-05-03 15:14:59 -04:00
A Holt
6e93095e1e
scripts/iiab-diagnostics: Redact wep-key[0-3]=PASSWORD 2022-05-03 15:12:12 -04:00
Carl Wivagg
45e1fd2c0e correct matomo path and move to variable 2022-05-03 06:33:15 -04:00
A Holt
105bc301c3
Merge pull request #3208 from holta/nextcloud24
Nextcloud 24.0.0 works w/ PHP 8.1 on Ubuntu 22.04
2022-05-03 06:29:33 -04:00
Carl Wivagg
ba33825d6a changes for matomo in validate vars 2022-05-03 06:03:03 -04:00
Carl Wivagg
04fbec1f4b changes for matomo in mgmt tools 2022-05-03 05:46:09 -04:00
root
ccff8a793c nextcloud/tasks/install.yml: Link to official/evolving Nextcloud 24 reqs 2022-05-02 22:14:16 -04:00
root
c4abc856bc Nextcloud 24.0.0 work w/ PHP 8.1 on Ubuntu 22.04 2022-05-02 22:04:53 -04:00
Carl Wivagg
30620a8034 changes to Matomo role to record state 2022-05-02 06:24:50 -04:00
A Holt
46c947f7bf
osm-vector-maps/README.md: Link to ~12 "2020" regions + catalog for #3205 2022-05-01 23:49:01 -04:00
A Holt
24bae0a24e
osm-vector-maps/README.md: Link to d.iiab.io for PR #3205 2022-05-01 23:32:25 -04:00
A Holt
6eddfd3c90
osm-vector-maps/README.md: Catalog links/details for PR #3205 2022-05-01 13:39:40 -04:00
Carl Wivagg
1f2bd60002 Update password to IIAB default. 2022-05-01 06:10:39 -04:00
Carl Wivagg
37e750417d Add citation for website interaction section. 2022-05-01 06:09:49 -04:00
A Holt
76cbe7e5b0
osm-vector-maps/README.md: "How to (wipe and) upgrade IIAB Maps" for PR #3205 2022-04-30 22:40:55 -04:00
A Holt
0061f44722
Merge pull request #3205 from holta/maps-lint-readability
Begin updating osm-vector-maps/README.md e.g. "How to upgrade IIAB Maps" (ENTIRELY AT YOUR OWN RISK)
2022-04-30 22:20:45 -04:00
A Holt
bf4d4cfa85
osm-vector-maps/README.md: Fix top-line link and IIAB install tip 2022-04-30 22:19:56 -04:00
A Holt
c7ebf5752f
osm-vector-maps/README.md: Update 1.2G + 2.0G filenames/sizes, outline d/l speedup options, etc 2022-04-30 22:03:54 -04:00
A Holt
f13d98a404
Begin updating osm-vector-maps/README.md e.g. "How to upgrade IIAB Maps" (ENTIRELY AT YOUR OWN RISK) 2022-04-30 21:03:20 -04:00
A Holt
763dea9557
Avoid comment repetition of e.g. {{ osm_repo_url }}/{{ maps_branch }} for PR #3204 2022-04-30 12:16:39 -04:00
A Holt
fe846c48d2
Merge pull request #3204 from holta/maps-lint-readability
osm-vector-maps: Lint + clarify for readability e.g. map_installer_url -- and speed up initial install of 48MB planet_z0-z6_2020.mbtiles + 25MB satellite_z0-z6_2020.mbtiles
2022-04-30 11:59:57 -04:00
root
74250b9dc8 osm-vector-maps: Lint + clarify for readability e.g. map_installer_url 2022-04-30 11:48:47 -04:00
Carl Wivagg
748f9ec110 Add initial draft of Matomo role 2022-04-30 07:07:09 -04:00
tim-moody
784c9d111a copy fonts.css to maps assets 2022-04-29 20:45:38 -04:00
A Holt
df84c45b28
roles/remoteit/README.md: Faster URL for FAQ.IIAB.IO 2022-04-29 17:20:43 -04:00
A Holt
346196f40c
Merge pull request #3202 from holta/remoteit-mint
remoteit/tasks/install.yml: Refine PR #3201 using Ansible not bash
2022-04-29 16:06:23 -04:00
root
2dd7a54ae7 remoteit/tasks/install.yml: Refine PR #3201 using Ansible not bash 2022-04-29 16:00:28 -04:00
A Holt
a463632492
Merge pull request #3201 from holta/remoteit-mint
Workaround to induce remote.it install on Linux Mint
2022-04-29 15:40:43 -04:00
root
dea315627d Workaround to induce remote.it install on Linux Mint 2022-04-29 15:35:23 -04:00
A Holt
197c8fc477
Merge pull request #3200 from holta/master
Fix vars/local_vars_unittest.yml: 'download_timeout: 100' (not 200)
2022-04-29 13:55:23 -04:00
A Holt
e189db998c
vars/local_vars_unittest.yml: 'download_timeout: 100' (not 200) 2022-04-29 13:53:31 -04:00
A Holt
9addfd2564
calibre-web/tasks/install.yml: venv context refresher course 2022-04-28 22:53:26 -04:00
A Holt
64771e66e0
Merge pull request #3198 from iiab/revert-3197-osm_fonts
Revert "upstream fonts.css does not have mapping to 'common'"
2022-04-28 18:06:54 -04:00
A Holt
cd0777b8b6
Revert "upstream fonts.css does not have mapping to 'common'" 2022-04-28 18:04:37 -04:00
A Holt
88cfc6fa0b
Merge pull request #3197 from jvonau/osm_fonts
upstream fonts.css does not have mapping to 'common'
2022-04-28 16:08:22 -04:00
Jerry Vonau
8995a59239
Update roles/osm-vector-maps/tasks/install.yml
Co-authored-by: A Holt <holta@users.noreply.github.com>
2022-04-28 14:11:16 -05:00
Jerry Vonau
3c928c04a7 upstream fonts.css does not have mapping to 'common' 2022-04-28 13:40:16 -05:00
A Holt
b5f72390e5
Merge pull request #3196 from jvonau/osm_url2
Revert "install fonts to '/viewer/assets/'"
2022-04-28 13:38:19 -04:00
Jerry Vonau
11c8c0df13 Revert "install fonts to '/viewer/assets/'"
This reverts commit a784d5ec27.
2022-04-28 12:03:20 -05:00
A Holt
5b11dadd49
Merge pull request #3192 from jvonau/osm_url
host maps on github
2022-04-28 12:24:19 -04:00
Jerry Vonau
a784d5ec27 install fonts to '/viewer/assets/' 2022-04-28 09:11:29 -05:00
Jerry Vonau
1049d94d4c use new path2 2022-04-28 06:57:54 -05:00
Jerry Vonau
6e657d593a use new path 2022-04-27 12:25:12 -05:00
Jerry Vonau
be07caca70 regions.json went away
https://github.com/iiab/maps/issues/55#issuecomment-1110136033
2022-04-26 14:00:30 -05:00
Jerry Vonau
2df70d5555 s/b disabled 2022-04-26 00:56:59 -05:00
Jerry Vonau
0c5e477653 default_vars 2022-04-26 00:56:59 -05:00
Jerry Vonau
4ea85bc525 swing note 2022-04-26 00:56:59 -05:00
Jerry Vonau
73d912fb4c swing to osm_repo_url 2022-04-26 00:56:59 -05:00
Jerry Vonau
6a8d50aabc move apt install 2022-04-25 22:58:15 -05:00
Jerry Vonau
17ce6e4fb4 notes & to be fixed 2022-04-25 22:58:15 -05:00
Jerry Vonau
8cd11af3d5 swing regions.json to iiab/master 2022-04-25 13:55:14 -05:00
Jerry Vonau
9910805f06 swing git repo back to iiab/master 2022-04-25 12:22:01 -05:00
A Holt
a8581ded63
Merge pull request #3191 from holta/ansible-core-2.12.5
Recommend ansible-core 2.12.5
2022-04-25 12:45:35 -04:00
A Holt
051c2d0fcb
Recommend ansible-core 2.12.5 2022-04-25 12:44:56 -04:00
A Holt
2293c9a7b2
nodejs/tasks/install.yml: Clarify manual install (if nec right after new OS releases) 2022-04-22 00:56:15 -04:00
A Holt
a4e72ce7ed
nodejs/tasks/install.yml: Document manual install option (to test freshly released OS's) 2022-04-21 23:11:59 -04:00
A Holt
77436eb04d
Merge pull request #3165 from georgejhunt/maps7.3
Branch Maps7.3 -- includes 2020 OSM data and 2020 satellite images
2022-04-21 10:47:07 -04:00
A Holt
5b58e9b28f
Merge pull request #3189 from holta/ubuntu-22.04-holdups
Stage 6/7 bypass of apps not yet compatible w/ Ubuntu 22.04 (Kolibri, Nextcloud, Moodle, Sugarizer)
2022-04-21 01:05:45 -04:00
root
b2e1422240 Stage 6/7 bypass of apps not yet compatible w/ Ubuntu 22.04 (Nextcloud, Kolibri, Moodle, Sugarizer) 2022-04-21 04:04:06 +00:00
A Holt
1fb41333ce
gitea/tasks/install.yml: Mention current release branch (1.16) 2022-04-20 16:00:18 -04:00
A Holt
d2ba21248d
Merge pull request #3186 from holta/nodejs-18.x
Try out Node.js 18.x (now released, becomes LTS on 2022-10-25)
2022-04-20 15:02:04 -04:00
root
86858fcecf internetarchive/tasks/install.yml: Enforce Node.js <= 18.x 2022-04-20 18:53:18 +00:00
A Holt
27cf813a66
Merge pull request #3187 from holta/freepbx-16-officially-supports-asterisk-19
FreePBX 16 now officially works with Asterisk 19 (so remove temp patch)
2022-04-20 14:38:37 -04:00
A Holt
e4f793fb3c
pbx/README.adoc: Make Asterisk 19 + FreePBX 16 official, w/ PHP 7.4 2022-04-20 14:35:43 -04:00
A Holt
abfc5e4c75
FreePBX 16 now officially works with Asterisk 19 (so remove temp patch) 2022-04-20 14:16:41 -04:00
A Holt
7386419cf4
gitea/tasks/install.yml: Clarify symlink /library/gitea/gitea 2022-04-20 11:30:51 -04:00
A Holt
909bb37680
gitea/tasks/install.yml: Note /library/gitea/bin/gitea-1.16 is ~103MB 2022-04-20 11:02:24 -04:00
A Holt
7d97c56ef2
nodejs/defaults/main.yml: 'nodejs_version: 18.x' 2022-04-19 17:47:39 -04:00
A Holt
9dae05f4f0
default_vars.yml: 'nodejs_version: 18.x' 2022-04-19 17:47:24 -04:00
A Holt
40235affe2
Merge pull request #3184 from holta/moodle-4.0
Moodle 4.0 is now official
2022-04-18 23:29:05 -04:00
A Holt
b4495f1ee2
Mention Moodle 4.0's new larger size for /opt/iiab/moodle 2022-04-18 23:19:46 -04:00
A Holt
79428f0061
New branch name+numbering scheme: MOODLE_400_STABLE 2022-04-18 22:39:08 -04:00
A Holt
e3dde12130
moodle/defaults/main.yml: 'moodle_version: 40' 2022-04-18 22:18:30 -04:00
A Holt
20758b8fe4
remoteit/README.md: Clarify OPTION #2 steps (i.e. license key approach) 2022-04-18 21:20:40 -04:00
A Holt
2dada1e5ef
README.md: Use more reliable URL https://wiki.iiab.io/go/FAQ 2022-04-18 20:02:02 -04:00
A Holt
a1f9c5d3bd
iiab-remoteit: Refine #3183 tips if /etc/remoteit/config.json preserved 2022-04-18 14:49:21 -04:00
A Holt
46ec13757c
Merge pull request #3183 from holta/remoteit-louder-warning
templates/iiab-remoteit: Warn if /etc/remoteit/config.json exists...and try it if operator really wants to?
2022-04-18 13:24:15 -04:00
root
d614bd469d templates/iiab-remoteit: Clean up lines #s in comments 2022-04-18 11:23:45 -04:00
root
e12908c6d6 remoteit/README.md: Clarify option to preserve /etc/remoteit/config.json 2022-04-18 11:12:59 -04:00
root
e072c7027a Fix iiab-remoteit + Cleaner instructions 2022-04-18 11:07:12 -04:00
A Holt
70cc74ac47
templates/iiab-remoteit: Warn if /etc/remoteit/config.json exists...and try it? 2022-04-18 09:55:35 -04:00
A Holt
e142ca6af0
Merge pull request #3178 from holta/samba-client_to_smbclient
Install apt pkg 'smbclient' instead of virtual pkg 'samba-client' (in samba/tasks/install.yml)
2022-04-14 11:50:35 -04:00
A Holt
585b0bacf9
Install apt pkg 'smbclient' instead of virtual pkg 'samba-client' 2022-04-13 14:55:49 -04:00
A Holt
29ea6b359a
Merge pull request #3176 from holta/remoteit-touchups
remoteit/templates/iiab-remoteit touch-ups
2022-04-13 12:16:00 -04:00
A Holt
da424d7004
remoteit/templates/iiab-remoteit touch-ups 2022-04-13 12:03:03 -04:00
A Holt
5a2c5d0d01
Merge pull request #3175 from holta/kiwix-tools-3.2.0-3
kiwix-tools 3.2.0-3: kiwix-serve fix(es) for full-text search and articleCount?
2022-04-12 13:43:57 -04:00
A Holt
2ad902343a
kiwix-tools 3.2.0-3: kiwix-serve fix(es) e.g. #3171 2022-04-12 12:22:58 -04:00
A Holt
1a90250500
remoteit/README.md: Clear(er) Instructions 2022-04-08 23:46:13 -04:00
A Holt
0e14f1c838
remoteit/README.md: Grammar tweaks 2022-04-08 11:21:06 -04:00
A Holt
ad78dd6900
Merge pull request #3172 from holta/remoteit_license_key
Allow remote.it license key to be pasted into local_vars.yml & document both registration options
2022-04-08 10:11:02 -04:00
A Holt
4ee5664d0e
Clarify redacting of remoteit_license_key from local_vars.yml 2022-04-08 10:07:07 -04:00
A Holt
f6f6f427c5
In future let's try to keep credentials in their own apps 2022-04-08 09:25:36 -04:00
A Holt
8580c8e45e
In future let's try to keep credentials in their own apps 2022-04-08 08:54:20 -04:00
root
95243d12ed iiab-remoteit: Fix remoteit_license_key explanations 2022-04-08 01:16:57 -04:00
root
1dd525dfe4 Express saving of remoteit_license_key to /etc/remoteit/registration 2022-04-08 00:34:41 -04:00
root
97e82e44e5 remoteit/README.md: iiab-remoteit sometimes bypasses claim code 2022-04-08 00:02:47 -04:00
root
1df563d2a9 /usr/bin/iiab-remoteit tries license key first; claim code if nec 2022-04-07 23:44:00 -04:00
root
9181a4e04d enable-or-disable.yml: Clarify connectd doesn't delete /etc/remoteit/registration 2022-04-07 11:43:32 -04:00
root
9e0ffcf5a7 Fancier & dancier roles/remoteit 2022-04-07 10:17:35 -04:00
root
2b217b0534 remoteit/README.md: Clarify 'sudo ./runrole remoteit' context & options 2022-04-06 18:51:12 -04:00
root
a8a6b0318e remoteit/README.md: Clarify OPTION #2 license key approach 2022-04-06 18:34:33 -04:00
root
dcc6615d72 Allow remote.it license key to be pasted into local_vars.yml 2022-04-06 18:13:05 -04:00
root
c8769a8ea6 Merge branch 'claim' of https://github.com/jvonau/iiab into remoteit_license_key 2022-04-06 15:14:39 -04:00
A Holt
d1b95d68f6
remoteit/README.md: Link to "Subscriptions and Licensing" 2022-04-06 14:43:55 -04:00
Jerry Vonau
0092c4cef8
Merge branch 'master' into claim 2022-04-06 13:15:22 -05:00
A Holt
5110147551
remoteit/templates/iiab-remoteit: Document /usr/share/remoteit/refresh.sh 2022-04-06 13:46:30 -04:00
Jerry Vonau
296e8c2032 REGISTRATION_CODE
based on https://docs.remote.it/oem-and-bulk-provisioning/registration-into-a-users-account
2022-04-06 12:41:01 -05:00
A Holt
1472d9945d
remoteit/README.md: Long-form doc equiv to "Oops, I cloned an SD card!" 2022-04-06 13:32:45 -04:00
A Holt
3df09c73f0
network/tasks/squid.yml: Doc @ network/templates/squid/squid.conf.j2#L12-L32 2022-04-06 11:45:16 -04:00
A Holt
3756fe63da
Clarify /etc/squid/squid.conf <- roles/network/templates/squid/squid.conf.j2 2022-04-06 11:42:10 -04:00
A Holt
ee4930d570
remoteit/tasks/install.yml: Clarify 3 core install steps 2022-04-06 08:12:23 -04:00
Jerry Vonau
853cd445f9 visual feedback and record in iiab.ini 2022-04-05 22:44:13 -05:00
A Holt
f826d18427
remoteit/tasks/enable-or-disable.yml: Explain disable or remote@* 2022-04-05 23:30:29 -04:00
A Holt
9c3520775d
Explain remoteit/tasks/enable-or-disable.yml for #3167 #3168 2022-04-05 23:19:43 -04:00
A Holt
9b650fa877
Better explain /usr/bin/iiab-remoteit-off 2022-04-05 23:14:42 -04:00
A Holt
c537dad046
Merge pull request #3168 from holta/remoteit-rev
Fix explanations in /usr/bin/iiab-remoteit & /usr/bin/iiab-remoteit-off
2022-04-05 23:05:05 -04:00
root
3b8a6c0e07 Fix explanations in iiab-remoteit(-off) for #3167 2022-04-05 22:59:14 -04:00
A Holt
40e157151b
remoteit/README.md: Cleaner verbiage (3 tiny editorial fixes) 2022-04-05 22:20:11 -04:00
A Holt
4007612c2f
Merge pull request #3167 from holta/remoteit-disable
Stop & Disable any remoteit@* services (via Ansible or iiab-remoteit-off)
2022-04-05 22:11:38 -04:00
root
f7e466b973 Stop & Disable any remoteit@* services (via Ansible or iiab-remoteit-off) 2022-04-05 22:06:18 -04:00
A Holt
1328443c46
remoteit/README.md: Link to "Two ways of using remote.it Connections" 2022-04-05 08:29:07 -04:00
A Holt
60b0063012
remoteit/README.md: Add context, clarify, link to Desktop App changelog 2022-04-04 21:48:25 -04:00
A Holt
23d128f282
Merge pull request #3164 from holta/iiab.ini-comment-fix
Fix 5 typos: /etc/iiab/iiab_state.yml -> /etc/iiab/iiab.ini
2022-04-04 19:08:42 -04:00
root
48e75a15a3 Fix 5 typos: /etc/iiab/iiab_state.yml -> /etc/iiab/iiab.ini 2022-04-04 19:06:28 -04:00
A Holt
cc2805d5a6
Merge pull request #3163 from holta/iiab-diagnostics_kiwix-serve_--version
iiab-diagnostics: Run '/opt/iiab/kiwix/bin/kiwix-serve --version' to help with kiwix-tools debugging
2022-04-04 12:22:54 -04:00
A Holt
272d23d908
iiab-diagnostics: /opt/iiab/kiwix/bin/kiwix-serve --version 2022-04-04 12:19:04 -04:00
A Holt
36ca9c6701
Generally gratuitous, as connectd's already exited (#3162) 2022-04-04 10:11:51 -04:00
A Holt
efee271f00
Merge pull request #3162 from holta/iiab-remoteit_without_ansible
/use/bin/iiab-remoteit: Safer bounce of services, while deleting /etc/remoteit/config.json
2022-04-04 09:45:59 -04:00
A Holt
a9c04d08dc
/use/bin/iiab-remoteit: Clarify stop/delete/bounce "official" URL 2022-04-04 09:43:10 -04:00
A Holt
68e1ca955c
/use/bin/iiab-remoteit: Safer bounce of services, while deleting config.json 2022-04-04 09:35:00 -04:00
A Holt
462d39c260
enable-or-disable.yml: Consistent grep, like /usr/bin/iiab-remoteit-off (for PR #3161) 2022-04-04 00:54:34 -04:00
A Holt
40b8425a35
remoteit/README.md: Touch-ups for PR #3161 2022-04-04 00:46:04 -04:00
A Holt
4d87e55de2
Merge pull request #3161 from holta/iiab-remoteit_without_ansible
New command /usr/bin/iiab-remoteit to quickly obtain a new Claim Code for https://remote.it (allows remote connections to manage an IIAB)
2022-04-04 00:35:43 -04:00
root
b9bc92e6a0 remoteit/README.md: 3 quick explanation fixes 2022-04-04 00:23:16 -04:00
root
fa3cb5e42b Refine /usr/bin/iiab-remoteit-off + explanations 2022-04-04 00:16:27 -04:00
root
bd2ff84ccb Easy command /usr/bin/iiab-remoteit-off + explanations 2022-04-04 00:04:19 -04:00
root
dd3bf7381a Explain roles/remoteit + avoid contention among its 3 services 2022-04-03 22:58:28 -04:00
root
a40183fd2e Fast /usr/bin/iiab-remoteit generates new claim code + optionally upgrades 2022-04-03 21:57:23 -04:00
root
a77b95af20 remoteit/tasks/enable-or-disable.yml: 'schannel' systemd ON/OFF, like 'connectd' 2022-04-03 00:57:47 -04:00
A Holt
4111837fbd
Polish introductory doc remoteit/README.md 2022-04-03 00:18:32 -04:00
root
5854ab7c61 /usr/bin/iiab-remoteit to quickly obtain a new claim code 2022-04-02 23:41:49 -04:00
A Holt
4e2e4c8eff
1-prep/tasks/install-expand-rootfs.yml: Clarify growpart install 2022-04-02 14:11:30 -04:00
A Holt
239547ca66
remoteit/README.md: Link to legal/fair-use-policy 2022-04-02 13:17:46 -04:00
A Holt
8e91431f19
remoteit/README.md: Link to "Oops, I cloned an SD card!" (stale, but still informative) 2022-04-02 13:12:35 -04:00
A Holt
c574fa5913
Merge pull request #3151 from holta/no-php-pear
9-local-addons: Do not install php-pear
2022-04-02 10:05:07 -04:00
A Holt
9a1a770c32
Merge pull request #3160 from holta/expand-rootfs-avoid-reboot
1-prep/templates/iiab-expand-rootfs: Avoid reboot
2022-04-02 09:46:25 -04:00
A Holt
b711ac5c06
1-prep/templates/iiab-expand-rootfs: Avoid reboot 2022-04-02 09:41:50 -04:00
A Holt
77ab55b72a
remoteit/README.md: Another RPi install doc link 2022-04-02 08:46:30 -04:00
A Holt
903fdd4e11
Merge pull request #3157 from holta/vars-files-cleanup
vars files: Update remote.it & OpenVPN tips
2022-04-01 15:26:50 -04:00
root
e57551694e vars files: Update remote.it & OpenVPN tips 2022-04-01 15:23:29 -04:00
A Holt
5ff0ee79cd
remoteit/README.md: Link to remote.it time-out explanations for {ssh, scp, VNC/RDP, http, etc} 2022-04-01 12:49:29 -04:00
A Holt
31eae61f1b
remoteit/README.md: Link to official tips for updating over ssh 2022-04-01 11:19:09 -04:00
A Holt
124cafafab
calibre/tasks/install.yml: Update apt/versions explanation 2022-04-01 11:11:31 -04:00
A Holt
d33e8f9fa7
remoteit/README.md: Timestamp "April 2022" (pricing link) 2022-04-01 10:52:51 -04:00
A Holt
e9b25e68c8
remoteit/README.md: Clarify 8-character remote.it claim code (Step 3.) 2022-04-01 10:07:54 -04:00
A Holt
773e147b11
remoteit/README.md: Emphasize Step 2. requires Internet 2022-04-01 08:57:54 -04:00
A Holt
86307047d5
remoteit/README.md: Legit way to get a new claim code 2022-04-01 08:55:12 -04:00
A Holt
9fe211ca13
remoteit/README.md: Clarify its optional CLI 2022-04-01 08:45:03 -04:00
A Holt
33e917f9ef
2-common/tasks/fl.yml: Fix comment, due to remote.it PR #3156 2022-04-01 01:53:07 -04:00
A Holt
5ab81f9df6
Merge pull request #3156 from holta/remoteit-latest
Always install the latest remote.it Device Package (instead of hard-coding a new version# every 1-2 months!)
2022-04-01 00:41:21 -04:00
root
c359c11c14 Install latest remote.it Device Package (don't hard-code version) 2022-04-01 00:18:32 -04:00
A Holt
fbfe67f57b
Merge pull request #3153 from holta/mediawiki-1.37.2
mediawiki/defaults/main.yml: Security release 1.37.2
2022-03-31 17:48:50 -04:00
A Holt
097d8918b7
Merge pull request #3155 from holta/usbmount-ubuntu-workaround
usb_lib/tasks/install.yml: 'apt install usbmount_0.0.22_all.deb' on Ubuntu too
2022-03-31 14:09:10 -04:00
A Holt
cab05d891a
usb_lib/tasks/install.yml: Fix typo in explanation 2022-03-31 13:58:01 -04:00
A Holt
3ddb32de29
usb_lib/tasks/install.yml: 'apt install usbmount_0.0.22_all.deb' on Ubuntu too 2022-03-31 13:55:32 -04:00
A Holt
5754ecd61d
Clarify remoteit/README.md: Step 2. can sometimes be skipped 2022-03-31 10:01:14 -04:00
A Holt
a761e9ee4b
remoteit/README.md: Link to the company's pricing 2022-03-31 08:30:59 -04:00
A Holt
8b3699a788
remoteit/README.md: Mention mobile apps (for #3154) 2022-03-31 01:32:36 -04:00
A Holt
bcb09652d0
remoteit/README.md: Grammar cleanup (for #3154) 2022-03-31 01:23:39 -04:00
A Holt
1aea8efa75 remoteit/README.md: Link to succinct summary (for #3154) 2022-03-31 01:21:34 -04:00
A Holt
97519618c1
remoteit/README.md: Headings more complete (for #3154) 2022-03-31 01:15:22 -04:00
A Holt
14003554aa
remoteit/README.md: Blog post on orgs sharing devices (for #3154) 2022-03-31 00:59:12 -04:00
A Holt
9c0485e39f
Merge pull request #3154 from holta/remoteit-readme
remoteit/README.md: Clean up explanations + links
2022-03-31 00:48:25 -04:00
A Holt
061f7166f4
remoteit/README.md: Tweak capitalization 2022-03-31 00:48:11 -04:00
A Holt
72949d39b1
remoteit/README.md: Clean up explanations + links 2022-03-31 00:41:35 -04:00
A Holt
5bbcaa85ea
remoteit/README.md: Remove 2 more broken links (support.remote.it doc changes) 2022-03-30 20:08:31 -04:00
A Holt
0aa1efd608
remoteit/README.md: remote.it recommends 'apt install' instead of 'apt reinstall' 2022-03-30 19:57:03 -04:00
A Holt
779a505327
remoteit/README.md: New explanation on adding services (link was broken) 2022-03-30 19:49:25 -04:00
A Holt
a827be122c
roles/remoteit/README.md: Version update 2022-03-30 18:37:54 -04:00
A Holt
f588017707
mediawiki/defaults/main.yml: Security release 1.37.2
https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/thread/5FGCLGPOTRWEJOCTPZ7BF3X6SV43WVXM/
2022-03-30 14:23:54 -04:00
A Holt
b64f59c853
Merge pull request #3152 from holta/awstats-command-not-shell
awstats/tasks/install.yml: 'command' safer than 'shell'
2022-03-29 21:14:06 -04:00
A Holt
bcd8e78bad
awstats/tasks/install.yml: 'command' safer than 'shell' 2022-03-29 21:11:37 -04:00
A Holt
74098ffc7a
9-local-addons: Do not install php-pear 2022-03-29 20:10:18 -04:00
A Holt
be10b925fa
Merge pull request #3150 from holta/ansible-core-2.12.4
Recommend ansible-core 2.12.4
2022-03-29 13:01:33 -04:00
A Holt
883f300b4e
Recommend ansible-core 2.12.4 2022-03-29 13:00:20 -04:00
Jerry Vonau
438cdf552c tweak regexp for entries in Supported TX RX - forgot stdout 2022-03-28 20:40:14 -05:00
Jerry Vonau
7113f87f32 Detect, recored if wifi can be AP and suppress installing supporting files 2022-03-28 20:40:11 -05:00
A Holt
35b0c7e3b2
Merge pull request #3149 from jvonau/lok_39
BUGFIX - lokole - pin python3 package versions to support older flask package
2022-03-28 09:12:36 -04:00
Jerry Vonau
4ede465c23 discription 2022-03-28 04:18:50 -05:00
Jerry Vonau
96f577ad20 pin Jinja2 to version '3.0.3'
https://github.com/pallets/flask/issues/4494
2022-03-28 04:14:44 -05:00
Jerry Vonau
d64c4dc60c pin version of itsdangerous to 2.0.1
https://itsmycode.com/importerror-cannot-import-name-json-from-itsdangerous/
2022-03-28 03:50:48 -05:00
georgejhunt
87bd0195de
Merge branch 'iiab:master' into maps7.3 2022-03-26 19:02:14 -07:00
root
9c0e24ac5c nginx/templates/server.conf.j2: Clarify nextcloud-nginx.conf.j2 2022-03-24 20:13:52 -04:00
root
cb38c04cb5 Remove 500M restriction on file uploads. Use 10G instead. 2022-03-24 20:07:59 -04:00
A Holt
8f93955bc2
Merge pull request #3146 from holta/kiwix-tools-3.2.0-2
kiwix-tools 3.2.0-2: kiwix-serve security fix
2022-03-24 19:01:46 -04:00
A Holt
75c67162f1
kiwix-tools 3.2.0-2: kiwix-serve security fix 2022-03-24 15:31:50 -04:00
A Holt
70c3e1fe82
PR #3142 Addendum: vars/local_vars_unittest.yml 2022-03-23 21:47:04 -04:00
A Holt
a4164068ca
Merge pull request #3144 from jvonau/IA
test change [yarn add https://github.com/internetarchive/dweb-mirror]
2022-03-23 12:20:49 -04:00
A Holt
663e739978
Clarify fix: 'yarn add https://github.com/internetarchive/dweb-mirror' 2022-03-23 12:20:38 -04:00
Jerry Vonau
323fc27146 test change 2022-03-23 10:40:25 -05:00
George Hunt
63f01d0476 how to upgrade maps 2022-03-23 05:03:52 +00:00
A Holt
658b4156c5
nextcloud/tasks/install.yml: Update Nextcloud 23.0.3 footprint sizes 2022-03-21 11:00:00 -04:00
A Holt
e14ed6476e
Merge pull request #3142 from holta/nginx-size-warning
User Uploads Blocked: Beware "client_max_body_size 500M;" in /etc/nginx/server.conf
2022-03-17 02:05:21 -04:00
root
5056d0373c Beware "client_max_body_size 500M;" in /etc/nginx/server.conf 2022-03-17 02:00:20 -04:00
A Holt
a59a029d1d
Merge pull request #3141 from holta/consolidate-packages
1-prep -> 2-common: Consolidate, simplify and clarify packages.yml (16 apt packages) + network.yml (12 apt packages) making useful WiFi tools available to everyone
2022-03-17 01:36:28 -04:00
A Holt
8c6ac64aaa
scripts/iiab-diagnostics.README.md: Mention /usr/bin/raspinfo (very similar!) 2022-03-17 00:56:33 -04:00
root
f2fb975371 1-prep & 2-common: Clean README.adoc intro docs 2022-03-16 15:36:48 -04:00
root
db1531eef5 1-prep -> 2-common: Consolidate/Clarify packages.yml + network.yml 2022-03-16 14:35:58 -04:00
A Holt
afb9c0e875
2-common/tasks/main.yml & network.html: Mention 1-prep/tasks/internal-wifi.yml 2022-03-15 23:40:05 -04:00
A Holt
0ef3a5c9d3
1-prep/tasks/main.yml: Clarify hardware.yml subroutines (PR #3139) 2022-03-15 22:35:50 -04:00
A Holt
6dc49caa5e
Merge pull request #3139 from holta/wifi-hw
1-prep/tasks/hardware.yml: Cleaner modularization & assoc fixups
2022-03-15 22:24:41 -04:00
root
67ebb0b2a1 Cleaner internal-wifi.yml + install-expand-rootfs.yml 2022-03-15 22:17:36 -04:00
root
566bef36c8 1-prep/tasks/internal-wifi.yml: Ansible code touch-ups 2022-03-15 19:45:29 -04:00
root
4a1e5a89ab 1-prep/tasks/hardware.yml: Cleaner modularization & assoc fixups 2022-03-15 18:30:19 -04:00
root
4f7970078b Merge branch 'wifi-hw' of https://github.com/jvonau/iiab into wifi-hw 2022-03-15 16:05:57 -04:00
A Holt
cb62a64df6
1-prep/README.adoc: Mention PR #3137 package 'parted' 2022-03-15 15:57:56 -04:00
Jerry Vonau
9df6c84282
Merge branch 'master' into wifi-hw 2022-03-15 14:21:54 -05:00
A Holt
f8ee6bac30
Merge pull request #3137 from holta/iiab-expand-rootfs
iiab-expand-rootfs for more HW/OS's w/ safety checks, per raspi-config's do_expand_rootfs()
2022-03-15 15:16:55 -04:00
root
99247671bb 1-prep/templates/iiab-expand-rootfs.service: Update name 2022-03-15 15:15:21 -04:00
Jerry Vonau
03a630b199 leave hostapd as was - has an unconditional systemd call in hostapd.yml 2022-03-15 14:01:02 -05:00
root
212d1fa765 iiab-expand-rootfs: raspi-config uses fdisk instead of growpart 2022-03-15 14:52:46 -04:00
root
f32b9cec36 1-prep/tasks/hardware.yml: Clarify cloud-guest-utils isn't used on RasPiOS 2022-03-15 14:38:42 -04:00
Jerry Vonau
52252044f1 generalize wifi dependencies based on hardware present 2022-03-15 12:58:07 -05:00
root
a9fe5902da iiab-expand-rootfs: Clarify legacy code shortcoming 2022-03-15 12:59:31 -04:00
root
fc032efe8a iiab-expand-rootfs: ALL kinds of boot disks should work! 2022-03-15 12:50:59 -04:00
root
85eb059add Doc iiab-expand-rootfs + Explicit deps in 1-prep/tasks/hardware.yml 2022-03-15 12:17:51 -04:00
root
baab781977 1-prep/templates/iiab-expand-rootfs: 'exit 1' if partition's not the last 2022-03-15 11:47:09 -04:00
root
ee765e41d4 1-prep/templates/iiab-expand-rootfs.service: Fix name iiab-expand-rootfs 2022-03-15 11:15:22 -04:00
root
cc9a55f13e roles/1-prep/README.adoc: Offline hyperlink to templates/iiab-expand-rootfs 2022-03-15 11:05:55 -04:00
root
334c7089f0 roles/1-prep/README.adoc: hardware.yml & raspberry_pi.yml packages/context 2022-03-15 11:00:07 -04:00
root
35427981a0 iiab-expand-rootfs for more HW/OS's, per raspi-config's do_expand_rootfs() 2022-03-15 10:24:30 -04:00
A Holt
66666f147d
PR #3035: Clarify Lokole in vars/local_vars_small.yml 2022-03-14 15:51:36 -04:00
A Holt
398854da60
PR #3035: Clarify Lokole in vars/local_vars_medium.yml 2022-03-14 15:51:30 -04:00
A Holt
7f41fa077f
roles/lokole/README.rst: Better link to Lokole issues 2022-03-13 20:42:48 -04:00
A Holt
eb497499f2
Merge pull request #3135 from holta/lokole-off-for-now
vars/local_vars_large.yml: Don't install Lokole due to #3132
2022-03-13 20:36:33 -04:00
A Holt
9970307121
vars/local_vars_large.yml: Don't install Lokole due to #3132 2022-03-13 20:33:45 -04:00
A Holt
19f768a397
sugarizer/tasks/install.yml: Update dir sizes for latest Sugarizer/Server 2022-03-10 21:26:39 -05:00
A Holt
bd1742dcc6
nextcloud/tasks/install.yml: Update Nextcloud 23.0.2 footprint sizes 2022-03-10 20:51:46 -05:00
A Holt
df5f951e13
calibre-web/README.rst: Link to Calibre-Web FAQ+docs 2022-03-07 22:20:26 -05:00
A Holt
0f3bbc059f
Merge pull request #3129 from holta/calibre-web_reset
Allow manual removal of /library/calibre-web/config/app.db for easier resetting of Calibre-Web app settings (without damaging your e-book collection metadata in /library/calibre-web/metadata.db !)
2022-03-07 12:47:45 -05:00
A Holt
a060d95ec8
calibre-web/README.rst: Fix explanation to './runrole --reinstall calibre-web' 2022-03-07 10:34:36 -05:00
A Holt
9b0146e59f
calibre-web/README.rst: Fix grammar typo 2022-03-07 10:26:22 -05:00
A Holt
c9e511103d
calibre-web/README.rst: Revise upgrade instructions 2022-03-07 10:24:42 -05:00
A Holt
4ef451007e
Clean up calibre-web/defaults/main.yml 2022-03-07 10:03:25 -05:00
A Holt
c7683ae651
Record calibreweb_settings_database NOT calibreweb_database to /etc/iiab/iiab.ini 2022-03-07 09:51:20 -05:00
A Holt
567020ba00
Install /library/calibre-web/config/app.db (Calibre-Web settings) IFF missing 2022-03-07 09:43:41 -05:00
A Holt
b482018b1a
Fix stale comment: /usr/local/calibre-web is now /usr/local/calibre-web-py3 2022-03-07 09:22:46 -05:00
A Holt
af88232071
Fix calibre-web/README.rst upgrade instructions 2022-03-07 08:52:00 -05:00
A Holt
1d0c14a4a5
Refine roles/calibre-web/README.rst upgrade tips 2022-03-07 08:44:28 -05:00
A Holt
5f19f7fa09
Merge pull request #3128 from holta/remoteit-4.14.1
remoteit/defaults/main.yml: remoteit_version: 4.13.7 -> 4.14.1
2022-03-04 17:26:36 -05:00
A Holt
19c88bad51
remoteit/defaults/main.yml: remoteit_version: 4.13.7 -> 4.14.1 2022-03-04 17:22:41 -05:00
George Hunt
2a149d4945 change maps branch to maps7.3 2022-03-04 04:01:40 +00:00
A Holt
997bd9d4fc
Merge pull request #3127 from holta/ansible-core-2.12.3
scripts/ansible: Recommend ansible-core 2.12.3
2022-03-01 09:31:26 -05:00
A Holt
100db44d5a
scripts/ansible: Recommend ansible-core 2.12.3 2022-03-01 09:29:49 -05:00
A Holt
311ab20a51
Merge pull request #3122 from holta/resize-rootfs-needs-work
Clarify & Clean 1-prep/templates/iiab-rpi-max-rootfs.sh for PR #3121
2022-02-18 14:08:45 -05:00
A Holt
bd71b9484b
1-prep/templates/iiab-rpi-max-rootfs.sh: Explain & link to PR #3121 2022-02-18 13:56:57 -05:00
A Holt
e7b201e84c
Further clarify 1-prep/templates/iiab-rpi-max-rootfs.sh 2022-02-18 13:46:46 -05:00
A Holt
38eb8868e3
Clarify & Clean 1-prep/templates/iiab-rpi-max-rootfs.sh for PR #3121 2022-02-18 10:03:23 -05:00
Tim Moody
01dc89f2ca
Merge pull request #3121 from holta/resize-rootfs-needs-work
Use 'raspi-config --expand-rootfs' in 1-prep/templates/iiab-rpi-max-rootfs.sh (for external USB disks, that also need their filesystem expanded)
2022-02-18 08:00:45 -05:00
A Holt
2c6902e8ae
Use 'raspi-config --expand-rootfs' in 1-prep/templates/iiab-rpi-max-rootfs.sh 2022-02-17 16:48:49 -05:00
A Holt
41817764ab
roles/calibre-web/README.rst: Fix path /usr/local/calibre-web-py3 2022-02-15 23:55:25 -05:00
George Hunt
32ad3c31c1 change satellite installer filename 2022-02-13 00:08:17 +00:00
A Holt
04e55e4da9
Merge pull request #3120 from holta/phpmyadmin-5.1.3
phpMyAdmin security + bug fixes release 5.1.3
2022-02-11 07:17:53 -05:00
A Holt
9110f7f9da
phpmyadmin/defaults/main.yml: 5.1.2 -> 5.1.3 2022-02-11 07:13:10 -05:00
A Holt
9a9867f40c
roles/transmission/README.rst: How to change password 2022-02-06 18:38:26 -05:00
George Hunt
ad9b21f039 point to timmoody for catalog and use ghunt test branch 2022-02-04 05:37:38 +00:00
A Holt
6598f3e111
Merge pull request #3116 from holta/remoteit-4.13.7
remoteit/defaults/main.yml: 4.13.6 -> 4.13.7
2022-02-03 11:35:40 -05:00
A Holt
e7d292af25
remoteit/defaults/main.yml: Clarify 4 available .deb "Device Packages" 2022-02-03 11:35:14 -05:00
A Holt
10e67cceb3
remoteit/defaults/main.yml: 4.13.6 -> 4.13.7 2022-02-03 11:17:09 -05:00
A Holt
3ae3e7c6d1
Merge pull request #3115 from holta/kiwix-tools-3.2.0-1
kiwix/defaults/main.yml: Try kiwix-tools 3.2.0-1 [based on libkiwix 10.0.1]
2022-02-03 09:14:40 -05:00
A Holt
6e421888b9
kiwix/defaults/main.yml: Try kiwix-tools 3.2.0-1 2022-02-03 08:50:44 -05:00
A Holt
e18a0521b6
Merge pull request #3114 from holta/8.0-label
default_vars.yml: iiab_base_ver: 8.0 (PRE-)release version number
2022-02-01 22:58:53 -05:00
A Holt
27757f283f
default_vars.yml: iiab_base_ver: 8.0 (PRE-)release 2022-02-01 22:54:19 -05:00
A Holt
f19b953f2e
Merge pull request #3113 from holta/ansible-core-2.12.2
Recommend ansible-core 2.12.2
2022-02-01 09:57:43 -05:00
A Holt
954f57ab54
Recommend ansible-core 2.12.2 2022-02-01 09:55:19 -05:00
A Holt
9f9edf5b3c
Merge pull request #3112 from holta/gitea-1.16
gitea/defaults/main.yml: gitea_version: 1.16
2022-01-30 18:41:27 -05:00
A Holt
0b4892b915
gitea/defaults/main.yml: gitea_version: 1.16 2022-01-30 18:38:26 -05:00
A Holt
084c768b86
Merge pull request #3110 from holta/phpmyadmin-5.1.2
phpmyadmin/defaults/main.yml: 5.1.1 -> 5.1.2
2022-01-22 08:27:00 -05:00
A Holt
ba0edce6bf
phpmyadmin/defaults/main.yml: 5.1.1 -> 5.1.2 2022-01-22 08:25:01 -05:00
A Holt
41cbe27270
Merge pull request #3104 from holta/power-off-problem
"Power Off" button leads to big classroom problems, even when /library/www/html/home/menu.json contains: "allow_poweroff": false;
2022-01-20 11:53:58 -05:00
A Holt
8c27a373d9
Merge pull request #3107 from holta/kiwix-tools-3.2.0
kiwix/defaults/main.yml: Try kiwix-tools 3.2.0
2022-01-20 11:39:47 -05:00
A Holt
bae34eefdf
kiwix/defaults/main.yml: Try kiwix-tools 3.2.0 2022-01-20 09:57:44 -05:00
A Holt
861b9b1b61
local_vars_large.yml: Update power_off.php URL 2022-01-14 17:22:26 -05:00
A Holt
c2b15628b0
local_vars_medium.yml: Update power_off.php URL 2022-01-14 17:22:20 -05:00
A Holt
44ef068221
local_vars_small.yml: Update power_off.php URL 2022-01-14 17:22:11 -05:00
A Holt
34cf89e3a8
local_vars_unittest.yml: Update power_off.php URL 2022-01-14 17:22:03 -05:00
A Holt
b2907700ca
default_vars.yml: Update power_off.php URL 2022-01-14 17:21:52 -05:00
A Holt
e366901fa6
local_vars_medical.yml: apache_allow_sudo: True 2022-01-14 12:53:56 -05:00
A Holt
57a615d090
local_vars_large.yml: apache_allow_sudo: False 2022-01-14 12:53:47 -05:00
A Holt
09b2187995
local_vars_medium.yml: apache_allow_sudo: False 2022-01-14 12:53:40 -05:00
A Holt
68b1bc3cf1
local_vars_small.yml: apache_allow_sudo: False 2022-01-14 12:53:33 -05:00
A Holt
455c9140fc
local_vars_unittest.yml: apache_allow_sudo: False 2022-01-14 12:48:49 -05:00
A Holt
59066d05a7
default_vars.yml: apache_allow_sudo: False 2022-01-14 12:46:12 -05:00
A Holt
3059572fa9
firmware/tasks/main.yml: Explain context @ #2853 & #3103 2022-01-10 14:55:20 -05:00
A Holt
a2300c3104
Merge pull request #3103 from holta/rpi-wifi-firmware2
Raspberry Pi WiFi hotspot firmware reliability fix, incl new/better choices for 3B+ & 4 (WIP, this is PR #3101 rebased)
2022-01-10 14:47:24 -05:00
A Holt
dd2bf3838f
firmware/templates/iiab-firmware-warn.sh: Clarify /tmp/.fw_modified warning 2022-01-10 09:49:44 -05:00
A Holt
a85ce3c494
Update iiab-diagnostics.README.md 2022-01-09 21:08:22 -05:00
A Holt
14e249e452
scripts/iiab-diagnostics: List *43430* and *43455* in /lib/firmware/brcm 2022-01-09 21:07:43 -05:00
A Holt
9ec670b42f
firmware/tasks/main.yml: Mention USB 3.0 collision w/ 2.4 GHz WiFi 2022-01-08 23:40:05 -05:00
A Holt
8b07f87f3d
firmware/tasks/main.yml: Context + clarifs 2022-01-07 22:15:06 -05:00
A Holt
4cb5a30317
/usr/bin/iiab-check-firmware: Instructions (WIP!) 2022-01-07 21:57:54 -05:00
A Holt
6c31a2a4a5
firmware/tasks/download.yml: Clarify firmware origins 2022-01-07 21:42:07 -05:00
A Holt
029e169be0
firmware/tasks/download.yml: Touchup clarifs 2022-01-07 21:14:22 -05:00
root
4ce556803a TBD: Default RPi 3/W to ~10 connections (7.45.98.118) instead of 30 (7.45.98.65) ? 2022-01-07 20:51:45 -05:00
root
fbe585d75b roles/firmware: code + UI cleanup (7.45.98.65 needs testing on RPi 3/W) 2022-01-07 20:13:10 -05:00
root
56dc06b6b1 Merge branch 'rpi-wifi-firmware' of https://github.com/holta/iiab into rpi-wifi-firmware 2022-01-07 11:16:57 -05:00
A Holt
a5b9988be6
Merge pull request #3102 from holta/ansible-indent
Ansible indentation norm across 7-8 roles
2022-01-07 05:34:52 -05:00
root
abeb97794f Ansible indentation norm across 7-8 roles 2022-01-07 05:29:54 -05:00
root
81790ba305 Clarify RPi WiFi firmware capacity options 2022-01-07 03:47:39 -05:00
root
64efea041d WIP: RPi WiFi firmware cleanup/options, espec for 3B+ & 4 2022-01-07 01:59:21 -05:00
A Holt
32d54c35ee
Merge pull request #3099 from holta/sugarizer-1.6.0
sugarizer/defaults/main.yml: 1.5.0 -> 1.6.0
2022-01-04 16:38:34 -05:00
A Holt
75afa902a5
sugarizer/defaults/main.yml: 1.5.0 -> 1.6.0 2022-01-04 16:17:30 -05:00
A Holt
c813a31b2f
Merge pull request #3098 from holta/kiwix-tools-2022-01-04
kiwix/defaults/main.yml: Try kiwix-tools 2022-01-04
2022-01-04 10:41:47 -05:00
A Holt
f46892d274
kiwix/defaults/main.yml: Try kiwix-tools 2022-01-04 2022-01-04 10:26:23 -05:00
A Holt
a06fb0c747
Merge pull request #3096 from holta/nginx-uploads-500M-not-1M
nginx/templates/server.conf.j2: client_max_body_size 1M -> 500M solves "413 Request Entity Too Large" [for Calibre-Web, and other LMS-like apps — compare Nextcloud's 512M]
2022-01-03 07:59:48 -05:00
A Holt
436b9a2810
nginx/templates/server.conf.j2: client_max_body_size 1M -> 500M 2022-01-02 18:38:06 -05:00
A Holt
2a30911dcc
Merge pull request #3094 from holta/stem-x64-fix
www_base/tasks/php-stem.yml: x86 -> x64 typo bug
2022-01-01 14:44:25 -05:00
A Holt
a32473c1bf
www_base/tasks/php-stem.yml: x86 -> x64 typo bug 2022-01-01 14:43:14 -05:00
A Holt
78cc7de446
nextcloud/tasks/install.yml: Nextcloud 23.0.0 latest.tar.bz2 is ~132MB 2021-12-31 22:21:08 -05:00
A Holt
56ce56bfa8
gitea/tasks/install.yml: Note /library/gitea/bin/gitea-1.15 is ~102MB 2021-12-31 22:11:38 -05:00
A Holt
53adac868e
Merge pull request #3090 from holta/local_facts.fact-fix-RPI_MODEL
local_facts.fact: $RPI_MODEL should be "none" when not a Raspberry Pi
2021-12-31 21:56:43 -05:00
A Holt
b2b5666872
local_facts.fact: $RPI_MODEL should be "none" when not a Raspberry Pi 2021-12-31 21:50:51 -05:00
A Holt
ecaa41d1d3
Merge pull request #3089 from holta/kiwix-tools-2022-01-01
kiwix/defaults/main.yml: Try kiwix-tools 2022-01-01
2021-12-31 20:41:01 -05:00
A Holt
b0e989ab34
kiwix/defaults/main.yml: Try kiwix-tools 2022-01-01 2021-12-31 20:35:04 -05:00
A Holt
1fbe11bc5b
Merge pull request #3088 from holta/kolibri-in-MEDIUM
local_vars_medium.yml: Let's give Kolibri a shot
2021-12-30 20:21:49 -05:00
A Holt
fbb7e5f5d0
local_vars_medium.yml: let's give Kolibri a shot 2021-12-30 20:05:10 -05:00
A Holt
ad91d8d465
Merge pull request #3087 from holta/stop-supporting-ubuntu-21.04
local_facts.fact: Stop supporting Ubuntu 21.04
2021-12-30 18:08:31 -05:00
A Holt
d10c98e26b
local_facts.fact: Stop supporting Ubuntu 21.04 2021-12-30 18:04:23 -05:00
A Holt
918e99570c
Update roles/calibre-web/README.rst 2021-12-30 15:12:40 -05:00
A Holt
27fe26f8de
iiab-test-wifi.j2: WiFi country code progress on arm64 OS's discussed on #3078 2021-12-29 13:12:46 -05:00
A Holt
c637389892
local_facts.fact: Explain null byte cleanup PR #3086 2021-12-27 19:58:42 -05:00
A Holt
2a754a3c78
Merge pull request #3086 from holta/local_facts.fact-cleaner-output
Cleaner output for local_facts.fact on Raspberry Pi & similar, by hiding the null byte in /proc/device-tree/model
2021-12-26 17:27:35 -05:00
root
419ecbea41 local_facts.fact: Clean null byte from /proc/device-tree/model 2021-12-26 17:14:43 -05:00
453 changed files with 13435 additions and 4875 deletions

View file

@ -0,0 +1,58 @@
name: '"10 min" IIAB on Ubuntu 24.04 on x86-64'
# run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
# https://michaelcurrin.github.io/dev-cheatsheets/cheatsheets/ci-cd/github-actions/triggers.html
on: [push, pull_request, workflow_dispatch]
# on:
# push:
#
# pull_request:
#
# # Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
#
# # Set your workflow to run every day of the week from Monday to Friday at 6:00 UTC
# schedule:
# - cron: "0 6 * * 1-5"
jobs:
test-install:
runs-on: ubuntu-24.04
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
#- name: Dump GitHub context (typically almost 500 lines)
# env:
# GITHUB_CONTEXT: ${{ toJSON(github) }}
# run: echo "$GITHUB_CONTEXT"
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "🍏 This job's status is ${{ job.status }}."
- name: GitHub Actions "runner" environment
run: |
uname -a # uname -srm
whoami # Typically 'runner' instead of 'root'
pwd # /home/runner/work/iiab/iiab == $GITHUB_WORKSPACE == ${{ github.workspace }}
# ls
# ls $GITHUB_WORKSPACE
# ls ${{ github.workspace }}
# ls -la /opt # az, containerd, google, hostedtoolcache, microsoft, mssql-tools, pipx, pipx_bin, post-generation, runner, vsts
# apt update
# apt dist-upgrade -y
# apt autoremove -y
- name: Set up /opt/iiab/iiab
run: |
mkdir /opt/iiab
mv $GITHUB_WORKSPACE /opt/iiab
mkdir $GITHUB_WORKSPACE # OR SUBSEQUENT STEPS WILL FAIL ('working-directory: /opt/iiab/iiab' hacks NOT worth it!)
- name: Set up /etc/iiab/local_vars.yml
run: |
sudo mkdir /etc/iiab
# touch /etc/iiab/local_vars.yml
sudo cp /opt/iiab/iiab/vars/local_vars_none.yml /etc/iiab/local_vars.yml
- run: sudo /opt/iiab/iiab/scripts/ansible
- run: sudo ./iiab-install
working-directory: /opt/iiab/iiab
- run: iiab-summary
- run: cat /etc/iiab/iiab_state.yml

View file

@ -0,0 +1,65 @@
name: '"30 min" IIAB on Debian 12 on RPi 3'
# run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
# https://michaelcurrin.github.io/dev-cheatsheets/cheatsheets/ci-cd/github-actions/triggers.html
on: [push, pull_request, workflow_dispatch]
# on:
# push:
#
# pull_request:
#
# # Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
#
# # Set your workflow to run every day of the week from Monday to Friday at 6:00 UTC
# schedule:
# - cron: "0 6 * * 1-5"
jobs:
test-install:
runs-on: ubuntu-22.04
strategy:
matrix:
arch: [debian12]
include:
- arch: debian12
cpu: cortex-a7
cpu_info: cpuinfo/raspberrypi_3b
base_image: https://raspi.debian.net/daily/raspi_3_bookworm.img.xz
# source https://raspi.debian.net/daily-images/
steps:
#- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
#- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
#- name: Dump GitHub context (typically almost 500 lines)
# env:
# GITHUB_CONTEXT: ${{ toJSON(github) }}
# run: echo "$GITHUB_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: echo "$MATRIX_CONTEXT"
- uses: actions/checkout@v3.1.0
- uses: pguyot/arm-runner-action@v2
with:
image_additional_mb: 1024
base_image: ${{ matrix.base_image }}
cpu: ${{ matrix.cpu }}
cpu_info: ${{ matrix.cpu_info }}
copy_repository_path: /opt/iiab/iiab
commands: |
echo "🍏 This job's status is ${{ job.status }}."
grep Model /proc/cpuinfo
uname -a # uname -srm
whoami # Typically 'root' instead of 'runner'
pwd # /home/runner/work/iiab/iiab == $GITHUB_WORKSPACE == ${{ github.workspace }}
apt-get update -y --allow-releaseinfo-change
apt-get install --no-install-recommends -y git
ls /opt/iiab/iiab
mkdir /etc/iiab
cp /opt/iiab/iiab/vars/local_vars_none.yml /etc/iiab/local_vars.yml
/opt/iiab/iiab/scripts/ansible
./iiab-install
cd /opt/iiab/iiab
iiab-summary
cat /etc/iiab/iiab_state.yml

View file

@ -0,0 +1,77 @@
name: '"30 min" IIAB on RasPiOS on Zero 2 W'
# run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
# https://michaelcurrin.github.io/dev-cheatsheets/cheatsheets/ci-cd/github-actions/triggers.html
on: [push, pull_request, workflow_dispatch]
# on:
# push:
#
# pull_request:
#
# # Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
#
# # Set your workflow to run every day of the week from Monday to Friday at 6:00 UTC
# schedule:
# - cron: "0 6 * * 1-5"
jobs:
test-install:
runs-on: ubuntu-22.04
strategy:
matrix:
arch: [aarch64] #[zero_raspbian, zero_raspios, zero2_raspios, aarch64]
include:
#- arch: zero_raspbian
# cpu: arm1176
# cpu_info: cpuinfo/raspberrypi_zero_w
# base_image: raspbian_lite:latest
#- arch: zero_raspios
# cpu: arm1176
# cpu_info: cpuinfo/raspberrypi_zero_w
# base_image: raspios_lite:latest
#- arch: zero2_raspios
# cpu: cortex-a7
# cpu_info: cpuinfo/raspberrypi_zero2_w
# base_image: raspios_lite:latest
- arch: aarch64
cpu: cortex-a53
cpu_info: cpuinfo/raspberrypi_zero2_w_arm64
base_image: raspios_lite_arm64:latest
steps:
#- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
#- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
#- name: Dump GitHub context (typically almost 500 lines)
# env:
# GITHUB_CONTEXT: ${{ toJSON(github) }}
# run: echo "$GITHUB_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: echo "$MATRIX_CONTEXT"
- uses: actions/checkout@v3.1.0
- uses: pguyot/arm-runner-action@v2
with:
image_additional_mb: 1024
base_image: ${{ matrix.base_image }}
cpu: ${{ matrix.cpu }}
cpu_info: ${{ matrix.cpu_info }}
copy_repository_path: /opt/iiab/iiab
commands: |
echo "🍏 This job's status is ${{ job.status }}."
#test `uname -m` = ${{ matrix.arch }}
grep Model /proc/cpuinfo
uname -a # uname -srm
whoami # Typically 'root' instead of 'runner'
pwd # /home/runner/work/iiab/iiab == $GITHUB_WORKSPACE == ${{ github.workspace }}
apt-get update -y --allow-releaseinfo-change
apt-get install --no-install-recommends -y git
ls /opt/iiab/iiab
mkdir /etc/iiab
cp /opt/iiab/iiab/vars/local_vars_none.yml /etc/iiab/local_vars.yml
/opt/iiab/iiab/scripts/ansible
./iiab-install
cd /opt/iiab/iiab
iiab-summary
cat /etc/iiab/iiab_state.yml

9
.gitignore vendored
View file

@ -1,8 +1,13 @@
xs-config.spec
# https://git-scm.com/docs/gitignore
build
deprecated
.ansible
*.patches
*.log
*.log
*.retry
# Lines below for emacs, which generates even more tmp files since 2022
*~
.#*
\#*#

View file

@ -1,3 +1,3 @@
# SEE THE NEW<br>[github.com/iiab/iiab/wiki/IIAB-Contributors-Guide](https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide)
# SEE THE NEW<br>[github.com/iiab/iiab/wiki/Contributors-Guide-(EN)](https://github.com/iiab/iiab/wiki/Contributors-Guide-(EN))
# THANKS!

View file

@ -15,6 +15,6 @@ this is to include the following two lines at the top of the file:
Licensed under the terms of the GNU GPL v2 or later; see LICENSE for details.
All files not containing an explicit copyright notice or terms of license in
the file are Copyright © 2015-2021, Unleash Kids, and are licensed under the
the file are Copyright © 2015-2025, Unleash Kids, and are licensed under the
terms of the GPLv2 license in the file named LICENSE in the root of the
repository.

View file

@ -2,26 +2,26 @@
# Internet-in-a-Box (IIAB)
[Internet-in-a-Box (IIAB)](https://internet-in-a-box.org) is a "learning hotspot" that brings the Internet's crown jewels
(Wikipedia in any language, thousands of Khan Academy videos, zoomable OpenStreetMap, electronic books, WordPress journaling, Toys from Trash electronics projects, ETC) to those without Internet.
[Internet-in-a-Box (IIAB)](https://internet-in-a-box.org) is a “learning hotspot” that brings the Internet's crown jewels
(Wikipedia in any language, thousands of Khan Academy videos, zoomable OpenStreetMap, electronic books, WordPress journaling, Toys from Trash electronics projects, ETC) to those without Internet.
You can build your own tiny, affordable server (an offline digital library) for your school, your medical clinic, your prison, your region and/or your very own family — accessible with any nearby smartphone, tablet or laptop.
Internet-in-a-Box gives you the DIY tools to:
1. Download then drag-and-drop to arrange the [very best of the Worlds Free Knowledge](https://internet-in-a-box.org/#quality-content).
2. Choose among [30+ powerful educational apps](http://FAQ.IIAB.IO#What_services_.28IIAB_apps.29_are_suggested_during_installation.3F) for your school or learning/teaching community, optionally with a complete LMS (learning management system).
2. Choose among [30+ powerful educational apps](https://wiki.iiab.io/go/FAQ#What_services_%28IIAB_apps%29_are_suggested_during_installation%3F) for your school or learning/teaching community, optionally with a complete LMS (learning management system).
3. Exchange local/indigenous knowledge with nearby communities, using our [Manage Content](https://github.com/iiab/iiab-admin-console/blob/master/roles/console/files/help/InstContent.rst#manage-content) interface and possible mesh networking.
FYI this [community product](https://en.wikipedia.org/wiki/Internet-in-a-Box) is enabled by professional volunteers working [side-by-side](http://FAQ.IIAB.IO#What_are_the_best_places_for_community_support.3F) with schools, clinics and libraries around the world. *Thank you for being a part of our http://OFF.NETWORK grassroots technology [movement](https://meta.wikimedia.org/wiki/Internet-in-a-Box)!*
FYI this [community product](https://en.wikipedia.org/wiki/Internet-in-a-Box) is enabled by professional volunteers working [side-by-side](https://wiki.iiab.io/go/FAQ#What_are_the_best_places_for_community_support%3F) with schools, clinics and libraries around the world. *Thank you for being a part of our http://OFF.NETWORK grassroots technology [movement](https://meta.wikimedia.org/wiki/Internet-in-a-Box)!*
## Installation
Install Internet-in-a-Box (IIAB) from [download.iiab.io](https://download.iiab.io/)
Install Internet-in-a-Box (IIAB) from: [**download.iiab.io**](https://download.iiab.io/)
Please see [FAQ.IIAB.IO](http://FAQ.IIAB.IO) which has 40+ questions and answers to help you along the way, as you put together the <!--digital--> "local learning hotspot" most suitable for your own teaching/learning community. Here are 2 ways to install IIAB:
Please see [FAQ.IIAB.IO](https://wiki.iiab.io/go/FAQ) which has 50+ questions and answers to help you along the way (e.g. [“Is a quick installation possible?”](https://wiki.iiab.io/go/FAQ#Is_a_quick_installation_possible%3F)) as you put together the <!--digital--> “local learning hotspot” most suitable for your own teaching/learning community. Here are 2 ways to install IIAB:
- Our [1-line installer](https://download.iiab.io/) gets you the very latest, typically within about an hour, on [different Linux distributions](https://github.com/iiab/iiab/wiki/IIAB-Platforms#operating-systems).
- [Prefab disk images](https://github.com/iiab/iiab/wiki/Raspberry-Pi-Images:-Summary) ([.img files](https://archive.org/search.php?query=iiab%20.img&sort=-publicdate)) are sometimes a few months out of date, but can be flashed directly onto a microSD card, for insertion into Raspberry Pi.
- [Prefab disk images](https://github.com/iiab/iiab/wiki/Raspberry-Pi-Images-~-Summary#iiab-images-for-raspberry-pi) ([.img files](https://archive.org/search.php?query=iiab%20.img&sort=-publicdate)) are sometimes a few months out of date, but can be flashed directly onto a microSD card, for insertion into Raspberry Pi.
Our [HOW-TO videos](https://www.youtube.com/channel/UC0cBGCxr_WPBPa3IqPVEe3g) can be very helpful and the [Installation](https://github.com/iiab/iiab/wiki/IIAB-Installation) wiki page has more intricate details e.g. if you're trying to install Internet-in-a-Box (IIAB) onto a [another Linux](https://github.com/iiab/iiab/wiki/IIAB-Platforms) that has not yet been tried.
@ -29,20 +29,22 @@ See our [Tech Docs Wiki](https://github.com/iiab/iiab/wiki) for more about the u
After you've installed the software, you should [add content](https://github.com/iiab/iiab/wiki/IIAB-Installation#add-content), which can of course take time when downloading multi-gigabyte Content Packs!
Finally, you can [customize your Internet-in-a-Box home page](http://FAQ.IIAB.IO#How_do_I_customize_my_Internet-in-a-Box_home_page.3F) (typically http://box or http://box.lan) using our **drag-and-drop** Admin Console (http://box.lan/admin) &mdash; to arrange Content Packs and IIAB Apps (services) for your local community's needs.
Finally, you can [customize your Internet-in-a-Box home page](https://wiki.iiab.io/go/FAQ#How_do_I_customize_my_Internet-in-a-Box_home_page%3F) (typically http://box or http://box.lan) using our **drag-and-drop** Admin Console (http://box.lan/admin) &mdash; to arrange Content Packs and IIAB Apps (services) for your local community's needs.
## Community
Internet-in-a-Box (IIAB) greatly welcomes contributions from educators, librarians and [IT/UX/QA people](https://github.com/iiab/iiab/wiki/Technical-Contributors-Guide) of all kinds!
Global community updates and videos are regularly posted to: **[@internet_in_box](https://twitter.com/internet_in_box)**
If you would like to volunteer, please [make contact](https://internet-in-a-box.org/pages/contributing.html) after looking over "[How can I help?](http://FAQ.IIAB.IO#How_can_I_help.3F)" at: [FAQ.IIAB.IO](http://FAQ.IIAB.IO)
_Internet-in-a-Box (IIAB) greatly welcomes contributions from educators, librarians and [IT/UX/QA people](https://github.com/iiab/iiab/wiki/Contributors-Guide-(EN)) ([versión en español](https://github.com/iiab/iiab/wiki/Gu%C3%ADa-para-Contribuidores-(ES))) of all kinds!_
If you would like to volunteer, please [make contact](https://internet-in-a-box.org/contributing.html) after looking over [“How can I help?”](https://wiki.iiab.io/go/FAQ#How_can_I_help%3F) at: [FAQ.IIAB.IO](https://wiki.iiab.io/go/FAQ)
<!-- To learn about our software architecture, check out our [Contributors Guide](https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide).-->
To learn more about our open community architecture for "offline" learning, check out "[What technical documentation exists?](http://FAQ.IIAB.IO#What_technical_documentation_exists.3F)"
FYI we use [Ansible](http://FAQ.IIAB.IO#What_is_Ansible_and_what_version_should_I_use.3F) <!--as the underlying technology--> to install, deploy, configure and manage the various software components.
To learn more about our open community architecture for “offline” learning, check out [“What technical documentation exists?”](https://wiki.iiab.io/go/FAQ#What_technical_documentation_exists%3F)
FYI we use [Ansible](https://wiki.iiab.io/go/FAQ#What_is_Ansible_and_what_version_should_I_use%3F) <!--as the underlying technology--> to install, deploy, configure and manage the various software components.
*Thank you for helping us enable offline access to the Internet's free/open knowledge jewels, as well as "Sneakernet-of-Alexandria" distribution of local/indigenous content, when mass media channels do not serve grassroots voices.*
*Thank you for helping us enable offline access to the Internet's free/open knowledge jewels, as well as “Sneakernet-of-Alexandria” distribution of local/indigenous content, when mass media channels do not serve grassroots voices.*
## Versions
@ -52,4 +54,4 @@ Install our latest pre-release using the 1-line installer at: [**download.iiab.i
You can also consider <!--latest Internet-in-a-Box (IIAB)--> earlier official releases at: [github.com/iiab/iiab/releases](https://github.com/iiab/iiab/releases)
For much older versions, see: [github.com/xsce](http://github.com/xsce), [schoolserver.org](http://schoolserver.org)
For much older versions, see: [github.com/xsce](https://github.com/xsce), [schoolserver.org](http://schoolserver.org)

View file

@ -5,4 +5,4 @@
# Disallowed by Ansible 2.11+ -- see https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_2.7.html#using-a-loop-on-a-package-module-via-squash-actions
#squash_actions = apk, apt, dnf, homebrew, openbsd_pkg, pacman, pkgng, yum, zypper, package
[defaults]
interpreter_python=/usr/bin/python3
interpreter_python=/usr/local/ansible/bin/python3

View file

@ -3,10 +3,10 @@
become: yes
vars_files:
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
roles:
- { role: 0-init }

View file

@ -3,10 +3,10 @@
become: yes
vars_files:
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
roles:
- { role: 0-init }

View file

@ -1,17 +1,57 @@
#!/bin/bash -e
# Running from a git repo
# Add cmdline options for passing to ansible
# Todo add proper shift to gobble up --debug --reinstall
PLAYBOOK=iiab-stages.yml
INVENTORY=ansible_hosts
IIAB_STATE_FILE=/etc/iiab/iiab_state.yml
ARGS=""
ARGS="--extra-vars {" # Needs boolean not string so use JSON list. bash forces {...} to '{...}' for Ansible
CWD=`pwd`
OS=`grep ^ID= /etc/os-release | cut -d= -f2`
OS=${OS//\"/}
MIN_RPI_KERN=5.4.0 # Do not use 'rpi-update' unless absolutely necessary: https://github.com/iiab/iiab/issues/1993
MIN_ANSIBLE_VER=2.11.6 # Ansible 2.8.3 and 2.8.6 had serious bugs, preventing their use with IIAB.
OS=${OS//\"/} # Remove all '"'
MIN_RPI_KERN=5.4.0 # Do not use 'rpi-update' unless absolutely necessary: https://github.com/iiab/iiab/issues/1993
MIN_ANSIBLE_VER=2.16.14 # 2024-11-08: ansible-core 2.15 EOL is November 2024 per https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix 2022-11-09: Raspberry Pi 3 (and 3 B+ etc?) apparently install (and require?) ansible-core 2.11 for now -- @deldesir can explain more on PR #3419. Historical: Ansible 2.8.3 and 2.8.6 had serious bugs, preventing their use with IIAB.
REINSTALL=false
DEBUG=false
SKIP_ROLE_ON_ERROR=false
usage() {
echo -e "\n\e[1mUse './iiab-install' for regular installs, or to continue an install."
echo -e "Use './iiab-install --risky' to force 'skip_role_on_error: True'"
echo -e "Use './iiab-install --reinstall' to force running all Stages 0-9, followed by the Network Role."
echo -e "Use './iiab-install --debug' to run Stage 0, followed by Stages 3-9, followed by the Network Role."
echo -e "Use './iiab-configure' to run Stage 0, followed by Stages 4-9."
echo -e "Use './runrole' to run Stage 0, followed by a single Stage or Role."
echo -e "Use './iiab-network' to run Stage 0, followed by the Network Role.\e[0m\n"
}
# https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash/14203146#14203146
while [[ $# -gt 0 ]]; do
case $1 in
--reinstall)
REINSTALL=true
shift
;;
--debug)
DEBUG=true
shift
;;
-r|--risky)
SKIP_ROLE_ON_ERROR=true
shift
;;
*)
usage
exit 1
;;
esac
done
ARGS="$ARGS\"skip_role_on_error\":$SKIP_ROLE_ON_ERROR" # Needs boolean not
# string so use JSON list. Ansible permits these boolean values: (refresher)
# https://github.com/iiab/iiab/blob/master/roles/0-init/tasks/validate_vars.yml#L19-L43
if [ ! -f /etc/iiab/local_vars.yml ]; then
@ -25,13 +65,13 @@ if [ ! -f /etc/iiab/local_vars.yml ]; then
echo -e "████████████████████████████████████████████████████████████████████████████████\n" >&2
fi
echo -e "\nEXITING: /opt/iiab/iiab/iiab-install REQUIRES /etc/iiab/local_vars.yml\n" >&2
echo -e "\n\e[1mEXITING: /opt/iiab/iiab/iiab-install REQUIRES /etc/iiab/local_vars.yml\e[0m\n" >&2
echo -e "(1) Please read http://wiki.laptop.org/go/IIAB/local_vars.yml to learn more" >&2
echo -e "(2) MIN/MEDIUM/BIG samples are included in /opt/iiab/iiab/vars" >&2
echo -e "(1) See http://FAQ.IIAB.IO -> What is local_vars.yml and how do I customize it?" >&2
echo -e "(2) SMALL/MEDIUM/LARGE samples are included in /opt/iiab/iiab/vars" >&2
echo -e "(3) NO TIME FOR DETAILS? RUN INTERNET-IN-A-BOX'S FRIENDLY 1-LINE INSTALLER:\n" >&2
echo -e ' http://download.iiab.io\n' >&2
echo -e ' https://download.iiab.io\n' >&2
exit 1
fi
@ -42,14 +82,15 @@ fi
echo -e "\n\n./iiab-install $* BEGUN IN $CWD\n"
echo -e "local_facts.fact DIAGNOSTICS... (A FEW LINES OF ERRORS/WARNINGS BELOW ARE OK!)\n"
scripts/local_facts.fact # Exit & advise, if OS not supported.
if [ ! -f /etc/ansible/facts.d/local_facts.fact ]; then
mkdir -p /etc/ansible/facts.d
fi
mkdir -p /etc/ansible/facts.d
cp scripts/local_facts.fact /etc/ansible/facts.d/local_facts.fact
echo -e "\nPlaced /etc/ansible/facts.d/local_facts.fact into position."
echo -e "\nPlaced /etc/ansible/facts.d/local_facts.fact into position.\n"
mkdir -p /etc/iiab/install-flags # MANDATORY since 2022-07-22
echo -e "/etc/iiab/install-flags directory created/verified."
echo -e "(e.g. for PR #3318 netwarn pop-ups, asking you to run iiab-network)\n"
if [ ! -f $PLAYBOOK ]; then
echo "EXITING: IIAB Playbook ""$PLAYBOOK"" not found."
@ -57,16 +98,6 @@ if [ ! -f $PLAYBOOK ]; then
exit 1
fi
if [ "$1" != "--debug" ] && [ "$1" != "--reinstall" ] && [ "$1" != "" ]; then
echo "Use './iiab-install' for regular installs, or to continue an install."
echo "Use './iiab-install --reinstall' to force running all Stages 0-9, followed by the Network Role."
echo "Use './iiab-install --debug' to run Stage 0, followed by Stages 3-9, followed by the Network Role."
echo "Use './iiab-configure' to run Stage 0, followed by Stages 4-9."
echo "Use './runrole' to run Stage 0, followed by a single Stage or Role."
echo "Use './iiab-network' to run Stage 0, followed by the Network Role."
exit 1
fi
# Subroutine compares software version numbers. Generates rare false positives
# like "1.0 > 1" and "2.4.0 > 2.4". Avoid risks by structuring conditionals w/
# a consistent # of decimal points e.g. "if version_gt w.x.y.z a.b.c.d; then"
@ -93,7 +124,7 @@ CURR_ANSIBLE_VER=0
#if [[ $(command -v ansible) ]]; then # Also Works! $(...) nests more easily than backticks
#if [[ `which ansible` ]]; then # "which" misses built-in commands like cd, and is RISKY per https://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script
#if [[ `type -P ansible` ]]; then # "type -P" isn't POSIX compliant; it misses built-in commands like "cd"
if [[ `command -v ansible` ]]; then # "command -v" is POSIX compliant; it catches built-in commands like "cd"
if [[ $(command -v ansible) ]]; then # "command -v" is POSIX compliant; it catches built-in commands like "cd"
CURR_ANSIBLE_VER=$(ansible --version | head -1 | cut -f 2- -d " " | sed 's/.* \([^ ]*\)\].*/\1/')
# Above works with 'ansible [core 2.11.0rc2]' -- these old ways do not:
#CURR_ANSIBLE_VER=$(ansible --version | head -1 | awk '{print $2}')
@ -125,41 +156,38 @@ if [ -f /etc/iiab/iiab.env ]; then
fi
fi
if [ "$1" == "--reinstall" ]; then
if $($REINSTALL); then
STAGE=0
ARGS="$ARGS"" --extra-vars reinstall=True"
#ARGS="$ARGS"" --extra-vars reinstall=True"
ARGS="$ARGS,\"reinstall\":True" # Needs boolean not string so use JSON list
sed -i 's/^STAGE=.*/STAGE=0/' /etc/iiab/iiab.env
echo "Wrote STAGE=0 (counter) to /etc/iiab/iiab.env"
elif [ "$STAGE" -ge 2 ] && [ "$1" == "--debug" ]; then
elif [ "$STAGE" -ge 2 ] && $($DEBUG); then
STAGE=2
sed -i 's/^STAGE=.*/STAGE=2/' /etc/iiab/iiab.env
echo "Wrote STAGE=2 (counter) to /etc/iiab/iiab.env"
elif [ "$STAGE" -eq 9 ]; then
echo -e "\nEXITING: STAGE (counter) in /etc/iiab/iiab.env shows Stage 9 Is Already Done."
echo -e "Use './iiab-install --reinstall' to force running all Stages 0-9, followed by the Network Role."
echo -e "Use './iiab-install --debug' to run Stage 0, followed by Stages 3-9, followed by the Network Role."
echo -e "Use './iiab-configure' to run Stage 0, followed by Stages 4-9."
echo -e "Use './runrole' to run Stage 0, followed by a single Stage or Role."
echo -e "Use './iiab-network' to run Stage 0, followed by the Network Role.\n\n"
exit 0 # Allows rerunning http://download.iiab.io/install.txt
echo -e "\n\e[1mEXITING: STAGE (counter) in /etc/iiab/iiab.env shows Stage 9 Is Already Done.\e[0m"
usage
exit 0 # Allows rerunning https://download.iiab.io/install.txt
fi
fi
if [ "$STAGE" -lt 2 ] && [ "$1" == "--debug" ]; then
if [ "$STAGE" -lt 2 ] && $($DEBUG); then
echo -e "\n'--debug' *ignored* as STAGE (counter) < 2."
fi
# /etc/iiab/iiab_state.yml is mandatory and must be created here. Background:
# Allow iiab-install to read IIAB_STATE_FILE to not repeat installs of previous
# roles that already completed within the stage.
if [ ! -f $IIAB_STATE_FILE ]; then
#touch $IIAB_STATE_FILE
if [ ! -f $IIAB_STATE_FILE ]; then # touch $IIAB_STATE_FILE
echo -e "\nCreating... $IIAB_STATE_FILE"
cat > $IIAB_STATE_FILE << EOF
# DO *NOT* MANUALLY EDIT THIS, THANKS!
# IIAB does NOT currently support uninstalling apps/services.
EOF
fi
echo -e "\nTRY TO RERUN './iiab-install' IF IT FAILS DUE TO CONNECTIVITY ISSUES ETC!\n"
echo -e "\e[1mRunning local Ansible playbooks...\n...Stage 0 will now run\n...followed by Stages $(($STAGE + 1))-9\n...and then the Network Role.\e[0m\n"
@ -168,6 +196,8 @@ export ANSIBLE_LOG_PATH="$CWD""/iiab-install.log"
ansible -m setup -i $INVENTORY localhost --connection=local | grep python
ansible -m setup -i $INVENTORY localhost --connection=local >> /dev/null # So vars are recorded in /opt/iiab/iiab/iiab-install.log
ansible-playbook -i $INVENTORY $PLAYBOOK ${ARGS} --connection=local
ARGS="$ARGS}"
echo -e "\nNOW RUN: ansible-playbook -i $INVENTORY $PLAYBOOK $ARGS --connection=local\n"
ansible-playbook -i $INVENTORY $PLAYBOOK $ARGS --connection=local
echo -e "./iiab-install $* COMPLETED IN $CWD\n\n"

View file

@ -4,11 +4,14 @@
CWD=`pwd`
export ANSIBLE_LOG_PATH="$CWD/iiab-network.log"
if [ ! -f iiab-network.yml ]; then
echo "iiab-network.yml not found in current directory."
echo "Please rerun this command from the top level of the git repo."
echo "Exiting."
exit_error() {
echo -e "\nEXITING: "$@ | tee -a /opt/iiab/iiab/iiab-network.log
exit 1
}
if [ ! -f iiab-network.yml ]; then
exit_error "iiab-network.yml not found in current directory." \
"Please rerun this command from the top level of the git repo."
fi
OS="unknown" # will be overridden below, if /etc/iiab/iiab.env is legit
@ -19,32 +22,27 @@ if [ -f /etc/iiab/iiab.env ]; then
if grep -q STAGE= /etc/iiab/iiab.env ; then
echo -e "\nExtracted STAGE=$STAGE (counter) from /etc/iiab/iiab.env"
if ! [ "$STAGE" -eq "$STAGE" ] 2> /dev/null; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"" is non-integer"
exit 1
exit_error "STAGE (counter) value == ""$STAGE"" is non-integer"
elif [ "$STAGE" -lt 0 ] || [ "$STAGE" -gt 9 ]; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"" is out-of-range"
exit 1
exit_error "STAGE (counter) value == ""$STAGE"" is out-of-range"
elif [ "$STAGE" -lt 3 ]; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"
echo -e "\nIIAB Stage 3 not complete."
echo -e "\nPlease run: ./iiab-install"
exit 1
exit_error "STAGE (counter) value == ""$STAGE" \
"\nIIAB Stage 3 not complete." \
"\nPlease run: ./iiab-install"
fi
else
echo -e "\nEXITING: STAGE (counter) not found"
echo -e "\nIIAB not installed."
echo -e "\nPlease run: ./iiab-install"
exit 1
exit_error "STAGE (counter) not found" \
"\nIIAB not installed." \
"\nPlease run: ./iiab-install"
fi
else
echo -e "\nEXITING: /etc/iiab/iiab.env not found"
exit 1
exit_error "/etc/iiab/iiab.env not found"
fi
echo "Ansible will now run iiab-network.yml -- log file is iiab-network.log"
Start=`date`
ansible -m setup -i ansible_hosts localhost --connection=local | grep python
ansible-playbook -i ansible_hosts iiab-network.yml --connection=local
ansible-playbook -i ansible_hosts iiab-network.yml --extra-vars "{\"skip_role_on_error\":false}" --connection=local
End=`date`
@ -94,3 +92,4 @@ echo "iiab-network run start: $Start"
echo "iiab-network run end: $End"
echo
echo "Please REBOOT to fully verify your network -- graphical desktops MUST reboot!"
exit 0

View file

@ -3,10 +3,10 @@
become: yes
vars_files:
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
roles:
- { role: 0-init }

20
iiab-setup Executable file
View file

@ -0,0 +1,20 @@
#!/bin/bash -e
# Running from a git repo
# Assumes iiab repos are downloaded
apt -y update
apt -y full-upgrade
apt -y install git curl nano gawk wget pastebinit
cd /opt/iiab/iiab
scripts/ansible
# 2022-09-27: iiab-install now handles this
#mkdir -p /etc/iiab/install-flags
if [ ! -f /etc/iiab/local_vars.yml ]; then
cp /opt/iiab/iiab/vars/local_vars_none.yml /etc/iiab/local_vars.yml
fi
reboot

View file

@ -3,11 +3,11 @@
become: yes
vars_files:
- roles/0-init/defaults/main.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
- roles/0-init/defaults/main.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- /etc/iiab/iiab_state.yml
tasks:

View file

@ -2,9 +2,9 @@
become: yes
vars_files:
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
- vars/default_vars.yml
- vars/{{ ansible_local.local_facts.os_ver }}.yml
- /etc/iiab/local_vars.yml
roles:
- { role: 0-init }

View file

@ -8,7 +8,7 @@
# apache_interface: 127.0.0.1
# Make this False to disable http://box/common/services/power_off.php button:
# apache_allow_sudo: True
# allow_www_data_poweroff: False
# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!

View file

@ -1,13 +1,17 @@
# SECURITY WARNING: https://wiki.iiab.io/go/Security
# openvpn_install: True
# openvpn_enabled: False
# For /etc/iiab/openvpn_handle
# Empty string on purpose since ~2016, for /etc/iiab/uuid
# SEE https://github.com/iiab/iiab/blob/master/roles/openvpn/tasks/main.yml#L5-L20
# openvpn_handle: ""
# cron seems necessary on CentOS:
# openvpn_cron_enabled: False
# openvpn_server: xscenet.net
# openvpn_server_real_ip: 3.89.148.185
# openvpn_server_virtual_ip: 10.8.0.1
# openvpn_server_port: 1194

View file

@ -1,3 +1,8 @@
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: "Install packages: ncat, nmap, openvpn, sudo"
package:
name:
@ -100,6 +105,17 @@
# RECORD OpenVPN AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'openvpn_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: openvpn
option: openvpn_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'openvpn_installed: True'"
set_fact:
openvpn_installed: True

View file

@ -56,21 +56,21 @@
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: OpenVPN
- option: description
value: '"OpenVPN enables live/remote support by connecting machines anywhere on the Internet, via a middleman server, using Virtual Private Network (VPN) techniques to create secure connections."'
- option: openvpn_install
value: "{{ openvpn_install }}"
- option: openvpn_enabled
value: "{{ openvpn_enabled }}"
- option: openvpn_handle
value: "{{ openvpn_handle }}"
- option: openvpn_cron_enabled
value: "{{ openvpn_cron_enabled }}"
- option: openvpn_server
value: "{{ openvpn_server }}"
- option: openvpn_server_virtual_ip
value: "{{ openvpn_server_virtual_ip }}"
- option: openvpn_server_port
value: "{{ openvpn_server_port }}"
- option: name
value: OpenVPN
- option: description
value: '"OpenVPN enables live/remote support by connecting machines anywhere on the Internet, via a middleman server, using Virtual Private Network (VPN) techniques to create secure connections."'
- option: openvpn_install
value: "{{ openvpn_install }}"
- option: openvpn_enabled
value: "{{ openvpn_enabled }}"
- option: openvpn_handle
value: "{{ openvpn_handle }}"
- option: openvpn_cron_enabled
value: "{{ openvpn_cron_enabled }}"
- option: openvpn_server
value: "{{ openvpn_server }}"
- option: openvpn_server_virtual_ip
value: "{{ openvpn_server_virtual_ip }}"
- option: openvpn_server_port
value: "{{ openvpn_server_port }}"

View file

@ -0,0 +1,39 @@
#!/bin/bash
# /usr/bin/iiab-remote-off should fully turn off multiple remote support
# services like OpenVPN and others, to reduce risk of remote attacks.
# echo -e '\nWARNING: To disable OpenVPN long-term, it'"'"'s recommended you:\n'
#
# echo -e '1) Set this variable in /etc/iiab/local_vars.yml'
# echo -e ' openvpn_enabled: False\n'
#
# echo -e '2) Run:'
# echo -e ' cd /opt/iiab/iiab'
# echo -e ' sudo ./runrole openvpn\n'
# Do nothing if OpenVPN not installed
which openvpn
if [ $? -ne 0 ]; then
echo 'Cannot find the OpenVPN program (openvpn).'
exit 1
fi
if grep -q '^openvpn_enabled:' /etc/iiab/local_vars.yml; then
sed -i "s/^openvpn_enabled:.*/openvpn_enabled: False/" /etc/iiab/local_vars.yml
else
echo "openvpn_enabled: False" >> /etc/iiab/local_vars.yml
fi
systemctl disable openvpn
systemctl stop openvpn
sleep 5
ps -e | grep openvpn # 2018-09-05: "ps -e | grep vpn" no longer works (nor would "pgrep vpn") when invoked from iiab-vpn-off (as filename itself causes [multiple] "vpn" instances to appear in process list!)
if [ $? -eq 0 ]; then
echo "OpenVPN failed to stop."
else
echo "OpenVPN's systemd service was successfully stopped and disabled."
echo
echo "Also, 'openvpn_enabled: False' was set in /etc/iiab/local_vars.yml"
fi

View file

@ -10,11 +10,11 @@ DEBUG=false # Using /usr/bin/true or /usr/bin/false
PLAYBOOK="install-support.yml"
INVENTORY="ansible_hosts"
# 2021-08-18: bash scripts using default_vars.yml &/or local_vars.yml
# 2023-02-25: bash scripts using default_vars.yml &/or local_vars.yml
# https://github.com/iiab/iiab-factory/blob/master/iiab
# https://github.com/iiab/iiab/blob/master/roles/firmware/templates/iiab-check-firmware#L13
# https://github.com/iiab/iiab/blob/master/roles/firmware/templates/iiab-check-firmware#L10-14
# https://github.com/iiab/iiab/blob/master/roles/network/templates/gateway/iiab-gen-iptables#L48-L52
# https://github.com/iiab/maps/blob/master/osm-source/pages/viewer/scripts/iiab-install-map-region#L25-L34
# https://github.com/iiab/maps/blob/master/osm-source/pages/viewer/scripts/iiab-install-map-region#L23-L39
# https://github.com/iiab/iiab/blob/master/roles/openvpn/templates/iiab-support READS AND WRITES, INCL NON-BOOLEAN
# PARSE local_vars.yml JUST AS Ansible & /etc/openvpn/scripts/announcer DO:

View file

@ -23,14 +23,6 @@
# ...after it is set in 0-init/tasks/main.yml
first_run: False
rpi_model: none # 2021-07-30: Broadly used!
#xo_model: none # 2021-07-30: No longer used
# 2021-07-30: Recorded to /etc/iiab/iiab.ini but not used programmatically:
gw_active: False
# 2021-07-30: Broadly used, but not in an organized way -- most all IIAB
# outfitting/provisioning happens online -- in situations where connectivity
# failures should be reported to the operator, rather than papered over:
internet_available: False
discovered_wan_iface: none # 2021-07-30: Very broadly used!
# 2021-07-30: Barely used -- for {named, dhcpd, squid} in
# roles/network/tasks/main.yml -- after being set in 0-init/tasks/network.yml

View file

@ -1,13 +1,26 @@
# workaround for fact that auto create does not work on iiab_ini_file (/etc/iiab/iiab.ini)
- name: Record disk_used_a_priori (permanently, into {{ iiab_ini_file }} below) to later estimate iiab_software_disk_usage
shell: df -B1 --output=used / | tail -1
register: df1
# workaround for fact that auto create does not work on iiab_ini_file
- name: Create {{ iiab_ini_file }}
file:
path: "{{ iiab_ini_file }}"
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
state: touch
- name: Add 'location' variable values to {{ iiab_ini_file }}
- name: Run command 'dpkg --print-architecture' to identify OS architecture (CPU arch as revealed by ansible_architecture ~= ansible_machine is NOT enough!)
command: dpkg --print-architecture
register: dpkg_arch
- name: Run command 'dpkg --print-foreign-architectures' (secondary OS arch, if available)
command: dpkg --print-foreign-architectures
register: dpkg_foreign_arch
- name: Add 'summary' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}"
section: location
section: summary
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
@ -15,29 +28,39 @@
value: "{{ iiab_base }}"
- option: iiab_dir
value: "{{ iiab_dir }}"
- option: disk_used_a_priori
value: "{{ df1.stdout }}"
- name: Add 'version' variable values to {{ iiab_ini_file }}
- name: Add 'initial' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}"
section: version
section: initial
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: os_ver
value: "{{ os_ver }}"
- option: distribution
value: "{{ ansible_distribution }}"
value: "{{ ansible_facts['distribution'] }}"
- option: arch
value: "{{ ansible_architecture }}"
- option: iiab_base_ver
value: "{{ iiab_base_ver }}"
- option: iiab_branch
value: "{{ ansible_local.local_facts.iiab_branch }}"
- option: iiab_commit
value: "{{ ansible_local.local_facts.iiab_commit }}"
- option: install_date
value: "{{ ansible_date_time.iso8601 }}"
#- option: xo_model
# value: "{{ xo_model }}"
- option: dpkg_arch
value: "{{ dpkg_arch.stdout }}"
- option: dpkg_foreign_arch
value: "{{ dpkg_foreign_arch.stdout }}"
- option: rpi_model
value: "{{ rpi_model }}"
- option: devicetree_model
value: "{{ devicetree_model }}"
- option: iiab_base_ver
value: "{{ iiab_base_ver }}"
- option: iiab_remote_url
value: "{{ ansible_local.local_facts.iiab_remote_url }}"
- option: iiab_branch
value: "{{ ansible_local.local_facts.iiab_branch }}"
- option: iiab_commit
value: "{{ ansible_local.local_facts.iiab_commit }}"
- option: iiab_recent_tag
value: "{{ ansible_local.local_facts.iiab_recent_tag }}"
- option: install_date
value: "{{ ansible_date_time.iso8601 }}"

View file

@ -1,3 +1,8 @@
- name: "Set 'iiab_fqdn: {{ iiab_hostname }}.{{ iiab_domain }}'"
set_fact:
iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
FQDN_changed: False
- name: Does /etc/cloud/cloud.cfg exist e.g. is this Ubuntu Server 18+ ?
stat:
path: /etc/cloud/cloud.cfg
@ -17,24 +22,23 @@
# 2021-08-31: Periods in /etc/hostname fail with some WiFi routers (#2904)
# command: hostnamectl set-hostname "{{ iiab_hostname }}.{{ iiab_domain }}"
#- name: Install /etc/sysconfig/network from template (redhat)
# template:
# src: roles/network/templates/network/sysconfig.network.j2
# dest: /etc/sysconfig/network
# owner: root
# group: root
# mode: 0644
# when: is_redhat
# roles/network/tasks/hosts.yml [no longer in use] ALSO did this:
# 2022-07-11: Should the first entry match just hostname and domain move to
# after localhost? See PR's #1 & #8 -- with discussion on #3302 -- and also:
# 1. /etc/hosts -- #1815 solved by PR #1847
# 2. /etc/hostname -- #2904 solved by PR #2973
- name: 'Put FQDN & hostnames in /etc/hosts: "127.0.0.1 {{ iiab_hostname }}.{{ iiab_domain }} localhost.localdomain localhost {{ iiab_hostname }} box box.lan"'
lineinfile:
path: /etc/hosts
regexp: '^127\.0\.0\.1'
line: '127.0.0.1 {{ iiab_hostname }}.{{ iiab_domain }} localhost.localdomain localhost {{ iiab_hostname }} box box.lan'
#owner: root
#group: root
#mode: 0644
# 2021-07-30: FQDN_changed isn't used as in the past -- its remaining use is
# for {named, dhcpd, squid} in roles/network/tasks/main.yml -- possibly it
# should be reconsidered? See PR #2876: roles/network might become optional?
- name: "Also set 'FQDN_changed: True' -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})"
set_fact:
FQDN_changed: True
when: iiab_fqdn != ansible_fqdn
#- name: Re-configuring httpd - not initial install
# include_tasks: roles/httpd/tasks/main.yml

View file

@ -7,17 +7,14 @@
# Higher-level purpose explained at the bottom of:
# https://github.com/iiab/iiab/blob/master/vars/default_vars.yml
- name: "Ansible just ran /etc/ansible/facts.d/local_facts.fact to set 11 vars -- here we extract 3 of those -- rpi_model: {{ ansible_local.local_facts.rpi_model }}, devicetree_model: {{ ansible_local.local_facts.devicetree_model }}, iiab_stage: {{ ansible_local.local_facts.stage }}"
- name: "Ansible just ran /etc/ansible/facts.d/local_facts.fact to set 15 vars -- here we extract 6 of those -- iiab_stage: {{ ansible_local.local_facts.stage }}, rpi_model: {{ ansible_local.local_facts.rpi_model }}, devicetree_model: {{ ansible_local.local_facts.devicetree_model }}, os_ver: {{ ansible_local.local_facts.os_ver }}, python_version: {{ ansible_local.local_facts.python_version }}, php_version: {{ ansible_local.local_facts.php_version }}"
set_fact:
iiab_stage: "{{ ansible_local.local_facts.stage }}"
rpi_model: "{{ ansible_local.local_facts.rpi_model }}"
devicetree_model: "{{ ansible_local.local_facts.devicetree_model }}"
#xo_model: "{{ ansible_local.local_facts.xo_model }}"
iiab_stage: "{{ ansible_local.local_facts.stage }}"
# 2020-10-29: Appears no longer nec (see 3 above ansible_local.local_facts.*)
#- name: Re-read local_facts.facts from /etc/ansible/facts.d
# setup:
# filter: ansible_local
os_ver: "{{ ansible_local.local_facts.os_ver }}"
python_version: "{{ ansible_local.local_facts.python_version }}"
php_version: "{{ ansible_local.local_facts.php_version }}"
# Initialize /etc/iiab/iiab.ini writing the 'location' and 'version' sections
# once and only once, to preserve the install date and git hash.
@ -26,10 +23,9 @@
when: not iiab_ini_test.stat.exists
# 2021-07-30: The 'first_run' flag isn't much used anymore. In theory it's
# still used in these 2 places:
# (1) roles/1-prep/tasks/main.yml for raspberry_pi.yml
# (2) roles/network/tasks/named.yml for "Stop named before copying files"
# In practice however, it's no longer important, and might be reconsidered?
# still used in 1-prep/tasks/hardware.yml for raspberry_pi.yml
#
# This needs to be reworked for 0-init speed, and overall understandability.
- name: Set first_run flag
set_fact:
first_run: True
@ -38,11 +34,23 @@
# Copies the latest/known version of iiab-diagnostics into /usr/bin (so it can
# be run even if local source tree /opt/iiab/iiab is deleted to conserve disk).
- name: Copy /opt/iiab/iiab/scripts/iiab-diagnostics to /usr/bin/iiab-diagnostics
- name: Copy iiab-update & iiab-summary & iiab-diagnostics & iiab-root-login from /opt/iiab/iiab/scripts/ to /usr/bin/
copy:
src: "{{ iiab_dir }}/scripts/iiab-diagnostics"
src: "{{ iiab_dir }}/scripts/{{ item }}"
dest: /usr/bin/
mode: '0755'
with_items:
- iiab-update
- iiab-summary
- iiab-diagnostics
- iiab-root-login
- name: Symlink /usr/bin/iiab-upgrade -> /usr/bin/iiab-update
file:
src: /usr/bin/iiab-update
path: /usr/bin/iiab-upgrade
state: link
#force: yes
- name: Create globally-writable directory /etc/iiab/diag (0777) so non-root users can run 'iiab-diagnostics'
file:
@ -53,13 +61,14 @@
- name: Pre-check that IIAB's "XYZ_install" + "XYZ_enabled" vars (1) are defined, (2) are boolean-not-string variables, and (3) contain plausible values. Also checks that "XYZ_install" is True when "XYZ_installed" is defined.
include_tasks: validate_vars.yml
when: not (rpi_model | regex_search('\\bW\\b')) # Ansible require double backslashes, e.g. with \b "word boundary" anchors: https://www.regular-expressions.info/wordboundaries.html https://stackoverflow.com/questions/56869119/ansible-regular-expression-to-match-a-string-and-extract-the-line/56869801#56869801
- name: "Time Zone / TZ: Set symlink /etc/localtime to UTC if it doesn't exist?"
include_tasks: tz.yml
- name: Test Gateway + Test Internet + Set new hostname/domain (hostname.yml) if nec + Set 'gui_port' to 80 or 443 for Admin Console
include_tasks: network.yml
# 2022-12-30: Functionality moved to www_options/tasks/php-settings.yml
# - name: "Time Zone / TZ: Set symlink /etc/localtime to UTC if it doesn't exist?"
# include_tasks: tz.yml
- name: Set hostname / domain (etc) in various places
include_tasks: hostname.yml
- name: Add 'runtime' variable values to {{ iiab_ini_file }}
ini_file:
@ -74,10 +83,14 @@
value: "{{ iiab_base_ver }}"
- option: iiab_revision
value: "{{ iiab_revision }}"
- option: iiab_remote_url
value: "{{ ansible_local.local_facts.iiab_remote_url }}"
- option: runtime_branch
value: "{{ ansible_local.local_facts.iiab_branch }}"
- option: runtime_commit
value: "{{ ansible_local.local_facts.iiab_commit }}"
- option: iiab_recent_tag
value: "{{ ansible_local.local_facts.iiab_recent_tag }}"
- option: runtime_date
value: "{{ ansible_date_time.iso8601 }}"
- option: ansible_version
@ -88,24 +101,22 @@
value: "{{ ansible_memtotal_mb }}"
- option: swap_mb
value: "{{ ansible_swaptotal_mb }}"
- option: gw_active
value: "{{ gw_active }}"
- option: internet_available
value: "{{ internet_available }}"
- option: rpi_model
value: "{{ rpi_model }}"
- option: devicetree_model
value: "{{ devicetree_model }}"
- option: os_ver
value: "{{ os_ver }}"
- option: python_version
value: "{{ python_version }}"
- option: php_version
value: "{{ php_version }}"
- option: first_run
value: "{{ first_run }}"
- option: local_tz # e.g. 'EDT' (summer) or 'EST' (winter) after Ansible interprets symlink /etc/localtime -- or 'UTC' if /etc/localtime doesn't exist
value: "{{ local_tz }}"
- option: etc_localtime.stdout # e.g. 'America/New_York' direct from symlink /etc/localtime -- or '' if /etc/localtime doesn't exist
value: "{{ etc_localtime.stdout }}"
#- option: no_NM_reload
# value: "{{ no_NM_reload }}"
#- option: is_F18
# value: "{{ is_F18 }}"
# - option: local_tz # e.g. 'EDT' (summer) or 'EST' (winter) after Ansible interprets symlink /etc/localtime -- or 'UTC' if /etc/localtime doesn't exist
# value: "{{ local_tz }}"
# - option: etc_localtime.stdout # e.g. 'America/New_York' direct from symlink /etc/localtime -- or '' if /etc/localtime doesn't exist
# value: "{{ etc_localtime.stdout }}"
- option: FQDN_changed
value: "{{ FQDN_changed }}"

View file

@ -1,74 +0,0 @@
- name: Do we have a gateway? If 'ip route' specifies a default route, Ansible parses details here...
debug:
var: ansible_default_ipv4
- name: "If above ansible_default_ipv4.gateway is defined, set WAN candidate 'discovered_wan_iface: {{ ansible_default_ipv4.alias }}' -- using ansible_default_ipv4.alias"
set_fact:
discovered_wan_iface: "{{ ansible_default_ipv4.alias }}"
when: ansible_default_ipv4.gateway is defined
- name: "Verify gateway active: ping -c4 {{ ansible_default_ipv4.gateway }} -- using ansible_default_ipv4.gateway"
shell: ping -c4 "{{ ansible_default_ipv4.gateway }}" | grep icmp_seq=4 | wc -l
register: gw_active_test
when: discovered_wan_iface != "none"
- name: "If gateway responded, set 'gw_active: True' and 'iiab_wan_iface: {{ discovered_wan_iface }}' -- using discovered_wan_iface"
set_fact:
iiab_wan_iface: "{{ discovered_wan_iface }}"
gw_active: True
when: discovered_wan_iface != "none" and gw_active_test.stdout == "1"
- name: 'Test for Internet access, using: {{ iiab_download_url }}/heart-beat.txt'
get_url:
url: "{{ iiab_download_url }}/heart-beat.txt"
dest: /tmp/heart-beat.txt
#timeout: "{{ download_timeout }}"
# @jvonau recommends: 100sec is too much (keep 10sec default)
ignore_errors: True
#async: 10
#poll: 2
register: internet_access_test
- name: "Set 'internet_available: True' if above download succeeded AND not disregard_network"
set_fact:
internet_available: True # Initialized to 'False' in 0-init/defaults/main.yml
when: not internet_access_test.failed and not disregard_network
- name: Remove downloaded Internet test file /tmp/heart-beat.txt
file:
path: /tmp/heart-beat.txt
state: absent
- name: "Set 'iiab_fqdn: {{ iiab_hostname }}.{{ iiab_domain }}'"
set_fact:
iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
FQDN_changed: False
- name: Set hostname / domain (etc) in various places -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})
include_tasks: hostname.yml
when: iiab_fqdn != ansible_fqdn
# 2021-07-30: FQDN_changed isn't used as in the past -- its remaining use is
# for {named, dhcpd, squid} in roles/network/tasks/main.yml -- possibly it
# should be reconsidered? See PR #2876: roles/network might become optional?
- name: "Also set 'FQDN_changed: True' -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})"
set_fact:
FQDN_changed: True
when: iiab_fqdn != ansible_fqdn
# 2021-08-17: (1) iiab-gen-iptables works better if gui_port is set directly in
# default_vars.yml and/or local_vars.yml (2) Admin Console's iiab-admin.yml
# and js-menu.yml set 'adm_cons_force_ssl: False'
# - name: "Set 'gui_port: 80' for Admin Console if not adm_cons_force_ssl"
# set_fact:
# gui_port: 80
# when: not adm_cons_force_ssl
# - name: "Set 'gui_port: 443' for Admin Console if adm_cons_force_ssl"
# set_fact:
# gui_port: 443
# when: adm_cons_force_ssl

View file

@ -1,3 +1,5 @@
# 2022-12-30: Functionality moved to www_options/tasks/php-settings.yml
- name: "'local_tz: {{ local_tz }}' was set by ansible_date_time.tz in /opt/iiab/iiab/vars/default_vars.yml -- e.g. if Ansible finds symlink /etc/localtime -> ../usr/share/zoneinfo/America/New_York -- it will simplify that to 'EDT' (in the summer) or 'EST' (in the winter)"
command: echo

View file

@ -63,38 +63,29 @@
#
# 2020-11-04: Fix validation of 5 [now 4] core dependencies, for ./runrole etc
- name: Set vars_checklist for 44 + 44 + 40 vars ("XYZ_install" + "XYZ_enabled" + "XYZ_installed") to be checked
- name: Set vars_checklist for 45 + 45 + 40 vars ("XYZ_install" + "XYZ_enabled" + "XYZ_installed") to be checked
set_fact:
vars_checklist:
- hostapd
- dhcpd
- named
- dnsmasq
- bluetooth
#- wondershaper # Unmaintained
- sshd
- openvpn
#- openvpn # Deprecated
- tailscale
- remoteit
- admin_console
#- nginx # MANDATORY
#- apache # Unmaintained - former dependency
#- mysql # MANDATORY
- squid
#- dansguardian # Unmaintained
- cups
- samba
- usb_lib
#- xo_services # Unmaintained
#- activity_server # Unmaintained
#- ejabberd_xs # Unmaintained
#- idmgr # Unmaintained
- azuracast
#- dokuwiki # Unmaintained
#- ejabberd # Unmaintained
#- elgg # Unmaintained
- gitea
- jupyterhub
- lokole
- mysql # Dependency - excluded from _installed check below
- mediawiki
- mosquitto
- nodejs # Dependency - excluded from _installed check below
@ -111,6 +102,7 @@
- osm_vector_maps
- transmission
- awstats
- matomo
- monit
- munin
- phpmyadmin
@ -122,6 +114,7 @@
- calibreweb
- calibre
- pbx
- network
- name: Assert that {{ vars_checklist | length }} "XYZ_install" vars are all... defined
assert:
@ -163,5 +156,41 @@
that: "{{ item }}_install or {{ item }}_installed is undefined"
fail_msg: "DISALLOWED: '{{ item }}_install: False' (e.g. in /etc/iiab/local_vars.yml) WHEN '{{ item }}_installed' is defined (e.g. in /etc/iiab/iiab_state.yml) -- IIAB DOES NOT SUPPORT UNINSTALLS -- please verify those 2 files especially, and other places variables are defined?"
quiet: yes
when: item != 'nodejs' and item != 'postgresql' and item != 'mongodb' and item != 'yarn' # Exclude auto-installed dependencies
when: item != 'mysql' and item != 'postgresql' and item != 'mongodb' and item != 'nodejs' and item != 'yarn' # Exclude auto-installed dependencies
loop: "{{ vars_checklist }}"
- name: Set vars_deprecated_list for 4+ vars ("XYZ_install") to be checked
set_fact:
vars_deprecated_list:
- dhcpd # Deprecated
- named # Deprecated
- wondershaper # Deprecated
- dansguardian # Deprecated
#- xo_services # Unmaintained
#- activity_server # Unmaintained
#- ejabberd_xs # Unmaintained
#- idmgr # Unmaintained
#- dokuwiki # Unmaintained
#- ejabberd # Unmaintained
#- elgg # Unmaintained
- name: 'DISALLOW "XYZ_install: True" if deprecated'
assert:
that: "{{ item }}_install is undefined or not {{ item }}_install"
fail_msg: "DISALLOWED: '{{ item }}_install: True' (e.g. in /etc/iiab/local_vars.yml)"
quiet: yes
loop: "{{ vars_deprecated_list }}"
# 2023-12-04: ansible-core 2.16.1 suddenly no longer allows 'assert' with
# 'with_items' below (whereas 'loop' construct above works!) BACKGROUND:
#
# 'due to mitigation of security issue CVE-2023-5764 in ansible-core 2.16.1,
# conditional expressions with embedded template blocks can fail with the
# message “Conditional is marked as unsafe, and cannot be evaluated.”'
# https://docs.ansible.com/ansible-core/2.16/porting_guides/porting_guide_core_2.16.html#playbook
#
# with_items:
# - dhcpd # Deprecated
# - named # Deprecated
# - wondershaper # Deprecated
# - dansguardian # Deprecated

View file

@ -6,7 +6,7 @@ https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide#ansible[stage]
hardware, low-level OS quirks, and basic security:
* SSHD
* OpenVPN if/as needed later for remote support
* Tailscale if/as needed later for remote support
* https://github.com/iiab/iiab/tree/master/roles/iiab-admin#iiab-admin-readme[iiab-admin]
username and group, to log into Admin Console
* dnsmasq (install now, configure later!)
@ -14,17 +14,16 @@ username and group, to log into Admin Console
* Ubermix (distro) needs /etc/tmpfiles.d/iiab.conf to create essential
/var/log subdirs on each boot
* *_Hardware actions:_*
** link:tasks/install-expand-rootfs.yml[*_install-expand-rootfs.yml_*]:
*** Install https://en.wikipedia.org/wiki/APT_(software)[apt] packages parted (reveals last partition) and cloud-guest-utils (for growpart)
*** Install link:templates/iiab-expand-rootfs[/usr/sbin/iiab-expand-rootfs] that acts on flag flag `/.expand-rootfs`
*** Enable iiab-expand-rootfs.service so this can happen during any future boot-up
** link:tasks/raspberry_pi.yml[*_raspberry_pi.yml_*]:
*** RTC (real-time clock): install udev rule, configure, enable
*** *_Install packages related to:_*
**** growpart
**** swapfile
**** fake-hwclock (as RTC is often missing or dead!)
**** Wi-Fi
*** Increase swap file size
*** https://github.com/iiab/iiab/blob/master/roles/1-prep/templates/iiab-rpi-max-rootfs.sh[rootfs
auto-resizing]
*** Install apt packages fake-hwclock (as above RTC is often missing or dead!) and dphys-swapfile (for swap file below)
*** Increase swap file size (to `pi_swap_file_size`)
** NUC 6 Wi-Fi firmware
** Check for WiFi devices (if so, set `has_wifi_device`)
Recap: Similar to 0-init, 2-common, 3-base-server, 4 server-options and
5-xo-services — this 1st stage installs core server infra (that is not

View file

@ -1,17 +1,37 @@
## DISCOVER PLATFORMS ######
# Put conditional actions for hardware platforms here
- include_tasks: install-expand-rootfs.yml
# Conditional hardware actions below:
- include_tasks: raspberry_pi.yml
when: first_run and rpi_model != "none"
- name: Check if the identifier for Intel's NUC6 built-in WiFi is present
shell: "lsusb | grep 8087:0a2b | wc | awk '{print $1}'"
register: usb_NUC6
ignore_errors: True
- name: Download {{ iiab_download_url }}/iwlwifi-8000C-13.ucode to /lib/firmware for built-in WiFi on NUC6 # iiab_download_url is http://download.iiab.io/packages
get_url:
url: "{{ iiab_download_url }}/iwlwifi-8000C-13.ucode"
dest: /lib/firmware
timeout: "{{ download_timeout }}"
when: usb_NUC6.stdout|int > 0
# 2024-02-09: Code below appears stale for Shanti's #3707 hardware
#- name: Check if the identifier for Intel's NUC6 built-in WiFi is present
# shell: "lsusb | grep 8087:0a2b | wc | awk '{print $1}'"
# register: usb_NUC6
# ignore_errors: True
#
#- name: Download {{ iiab_download_url }}/iwlwifi-8000C-13.ucode to /lib/firmware for built-in WiFi on NUC6
# get_url:
# url: "{{ iiab_download_url }}/Old/iwlwifi-8000C-13.ucode" # https://download.iiab.io/packages
# dest: /lib/firmware
# timeout: "{{ download_timeout }}"
# when: usb_NUC6.stdout|int > 0
- name: "Look for any WiFi devices present: ls -la /sys/class/net/*/phy80211 | cut -d/ -f5"
shell: ls -la /sys/class/net/*/phy80211 | cut -d/ -f5
register: wifi_devices
ignore_errors: True
changed_when: False
- name: "Set has_wifi_device: True, if output (from above) shows device(s) here: {{ wifi_devices.stdout_lines }}"
set_fact:
has_wifi_device: True
when: wifi_devices is defined and wifi_devices.stdout_lines | length > 0
# when: wifi_devices is defined and wifi_devices.stdout | trim != ""
- debug:
var: has_wifi_device

View file

@ -0,0 +1,20 @@
- name: Install packages 'parted' and 'cloud-guest-utils' (for /usr/bin/growpart, though raspi-config uses fdisk)
package:
name:
- parted # 2022-03-15: RasPiOS and Ubuntu install this regardless -- so rarely nec, but just in case.
- cloud-guest-utils # 2022-04-02: For growpart command -- whereas RasPiOS's 'raspi-config --expand-rootfs' instead uses fdisk (requiring a reboot, see do_expand_rootfs() in https://github.com/RPi-Distro/raspi-config/blob/master/raspi-config). FYI Ubuntu pre-installs cloud-guest-utils, for use with cloud-init.
state: present
- name: "Install from templates: /usr/sbin/iiab-expand-rootfs, /etc/systemd/system/iiab-expand-rootfs.service"
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
mode: "{{ item.mode }}"
with_items:
- { src: 'iiab-expand-rootfs', dest: '/usr/sbin/', mode: '0755' }
- { src: 'iiab-expand-rootfs.service', dest: '/etc/systemd/system/', mode: '0644' }
- name: Enable iiab-expand-rootfs.service
systemd:
name: iiab-expand-rootfs
enabled: yes

View file

@ -3,33 +3,47 @@
- name: ...IS BEGINNING ============================================
meta: noop
- name: SSHD -- required by OpenVPN below -- also run by roles/4-server-options/tasks/main.yml
- name: SSHD
include_role:
name: sshd
when: sshd_install
- name: OPENVPN
- name: TAILSCALE (VPN)
include_role:
name: openvpn
when: openvpn_install
name: tailscale
when: tailscale_install
- name: REMOTE.IT
include_role:
name: remoteit
when: remoteit_install
- name: IIAB-ADMIN -- includes roles/iiab-admin/tasks/access.yml
- name: IIAB-ADMIN -- includes {lynx, screen, sudo-prereqs.yml, admin-user.yml, pwd-warnings.yml}
include_role:
name: iiab-admin
#when: iiab_admin_install # Flag might be created in future?
- name: Install dnsmasq -- configure LATER in 'network', after Stage 9
include_tasks: roles/network/tasks/dnsmasq.yml
#when: dnsmasq_install # Flag might be used in future?
- name: Copy iiab-apps-to-be-installed from {{ iiab_dir }}/scripts to /usr/bin/
copy:
src: "{{ iiab_dir }}/scripts/iiab-apps-to-be-installed" # /opt/iiab/iiab
dest: /usr/bin/
mode: '0755'
- name: Copy iiab-network from {{ iiab_dir }}/scripts to /usr/local/bin/
copy:
src: "{{ iiab_dir }}/scripts/iiab-network"
dest: /usr/local/bin/
mode: '0755'
- name: Install ~12 network/wifi/related packages + Squid if necessary + configure /etc/sysctl.conf -- full configuration LATER in 'network', after Stage 9
include_tasks: roles/network/tasks/install.yml
when: network_install and network_installed is undefined
- include_tasks: uuid.yml
- include_tasks: ubermix.yml
- include_tasks: hardware.yml # Can run raspberry_pi.yml
- name: install-expand-rootfs.yml, raspberry_pi.yml, NUC6 WiFi firmware, check for WiFi devices
include_tasks: hardware.yml
# Debian 10 "Buster" is apparently enabling AppArmor in 2019:
@ -60,7 +74,10 @@
# when: not is_debuntu and selinux_disabled is defined and selinux_disabled.changed
- name: Recording STAGE 1 HAS COMPLETED ============================
- name: Install {{ iiab_env_file }} from template -- FYI this file can be run as a script if absolutely nec -- e.g. 'source /etc/iiab/iiab.env && echo $WWWROOT'
template:
src: roles/1-prep/templates/iiab.env.j2
dest: "{{ iiab_env_file }}" # Can also be run as a script if absolutely nec, e.g. 'source /etc/iiab/iiab.env && echo $WWWROOT'
dest: "{{ iiab_env_file }}"
- name: Recording STAGE 1 HAS COMPLETED ============================
meta: noop

View file

@ -4,9 +4,6 @@
template:
src: 92-rtc-i2c.rules
dest: /etc/udev/rules.d/92-rtc-i2c.rules
#owner: root
#group: root
#mode: 0644
when: rtc_id is defined and rtc_id != "none"
# RTC requires a change to the device tree (and reboot)
@ -24,39 +21,14 @@
state: present
when: rtc_id is defined and rtc_id != "none" and is_ubuntu # CLARIF: Ubuntu runs increasingly well on RPi hardware, starting in 2020 especially
#- name: Enable bluetooth in /boot/firmware/syscfg.txt on Ubuntu (needs reboot)
# lineinfile:
# path: /boot/firmware/syscfg.txt
# regexp: '^include*'
# line: 'include btcfg.txt'
# when: is_ubuntu
- name: '2021-07-27: SEE ALSO ~4 networking packages LATER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/packages.yml'
meta: noop
- name: '2021-07-27: SEE ALSO 4-5 networking packages LATER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/network.yml'
meta: noop
# 2021-07-27 explanation from @jvonau: The 3 BELOW (iw, rfkill, wireless-tools)
# are provided by RaspiOS. Ubuntu|Debian on the other hand are hit or miss:
# desktops might have some/all 3 preinstalled, while servers tend not to have
# these present at all, but are needed to be installed if you want to take full
# advantage of WiFi on Ubuntu and friends -- but it's only enforced on RPi
# hardware where we know in advance of the likelihood of WiFi being present.
- name: 'Install packages: cloud-guest-utils, dphys-swapfile, fake-hwclock, iw, rfkill, wireless-tools'
- name: 'Install packages: fake-hwclock, dphys-swapfile'
package:
name:
- cloud-guest-utils # Contains 'growpart' for resizing a partition during boot, which is normally done with the aid of cloud-init
- dphys-swapfile # 2021-07-27: RaspiOS installs this regardless -- autogenerate and use a swap file
- fake-hwclock # 2021-07-27: RaspiOS installs this regardless -- save/restore system clock on machines without working RTC hardware
- iw # 2021-07-27: RaspiOS installs this regardless -- configure Linux wireless devices -- hard dependence for ap0 creation, SEE https://github.com/iiab/iiab/blob/master/roles/network/templates/hostapd/iiab-clone-wifi.service.j2
- rfkill # 2021-07-27: RaspiOS installs this regardless -- enable & disable wireless devices
- wireless-tools # 2021-07-27: RaspiOS installs this regardless -- manipulate Linux Wireless Extensions
- fake-hwclock # 2021-03-15: Missing on Ubuntu etc. RasPiOS installs this regardless -- to save/restore system clock on machines w/o working RTC (above).
- dphys-swapfile # 2021-03-15: Missing on Ubuntu etc. RasPiOS installs this regardless -- to autogenerate and use a swap file (below).
state: present
- name: Increase swap file size (to CONF_SWAPSIZE={{ pi_swap_file_size }} in /etc/dphys-swapfile) as kalite pip download fails
lineinfile:
path: /etc/dphys-swapfile
@ -70,18 +42,9 @@
state: restarted
- name: Install RPi rootfs resizing (/usr/sbin/iiab-rpi-max-rootfs.sh) and its systemd service (/etc/systemd/system/iiab-rpi-root-resize.service), from templates (root:root by default)
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
#owner: root
#group: root
mode: "{{ item.mode }}"
with_items:
- { src: 'iiab-rpi-max-rootfs.sh', dest: '/usr/sbin/', mode: '0755' }
- { src: 'iiab-rpi-root-resize.service', dest: '/etc/systemd/system/', mode: '0644' }
- name: Enable RPi rootfs resizing (systemd service iiab-rpi-root-resize.service)
systemd:
name: iiab-rpi-root-resize
enabled: yes
#- name: Enable bluetooth in /boot/firmware/syscfg.txt on Ubuntu (needs reboot)
# lineinfile:
# path: /boot/firmware/syscfg.txt
# regexp: '^include*'
# line: 'include btcfg.txt'
# when: is_ubuntu

View file

@ -0,0 +1,72 @@
#!/bin/bash -xe
# Expand rootfs partition to its maximum size, if /.expand-rootfs exists.
# Used by /etc/systemd/system/iiab-expand-rootfs.service on IIAB boot.
# Should work with all Linux OS's boot disks -- regardless whether Raspberry Pi
# microSD cards, external USB drives, internal spinning disks or SSD's, etc.
# Verifies that rootfs is the last partition.
# RELATED:
# 1. https://github.com/iiab/iiab-factory/blob/master/box/rpi/min-sd
# 2. https://github.com/iiab/iiab-factory/blob/master/box/rpi/cp-sd
# 3. https://github.com/iiab/iiab-factory/blob/master/box/rpi/xz-json-sd
# OR https://github.com/iiab/iiab-factory/blob/master/box/rpi/exp-sd
if [ -f /.expand-rootfs ] || [ -f /.resize-rootfs ]; then
echo "$0: Expanding rootfs partition"
if [ -x /usr/bin/raspi-config ]; then # Raspberry Pi OS -- WARNING: their fdisk-centric approach of course FAILS with "Hybrid MBR" or GPT partition tables, as required by any drive > 2TB :/
# 2022-02-17: Uses do_expand_rootfs() from:
# https://github.com/RPi-Distro/raspi-config/blob/master/raspi-config
# 2023-10-05: Official new RPi instructions:
# sudo raspi-config nonint do_expand_rootfs
# https://www.raspberrypi.com/documentation/computers/configuration.html#expand-filesystem-nonint
raspi-config --expand-rootfs # REQUIRES A REBOOT
rm -f /.expand-rootfs /.resize-rootfs
reboot # In future, we might warn interactive users that a reboot is coming?
else # REQUIRES NO REBOOT; BEWARE iiab-expand-rootfs.service RACE CONDITION WITH fsck (PR #2522 & #3325)
# 2022-03-15: Borrows from above raspi-config URL's do_expand_rootfs()
ROOT_PART="$(findmnt / -o SOURCE -n)" # e.g. /dev/sda2 or /dev/mmcblk0p2
ROOT_DEV="/dev/$(lsblk -no pkname "$ROOT_PART")" # e.g. /dev/sda or /dev/mmcblk0
ROOT_PART_NUM="$(echo "$ROOT_PART" | grep -o "[[:digit:]]*$")" # e.g. 2
# SLOW (~10 seconds) but it works!
LAST_PART_NUM=$(parted "$ROOT_DEV" -ms unit s p | tail -n 1 | cut -f 1 -d:)
if [ $ROOT_PART_NUM -ne $LAST_PART_NUM ]; then
echo "ERROR: $ROOT_PART partition ($ROOT_PART_NUM) is not the last partition ($LAST_PART_NUM). Don't know how to expand."
exit 1
fi
# Expand partition
growpart $ROOT_DEV $ROOT_PART_NUM || true # raspi-config instead uses fdisk (assuming MBR). They really should transition to gdisk, as required by any drive > 2TB. WARNING: growpart RC 2 is more severe than RC 1, and should possibly be handled separately in future?
rc=$? # Make Return Code visible, for 'bash -x'
resize2fs $ROOT_PART
rc=$? # Make RC visible (as above)
# 2022-03-15: Legacy code below worked with Raspberry Pi microSD cards
# but *not* with USB boot drives, internal spinning disks/SSD's, etc.
# # ASSUMES SD CARD STYLE PARTITION NAME LIKE <device>p<partition number>
# # e.g. /dev/mmcblk0p2 mounts at / (typical RasPiOS microSD)
# # BUT /dev/sda2 mounts at /media/usb1 (RasPiOS USB boot disk...
# # ...WON'T WORK BELOW; recap @ PR #3121)
# # Calculate root partition
# root_part=`lsblk -aP -o NAME,MOUNTPOINT | grep 'MOUNTPOINT="/"' | awk -F\" '{ print $2 }'` # e.g. mmcblk0p2
# root_dev=${root_part:0:-2} # e.g. mmcblk0
# # bash substring expansion: "negative offset [below, but not above]
# # must be separated from the colon by at least one space to avoid
# # being confused with the :- expansion"
# # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
# root_part_no=${root_part: -1} # e.g. 2
# # Resize partition
# growpart /dev/$root_dev $root_part_no
# resize2fs /dev/$root_part
rm -f /.expand-rootfs /.resize-rootfs
fi
fi

View file

@ -0,0 +1,24 @@
[Unit]
Description=Root Filesystem Auto-Expander
DefaultDependencies=no
# 2022-08-08: IIAB's 4 core OS's have 'After=systemd-fsck-root.service' WITHIN
# systemd-remount-fs.service, allowing us to avoid #3325 race condition w/ fsck
After=systemd-remount-fs.service
# 2022-08-08: While dphys-swapfile.service doesn't exist on Ubuntu, Mint
# and pure Debian, the following line may still serve a purpose on RasPiOS:
Before=dphys-swapfile.service
[Service]
Environment=TERM=linux
Type=oneshot
ExecStart=/usr/sbin/iiab-expand-rootfs
# 2022-08-08: By default, systemd dangerously kills rootfs expansion after just
# 90s (1TB microSD cards take ~8 min to expand). Let's remove the time limit:
TimeoutSec=infinity
# "Standard output type syslog is obsolete"
# StandardError=syslog
# WHEREAS StandardError=journal is the default, per https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
RemainAfterExit=yes
[Install]
WantedBy=local-fs.target

View file

@ -1,20 +0,0 @@
#!/bin/bash -x
# Resize rootfs and its partition on the rpi SD card to maximum size
# To be used by systemd service on boot
# Only resizes if /.resize-rootfs exists
# Assumes root is last partition
# Only works on F22 + where resizepart command exists
# Assumes sd card style partition name like <device>p<partition number>
if [ -f /.resize-rootfs ];then
echo "$0: maximizing rootfs partion"
# Calculate root partition
root_part=`lsblk -aP -o NAME,MOUNTPOINT|grep 'MOUNTPOINT="/"' |awk -F\" '{ print $2 }'`
root_dev=${root_part:0:-2}
root_part_no=${root_part: (-1)}
# Resize partition
growpart /dev/$root_dev $root_part_no
resize2fs /dev/$root_part
rm /.resize-rootfs
fi

View file

@ -1,12 +0,0 @@
[Unit]
Description=Root Filesystem Auto-Resizer
[Service]
Environment=TERM=linux
Type=oneshot
ExecStart=/usr/sbin/iiab-rpi-max-rootfs.sh
StandardError=syslog
RemainAfterExit=no
[Install]
WantedBy=multi-user.target

View file

@ -9,10 +9,8 @@ https://internet-in-a-box.org/[Internet-in-a-Box (IIAB)] server.
These are (partially) put in place:
* IIAB directory structure (link:tasks/fl.yml[file layout])
* Common https://en.wikipedia.org/wiki/APT_(software)[apt] software
packages
* Networking (including the
https://en.wikipedia.org/wiki/Iptables[iptables] firewall)
* Common https://en.wikipedia.org/wiki/APT_(software)[apt] software packages
* Networking apt packages (including many WiFi tools, and also iptables-persistent for the https://en.wikipedia.org/wiki/Iptables[iptables] firewall)
* link:tasks/iiab-startup.yml[/usr/libexec/iiab-startup.sh] similar to
AUTOEXEC.BAT and /etc/rc.local, in order to run jobs on boot

View file

@ -1,6 +1,6 @@
# fl.yml signifies "file layout"
- name: "File Layout - Create directories: 1 in /etc, 1 in {{ py3_dist_path }}, 3 in {{ iiab_base }}, 17 in {{ content_base }}" # iiab_base: /opt/iiab
- name: "File Layout - Create directories: 1 in {{ py3_dist_path }}, 2 in {{ iiab_base }}, 17 in {{ content_base }}" # iiab_base: /opt/iiab
file:
path: "{{ item }}"
# owner: root
@ -8,11 +8,11 @@
# mode: '0755'
state: directory
with_items:
- /etc/sysconfig/olpc-scripts/setup.d/installed/
#- /etc/sysconfig/olpc-scripts/setup.d/installed/
- "{{ py3_dist_path }}/iiab" # /usr/lib/python3/dist-packages
- "{{ yum_packages_dir }}" # /opt/iiab/yum-packages
#- "{{ yum_packages_dir }}" # /opt/iiab/yum-packages
- "{{ pip_packages_dir }}" # /opt/iiab/pip-packages
- "{{ downloads_dir }}" # /opt/iiab/downloads -- generally already done by Stage 1's roles/remoteit/tasks/install.yml
- "{{ downloads_dir }}" # /opt/iiab/downloads
#- "{{ content_base }}/downloads" # /library/downloads auto-created just below
- "{{ content_base }}/downloads/zims"
- "{{ content_base }}/downloads/maps"

View file

@ -8,8 +8,14 @@
- include_tasks: packages.yml
- name: "Network prep, including partial setup of iptables (firewall) -- SEE ALSO: 1-prep/tasks/raspberry_pi.yml"
include_tasks: network.yml
- name: "Use 'sysctl' to set 'kernel.core_uses_pid: 1' in /etc/sysctl.conf"
sysctl: # Places these settings in /etc/sysctl.conf, to survive reboot
name: "{{ item.name }}"
value: "{{ item.value }}"
with_items:
#- { name: 'kernel.sysrq', value: '1' } # OS values differ, Ok?
- { name: 'kernel.core_uses_pid', value: '1' }
#- { name: 'kernel.shmmax', value: '268435456' } # OS values differ, Ok?
- include_tasks: iiab-startup.yml

View file

@ -1,45 +0,0 @@
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/raspberry_pi.yml'
meta: noop
- name: '2021-07-27: SEE ALSO ~4 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/packages.yml'
meta: noop
- name: Install package networkd-dispatcher (OS's other than RaspiOS)
package:
name: networkd-dispatcher # Dispatcher service for systemd-networkd connection status changes
state: present
when: not is_raspbian
- name: 'Install network packages: hostapd, iproute2, iptables-persistent, netmask -- later used by https://github.com/iiab/iiab/tree/master/roles/network'
package:
name:
- hostapd # IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP Authenticator -- has its service masked out of the box, and only used when IIAB's network roles detects the presence of WiFi and an AP is desired
- iproute2 # 2021-07-27: RaspiOS installs this regardless -- the new networking and traffic control tools, meant to replace net-tools
- iptables-persistent # Boot-time loader for netfilter rules, iptables (firewall) plugin -- however Netfilter / nftables is ever moving forward so keep an eye on it!
- netmask # Handy utility -- helps determine network masks
state: present
# 2021-08-17: Debian ignores this, according to 2013 post:
# https://serverfault.com/questions/511099/debian-ignores-etc-network-if-pre-up-d-iptables
# - name: Install /etc/network/if-pre-up.d/iptables from template (0755)
# template:
# src: iptables
# dest: /etc/network/if-pre-up.d/iptables
# mode: '0755'
# Ongoing rework (e.g. PR #2652) arising from ansible.posix collection changes:
- name: "Use 'sysctl' to set 'kernel.core_uses_pid: 1' + 4 network settings in /etc/sysctl.conf -- e.g. disabling IPv6 (this might be overkill, as IPv6 should really only be disabled on the LAN side, i.e. br0)"
sysctl: # Places these settings in /etc/sysctl.conf, to survive reboot
name: "{{ item.name }}"
value: "{{ item.value }}"
with_items:
- { name: 'net.ipv4.ip_forward', value: '1' } # Masquerading LAN->Internet
- { name: 'net.ipv4.conf.default.rp_filter', value: '1' }
- { name: 'net.ipv4.conf.default.accept_source_route', value: '0' }
#- { name: 'kernel.sysrq', value: '1' } # OS values differ, Ok?
- { name: 'kernel.core_uses_pid', value: '1' }
#- { name: 'net.ipv4.tcp_syncookies', value: '1' } # Very standard in 2020
#- { name: 'kernel.shmmax', value: '268435456' } # OS values differ, Ok?
- { name: 'net.ipv6.conf.all.disable_ipv6', value: '1' } # IPv6 disabled
#- { name: 'net.ipv6.conf.default.disable_ipv6', value: '1' } # AUTO-SET
#- { name: 'net.ipv6.conf.lo.disable_ipv6', value: '1' } # BY ABOVE

View file

@ -1,47 +1,39 @@
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/raspberry_pi.yml'
meta: noop
# 2022-03-16: 'apt show <pkg> | grep Size' revealed download sizes, on 64-bit RasPiOS with desktop.
- name: '2021-07-27: SEE ALSO 4-5 networking packages LATER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/network.yml'
meta: noop
- name: "Install 20 common packages: acpid, avahi-daemon, bzip2, curl, gawk, htop, i2c-tools, libnss-mdns, logrotate, mlocate, net-tools, pandoc, pastebinit, rsync, sqlite3, tar, unzip, usbutils, wget, wpasupplicant"
- name: "Install 19 common packages: acpid, bzip2, cron, curl, gawk, gpg, htop, i2c-tools, logrotate, lshw, pandoc, pastebinit, plocate, rsync, sqlite3, tar, unzip, usbutils, wget"
package:
name:
- acpid # Daemon for ACPI (power mgmt) events
- avahi-daemon # 2021-07-27: RaspiOS (and package libnss-mnds, below) install this regardless -- holdover from the XO days and used to advertise ssh/admin-console being available via avahi-daemon -- used with https://github.com/iiab/iiab/blob/master/roles/network/tasks/avahi.yml
#- avahi-discover # 2021-07-27: Commented out long ago
- bzip2 # 2021-04-26: Prob not used, but can't hurt?
- curl # Used to install roles/nodejs and roles/nodered
#- etckeeper # "nobody is really using etckeeper and it's bloating the filesystem every time apt runs" per @jvonau at https://github.com/iiab/iiab/issues/1146
#- exfat-fuse # 2021-07-27: Should no longer be nec with 5.4+ kernels, so let's try commenting it out
#- exfat-utils # Ditto! See also 'ntfs-3g' below
- gawk
- htop
- i2c-tools # Low-level bus/chip/register/EEPROM tools e.g. for RTC
#- inetutils-syslogd # 2021-07-27: Error logging facility -- holdover from the XO days, journalctl has replaced this in newer distros
#- iproute2 # Installed by roles/2-common/tasks/network.yml
- logrotate
- libnss-mdns # 2021-07-27: RaspiOS (and package avahi-daemon, above) install this regardless -- client-side library -- provides name resolution via mDNS (Multicast DNS) using Zeroconf/Bonjour e.g. Avahi
#- lynx # Installed by 1-prep's roles/iiab-admin/tasks/access.yml
#- make # 2021-07-27: Currently used by roles/pbx and no other roles
- mlocate
- net-tools # 2021-04-26: @jvonau suggests possibly deleting this...unless oldtimers really want these older commands in iiab-diagnostics output?
#- ntfs-3g # 2021-07-31: RaspiOS installs this regardless -- but this should no longer be nec with 5.4+ kernels, similar to exfat packages above -- however, see also this symlink warning: https://superuser.com/questions/1050544/mount-with-kernel-ntfs-and-not-ntfs-3g -- and upcoming kernel 5.15 improvements: https://www.phoronix.com/scan.php?page=news_item&px=New-NTFS-Likely-For-Linux-5.15
#- openssh-server # ssh (Raspbian) or openssh-server (other OS's) already installed by 1-prep's roles/sshd/tasks/main.yml
- pandoc # For /usr/bin/iiab-refresh-wiki-docs
- pastebinit # For /usr/bin/iiab-diagnostics
#- python3-pip # 2021-07-29: Already installed by /opt/iiab/iiab/scripts/ansible -- this auto-installs 'python3-setuptools' and 'python3' etc
#- python3-venv # 2021-07-30: For Ansible module 'pip' used in roles like {calibre-web, jupyterhub, lokole} -- whereas roles/kalite uses (virtual) package 'virtualenv' for Python 2 -- all these 3+1 IIAB roles install 'python3-venv' for themselves. FYI: Debian 11 auto-installs 'python3-venv' when you install 'python3' -- whereas Ubuntu (e.g. 20.04 & 21.10) and RaspiOS 10 do not.
- rsync
#- screen # Installed by 1-prep's roles/iiab-admin/tasks/access.yml
- sqlite3
#- sudo # (1) Should be installed prior to installing IIAB, (2) Can also be installed by roles/1-prep's roles/openvpn/tasks/install.yml, (3) Is definitely installed by 1-prep's roles/iiab-admin/tasks/sudo-prereqs.yml
- tar
- unzip
#- usbmount # Moved to roles/usb_lib/tasks/install.yml
- usbutils # 2021-07-27: RaspiOS installs this regardless -- move to roles/usb_lib/tasks/install.yml ?
- wget
- wpasupplicant # 2021-07-27: RaspiOS installs this regardless -- client library for connections to a WiFi AP
- acpid # 55kB download: Daemon for ACPI (power mgmt) events
- bzip2 # 47kB download: RasPiOS installs this regardless -- 2021-04-26: Prob not used, but can't hurt?
- cron # 98kB download: RasPiOS installs this regardless -- 2022-10-13: Debian 12 needs this added (for now?)
- curl # 254kB download: RasPiOS installs this regardless -- Used to install roles/nodejs and roles/nodered
#- etckeeper # 54kB download: "nobody is really using etckeeper and it's bloating the filesystem every time apt runs" per @jvonau at https://github.com/iiab/iiab/issues/1146
#- exfat-fuse # 28kB download: 2021-07-27: Should no longer be nec with 5.4+ kernels, so let's try commenting it out
#- exfat-utils # 41kB download: Ditto! See also 'ntfs-3g' below
- gawk # 533kB download
- gpg # 884kB download: Debian 12+ (especially!) require this for apt installs of gitea, kolibri, mongodb, yarn
- htop # 109kB download: RasPiOS installs this regardless
- i2c-tools # 78kB download: Low-level bus/chip/register/EEPROM tools e.g. for RTC
- logrotate # 67kB download: RasPiOS installs this regardless
- lshw # 257kB download: For 'lshw -C network' in iiab-diagnostics
#- lynx # 505kB download: Installed by 1-prep's roles/iiab-admin/tasks/main.yml
#- make # 376kB download: 2021-07-27: Currently used by roles/pbx and no other roles
#- ntfs-3g # 379kB download: RasPiOS installs this regardless -- 2021-07-31: But this should no longer be nec with 5.4+ kernels, similar to exfat packages above -- however, see also this symlink warning: https://superuser.com/questions/1050544/mount-with-kernel-ntfs-and-not-ntfs-3g -- and upcoming kernel 5.15 improvements: https://www.phoronix.com/scan.php?page=news_item&px=New-NTFS-Likely-For-Linux-5.15
#- openssh-server # 318kB download: RasPiOS installs this regardless -- this is also installed by 1-prep's roles/sshd/tasks/main.yml to cover all OS's
- pandoc # 19kB download: For /usr/bin/iiab-refresh-wiki-docs
- pastebinit # 47kB download: For /usr/bin/iiab-diagnostics
#- mlocate # 92kB download
- plocate # 97kB download: Faster & smaller than locate & mlocate
#- python3-pip # 337kB download: 2023-03-22: Used to be installed by /opt/iiab/iiab/scripts/ansible -- which would auto-install 'python3-setuptools' and 'python3' etc
#- python3-venv # 1188kB download: 2023-03-22: Already installed by /opt/iiab/iiab/scripts/ansible -- used by roles like {calibre-web, jupyterhub, lokole} -- whereas roles/kalite uses (virtual) package 'virtualenv' for Python 2 -- all these 3+1 IIAB roles install 'python3-venv' for themselves. FYI: Debian 11 no longer auto-installs 'python3-venv' when you install 'python3'
- rsync # 351kB download: RasPiOS installs this regardless
#- screen # 551kB download: Installed by 1-prep's roles/iiab-admin/tasks/main.yml
- sqlite3 # 1054kB download
- tar # 799kB download: RasPiOS installs this regardless
- unzip # 151kB download: RasPiOS installs this regardless
#- usbmount # 18kB download: Moved to roles/usb_lib/tasks/install.yml
- usbutils # 67kB download: RasPiOS installs this regardless -- 2021-07-27: move to roles/usb_lib/tasks/install.yml ?
- wget # 922kB download: RasPiOS installs this regardless
state: present
#- name: "Install 10 yum/dnf packages: avahi, avahi-tools, createrepo, linux-firmware, nss-mdns, openssl, syslog, wpa_supplicant, xml-common, yum-utils (redhat)"

View file

@ -1,10 +1,21 @@
.. |ss| raw:: html
<strike>
.. |se| raw:: html
</strike>
.. |nbsp| unicode:: 0xA0
:trim:
====================
3-base-server README
====================
This 3rd `stage <https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide#ansible>`_ installs base server infra that `Internet-in-a-Box (IIAB) <https://internet-in-a-box.org/>`_ requires, including:
- `MySQL <https://github.com/iiab/iiab/blob/master/roles/mysql>`_ (database underlying many/most user-facing apps). This IIAB role also installs apt package:
- |ss| `MySQL <https://github.com/iiab/iiab/blob/master/roles/mysql>`_ (database underlying many/most user-facing apps). |se| |nbsp| *As of 2023-11-05, MySQL / MariaDB is NO LONGER INSTALLED by 3-base-server — instead it's installed on-demand — as a dependency of Matomo, MediaWiki, Nextcloud, PBX (for FreePBX), WordPress &/or Admin Console.* This IIAB role (roles/mysql) also installs apt package:
- **php{{ php_version }}-mysql** — which forcibly installs **php{{ php_version }}-common**
- `NGINX <https://github.com/iiab/iiab/blob/master/roles/nginx>`_ web server (with Apache in some lingering cases). This IIAB role also installs apt package:
- **php{{ php_version }}-fpm** — which forcibly installs **php{{ php_version }}-cli**, **php{{ php_version }}-common** and **libsodium23**

View file

@ -3,10 +3,13 @@
- name: ...IS BEGINNING =====================================
meta: noop
- name: MYSQL + CORE PHP
include_role:
name: mysql
#when: mysql_install
# 2023-11-05: MySQL (actually MariaDB) had been mandatory, installed on every
# IIAB by 3-base-server. Now installed on demand -- as a dependency of Matomo,
# MediaWiki, Nextcloud, PBX (for FreePBX), WordPress &/or Admin Console.
# - name: MYSQL + CORE PHP
# include_role:
# name: mysql
# #when: mysql_install
# 2021-05-21: Apache role 'httpd' is installed as nec by any of these 6 roles:
#

View file

@ -2,7 +2,7 @@
4-server-options README
=======================
Whereas 3-base-server installs critical packages needed by all, this 4th `stage <https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide#ansible>`_ installs a broad array of *options* ⁠— depending on which server apps will be installed in later stages ⁠— as specified in `/etc/iiab/local_vars.yml <http://FAQ.IIAB.IO#What_is_local_vars.yml_and_how_do_I_customize_it.3F>`_
Whereas 3-base-server installs critical packages needed by all, this 4th `stage <https://github.com/iiab/iiab/wiki/IIAB-Contributors-Guide#ansible>`_ installs a broad array of *options* ⁠— depending on which server apps will be installed in later stages ⁠— as specified in `/etc/iiab/local_vars.yml <http://FAQ.IIAB.IO#What_is_local_vars.yml_and_how_do_I_customize_it%3F>`_
This includes more networking fundamentals, that may further be configured later on.
@ -11,7 +11,7 @@ Specifically, these might be installed:
- Python libraries
- SSH daemon
- Bluetooth for Raspberry Pi
- Instant-sharing of `USB stick content <https://wiki.iiab.io/go/FAQ#Can_teachers_display_their_own_content.3F>`_
- Instant-sharing of `USB stick content <https://wiki.iiab.io/go/FAQ#Can_teachers_display_their_own_content%3F>`_
- CUPS Printing
- Samba for Windows filesystems
- `www_options <https://github.com/iiab/iiab/blob/master/roles/www_options/tasks/main.yml>`_

View file

@ -19,28 +19,6 @@
#when: pylibs_installed is undefined
#when: pylibs_install # Flag might be created in future?
- name: SSHD -- also run by roles/1-prep/tasks/main.yml as required by OpenVPN
include_role:
name: sshd
when: sshd_install
# UNMAINTAINED
- name: Install named / BIND
include_tasks: roles/network/tasks/named.yml
when: named_install is defined and named_install
# UNMAINTAINED
- name: Install dhcpd
include_tasks: roles/network/tasks/dhcpd.yml
when: dhcpd_install is defined and dhcpd_install
# LESS MAINTAINED
- name: Install Squid
include_tasks: roles/network/tasks/squid.yml
when: squid_install and squid_installed is undefined
- name: Install Bluetooth - only on Raspberry Pi
include_role:
name: bluetooth

View file

@ -3,11 +3,6 @@
- name: ...IS BEGINNING ====================================
meta: noop
- name: AZURACAST
include_role:
name: azuracast
when: azuracast_install is defined and azuracast_install
# UNMAINTAINED
- name: DOKUWIKI
include_role:
@ -36,10 +31,11 @@
name: jupyterhub
when: jupyterhub_install
# UNMAINTAINED
- name: LOKOLE
include_role:
name: lokole
when: lokole_install
when: lokole_install is defined and lokole_install
- name: MEDIAWIKI
include_role:

View file

@ -6,12 +6,13 @@
- name: KALITE
include_role:
name: kalite
when: kalite_install
when: kalite_install and (is_ubuntu_2204 or is_ubuntu_2310 or is_debian_12) # Also covers is_linuxmint_21 and is_raspbian_12
- name: KOLIBRI
include_role:
name: kolibri
when: kolibri_install
#when: kolibri_install and python_version is version('3.12', '<') # Debian 13 still uses Python 3.11 (for now!) so really this just avoids Ubuntu 24.04 and 24.10 pre-releases during initial iiab-install. CLARIF: This is all TEMPORARY until learningequality/kolibri#11316 brings Python 3.12 support to Kolibri 0.17 pre-releases (expected very soon).
- name: KIWIX
include_role:
@ -40,10 +41,23 @@
name: pathagar
when: pathagar_install is defined and pathagar_install
# WARNING: Since March 2023, 32-bit RasPiOS can act as 64-bit on RPi 4 and
# RPi 400 (unlike RPi 3!) SEE: https://github.com/iiab/iiab/pull/3422 and #3516
- name: Run command 'dpkg --print-architecture' to identify OS architecture (CPU arch as revealed by ansible_architecture ~= ansible_machine is NO LONGER enough!)
command: dpkg --print-architecture
register: dpkg_arch
when: sugarizer_install
- name: Explain bypassing of Sugarizer install if 32-bit OS
fail: # FORCE IT RED THIS ONCE!
msg: "BYPASSING SUGARIZER INSTALL ATTEMPT, as Sugarizer Server 1.5.0 requires MongoDB 3.2+ which is NO LONGER SUPPORTED on 32-bit Raspberry Pi OS. 'dpkg --print-architecture' output for your OS: {{ dpkg_arch.stdout }}"
when: sugarizer_install and not dpkg_arch.stdout is search("64")
ignore_errors: True
- name: SUGARIZER
include_role:
name: sugarizer
when: sugarizer_install
when: sugarizer_install and dpkg_arch.stdout is search("64")
- name: Recording STAGE 7 HAS COMPLETED ========================
lineinfile:

View file

@ -6,23 +6,23 @@
- name: TRANSMISSION
include_role:
name: transmission
when: transmission_install
when: transmission_install and not (is_ubuntu_2404 or is_ubuntu_2410 or is_ubuntu_2504) # Also excludes is_linuxmint_22, for #3756 (whereas Debian 13 works great!)
- name: AWSTATS
include_role:
name: awstats
when: awstats_install
- name: MATOMO
include_role:
name: matomo
when: matomo_install
- name: MONIT
include_role:
name: monit
when: monit_install
- name: MUNIN
include_role:
name: munin
when: munin_install
- name: PHPMYADMIN
include_role:
name: phpmyadmin

View file

@ -3,16 +3,34 @@
- name: ...IS BEGINNING ====================================
meta: noop
# Is porting to Python 3 complete, and if so does this belong elsewhere?
- name: AZURACAST
include_role:
name: azuracast
when: azuracast_install
# Porting to Python 3 is complete: does this belong elsewhere?
- name: CAPTIVE PORTAL
include_role:
name: captiveportal
when: captiveportal_install
# WARNING: Since March 2023, 32-bit RasPiOS can act as 64-bit on RPi 4 and
# RPi 400 (unlike RPi 3!) SEE: https://github.com/iiab/iiab/pull/3516
- name: Run command 'dpkg --print-architecture' to identify OS architecture (CPU arch as revealed by ansible_architecture ~= ansible_machine is NO LONGER enough!)
command: dpkg --print-architecture
register: dpkg_arch
when: internetarchive_install
- name: Explain bypassing of Internet Archive install if 32-bit OS
fail: # FORCE IT RED THIS ONCE!
msg: "BYPASSING INTERNET ARCHIVE PER https://github.com/iiab/iiab/issues/3641 -- 'dpkg --print-architecture' output for your OS: {{ dpkg_arch.stdout }}"
when: internetarchive_install and not dpkg_arch.stdout is search("64")
ignore_errors: True
- name: INTERNETARCHIVE
include_role:
name: internetarchive
when: internetarchive_install
when: internetarchive_install and dpkg_arch.stdout is search("64")
- name: MINETEST
include_role:
@ -37,12 +55,46 @@
name: pbx
when: pbx_install
- name: "2021-06-27 TEMPORARY CODE TO INSTALL 'php-pear' UNTIL ADMIN CONSOLE DECLARES ITS OWN DEPENDENCY FOR: https://github.com/iiab/iiab-admin-console/blob/master/roles/cmdsrv/tasks/main.yml#L19"
package:
name: php-pear # WARNING: this also drags in 'php{{ php_version }}-xml' (also installed by MediaWiki, Nextcloud, roles/pbx's FreePBX, WordPress) AND 'php{{ php_version }}-cgi' (also installed by roles/pbx's FreePBX)
state: present
- name: '2023-11-05 / TEMPORARY UNTIL ADMIN CONSOLE DECLARES ITS DEPENDENCY: Install MySQL (MariaDB) if admin_console_install (for setup-feedback and record_feedback.php)'
set_fact:
mysql_install: True
mysql_enabled: True
when: admin_console_install
- name: '2023-11-05 / TEMPORARY UNTIL ADMIN CONSOLE DECLARES ITS DEPENDENCY: Install MySQL (MariaDB) if admin_console_install (for setup-feedback and record_feedback.php)'
include_role:
name: mysql
when: admin_console_install
- name: '2023-11-05 / TEMPORARY UNTIL ADMIN CONSOLE DECLARES ITS DEPENDENCY: Install MySQL (MariaDB) if admin_console_install (for setup-feedback and record_feedback.php)'
fail:
msg: "Admin Console install cannot proceed, as MySQL / MariaDB is not installed."
when: admin_console_install and mysql_installed is undefined
# 2023-11-05: Moved from Stage 8, as it acts on mysql_installed (that might be set just above!)
- name: MUNIN
include_role:
name: munin
when: munin_install
- name: Read 'disk_used_a_priori' from /etc/iiab/iiab.ini
set_fact:
df1: "{{ lookup('ansible.builtin.ini', 'disk_used_a_priori', section='summary', file=iiab_ini_file) }}"
- name: Record currently used disk space, to compare with original 'disk_used_a_priori'
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add ESTIMATED 'iiab_software_disk_usage = {{ df2.stdout|int - df1|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: summary
option: iiab_software_disk_usage
value: "{{ df2.stdout|int - df1|int }}"
- name: Recording STAGE 9 HAS COMPLETED ====================
lineinfile:
path: "{{ iiab_env_file }}"

View file

@ -1,3 +1,8 @@
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: 'Install package: awstats'
package:
name: awstats
@ -83,7 +88,7 @@
# when: awstats_enabled and not is_debuntu
- name: "Summarize logs up to now: /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=schoolserver -update"
shell: /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=schoolserver -update
command: /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -config=schoolserver -update
- name: Install /etc/nginx/cgi-bin.php from template
template:
@ -93,6 +98,17 @@
# RECORD AWStats AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'awstats_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: awstats
option: awstats_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'awstats_installed: True'"
set_fact:
awstats_installed: True

View file

@ -19,27 +19,34 @@
quiet: yes
- name: Install AWStats if 'awstats_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: awstats_installed is undefined
- block:
- name: Install AWStats if 'awstats_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: awstats_installed is undefined
- name: Enable/Disable/Restart NGINX
include_tasks: nginx.yml
- name: Enable/Disable/Restart NGINX
include_tasks: nginx.yml
- name: Add 'awstats' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: awstats
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: AWStats
- option: description
value: '"AWStats (originally known as Advanced Web Statistics) is a package written in Perl which generates static or dynamic html summaries based upon web server logs."'
- option: awstats_install
value: "{{ awstats_install }}"
- option: awstats_enabled
value: "{{ awstats_enabled }}"
- name: Add 'awstats' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: awstats
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: AWStats
- option: description
value: '"AWStats (originally known as Advanced Web Statistics) is a package written in Perl which generates static or dynamic html summaries based upon web server logs."'
- option: awstats_install
value: "{{ awstats_install }}"
- option: awstats_enabled
value: "{{ awstats_enabled }}"
rescue:
- name: 'SEE ERROR ABOVE (skip_role_on_error: {{ skip_role_on_error }})'
fail:
msg: ""
when: not skip_role_on_error

View file

@ -261,7 +261,7 @@ AllowToUpdateStatsFromBrowser=1
# 3 - Possible on CLI and CGI
# Default: 2
#
AllowFullYearView=2
AllowFullYearView=3

View file

@ -1,19 +1,47 @@
==========
================
AzuraCast README
==========
================
This playbook adds `AzuraCast <https://azuracast.com/>`_ to Internet-in-a-Box (IIAB) for network radio station functionality. With 'AzuraCast' you and your community can schedule podcasts, music, and even do live streaming of audio content. A variety of streaming formats are supported.
Install `AzuraCast <https://azuracast.com/>`_ with your `Internet-in-a-Box (IIAB) <https://internet-in-a-box.org/>`_ if you want a simple, self-hosted "web radio station" with a modern web UI/UX. You and your community can then schedule newscasts, podcasts, music, and even do live streaming of audio content (video streaming might also be possible in future!)
Please see AzuraCast's `screenshots <https://www.azuracast.com/about/screenshots.html>`_.
As soon as you install AzuraCast with IIAB, it can stream MP3 files (and similar files) using `LiquidSoap <https://docs.azuracast.com/en/developers/liquidsoap>`_ to help you schedule or randomize playback of MP3 songs (and similar).
As of 2019-08-04, this will only run on Ubuntu 18.04, and tentatively on Debian 10 "Buster" (`#1766 <https://github.com/iiab/iiab/issues/1766>`_). Support for Raspberry Pi remains a goal for now — please if you can, consider helping us solve this critical challenge (`#1772 <https://github.com/iiab/iiab/issues/1772>`_, `AzuraCast/AzuraCast#332 <https://github.com/AzuraCast/AzuraCast/issues/332>`_).
Please see AzuraCast's `screenshots <https://www.google.com/search?q=azuracast+screenshot&tbm=isch>`_ and `docs <./README.rst#azuracast-docs>`_. Community implementation examples:
* https://twitter.com/internet_in_box/status/1564986581664014342
* https://youtu.be/XfiFiOi46mk
Optionally, live-streaming can also be made to work, e.g. if you install `Mixxx or BUTT <https://docs.azuracast.com/en/user-guide/streaming-software>`_ on your own. (If so, you have many options to configure streaming with `Icecast <https://icecast.org/>`_, `Shoutcast <https://www.shoutcast.com/>`_, etc.)
Requirements
------------
AzuraCast recommends `2-to-4 GB RAM minimum <https://docs.azuracast.com/en/getting-started/requirements#system-requirements>`_.
As of 2022-08-31, AzuraCast should run on Ubuntu 22.04 and **64-bit** Raspberry Pi OS: `#1772 <https://github.com/iiab/iiab/issues/1772>`_, `AzuraCast/AzuraCast#332 <https://github.com/AzuraCast/AzuraCast/issues/332>`_, `PR #2946 <https://github.com/iiab/iiab/pull/2946>`_
Other Linux distributions may also work, at your own risk, especially if Docker runs smoothly.
NOTE: AzuraCast was designed to be installed *just once* on a fresh OS. So ``./runrole --reinstall azuracast`` is not supported in general. However, if you accidentally damage your AzuraCast software, IIAB has posted `technical tips <./tasks/install.yml>`_ *(use at your own risk!)* in case of emergency.
Using It
--------
* Do a normal IIAB install (http://download.iiab.io), making sure to set both variables ``azuracast_install`` and ``azuracast_enabled`` to ``True`` when it prompts you to edit `/etc/iiab/local_vars.yml <http://FAQ.IIAB.IO#What_is_local_vars.yml_and_how_do_I_customize_it.3F>`_, as you begin the installation.
* When the IIAB software install completes, it will ask you to reboot, and AzuraCast's console will then be available at http://box.lan:10080
* This console site will prompt you to complete AzuraCast's initial setup: user accounts, managing stations, radio streams, etc.
* Do a normal IIAB install (https://download.iiab.io), making sure to set both variables ``azuracast_install`` and ``azuracast_enabled`` to ``True`` when IIAB's installer prompts you to edit `/etc/iiab/local_vars.yml <http://FAQ.IIAB.IO#What_is_local_vars.yml_and_how_do_I_customize_it%3F>`_
* When the IIAB software install completes, it will ask you to reboot, and AzuraCast's console will then be available at http://box.lan:12080
* That console site will prompt you to complete AzuraCast's initial setup: user accounts, managing stations, radio streams, etc.
* Finally, check out some `how-to videos <https://www.youtube.com/watch?v=b1Rxlu5P804>`_ to learn to manage your own radio station!
Note: When creating a station using AzuraCast's console, its default streaming ports for ``station`` and ``autodj`` need to be in the `port range 10000-10100 <https://github.com/iiab/iiab/wiki/IIAB-Networking#list-of-ports--services>`_.
NOTE: When creating a station using AzuraCast's console, its default streaming ports for ``station`` and ``autodj`` need to be in the `port range 10000-10499 <https://github.com/iiab/iiab/wiki/IIAB-Networking#list-of-ports--services>`_ (ports 12080 and 12443 may also be required!)
AzuraCast Docs
--------------
- https://docs.azuracast.com
- https://docs.azuracast.com/en/getting-started/installation/post-installation-steps
- https://docs.azuracast.com/en/getting-started/settings
- https://docs.azuracast.com/en/getting-started/updates (can *DAMAGE* AzuraCast as of 2022-09-28)
- https://docs.azuracast.com/en/user-guide/streaming-software
- https://docs.azuracast.com/en/user-guide/troubleshooting
- https://docs.azuracast.com/en/user-guide/logs
- https://docs.azuracast.com/en/administration/docker

View file

@ -1,15 +1,15 @@
# A full-featured online radio station suite.
# Works on Ubuntu 18.04, Debian 9, 10. Uses docker
# A full-featured online radio station suite. Uses Docker.
# README: https://github.com/iiab/iiab/tree/master/roles/azuracast#readme
# azuracast_install: False
# azuracast_enabled: False
# azuracast_enabled: False # This var is currently IGNORED
# azuracast_http_port: 10080
# azuracast_https_port: 10443
# azuracast_http_port: 12080
# azuracast_https_port: 12443
## AzuraCast needs many ports in the 8000:8100 range by default, but IIAB services
## conflict with those ports so this variable below sets a sane prefix.
## e.g. setting the below variable to 10 will result in port ranges 10000-10100
## AzuraCast needs many ports in the 8000:8496 range by default, but IIAB
## services conflict, so this variable below sets a sane prefix.
## e.g. setting the below variable to 10 will result in port range 10000-10499
## being reserved for AzuraCast:
# azuracast_port_range_prefix: 10

View file

@ -1,23 +1,49 @@
# 2022-09-29: './runrole --reinstall azuracast' is NOT supported!
#
# 1. But if you must, first completely uninstall Docker + WIPE AzuraCast data:
#
# apt purge docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin
# rm -rf /library/docker /var/lib/docker /var/lib/containerd
#
# Per https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine
#
# 2. REBOOT to avoid later problems with 'systemctl status docker' -- if you
# don't reboot, Ansible will fail below when 'docker.sh install' fails to
# start docker.service -- likewise if you run './docker.sh install-docker'
# manually in /opt/azuracast. Either way, 'systemctl restart docker' won't
# work for ~2 minutes. (Rebooting avoids all these hassles!)
#
# 3. Just FYI the Docker install process will rebuild its 11 core directories
# in /var/lib/docker -> /library/docker: (as 'docker.sh install' begins)
#
# buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
#
# 4. Just FYI both MySQL passwords (MYSQL_PASSWORD & MYSQL_ROOT_PASSWORD) will
# be WIPED from /opt/azuracast/azuracast.env (and new passwords
# auto-generated below, for use inside AzuraCast's Docker container).
#
# 5. Run './runrole --reinstall azuracast' in /opt/iiab/iiab
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: AzuraCast - Make config directory {{ azuracast_host_dir }}
file:
file:
path: "{{ azuracast_host_dir }}"
state: directory
- name: AzuraCast - Install {{ azuracast_host_dir }}/.env from template
template:
src: env.j2
src: prod.env.j2
dest: "{{ azuracast_host_dir }}/.env"
#owner: root
#group: root
mode: 0644
- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template
- name: AzuraCast - Install {{ azuracast_host_dir }}/azuracast.env for altered ports
template:
src: docker-compose.override.yml.j2
dest: "{{ azuracast_host_dir }}/docker-compose.override.yml"
#owner: root
#group: root
mode: 0644
src: azuracast.env.j2
dest: "{{ azuracast_host_dir }}/azuracast.env"
- name: AzuraCast - Download {{ docker_sh_url }} to {{ azuracast_host_dir }}
get_url:
@ -26,13 +52,6 @@
mode: 0755
timeout: "{{ download_timeout }}"
- name: AzuraCast - Download AzuraCast's docker-compose.yml sample from GitHub to {{ azuracast_host_dir }}
get_url:
url: "{{ docker_compose_url }}"
dest: "{{ azuracast_host_dir }}/docker-compose.yml"
mode: 0755
timeout: "{{ download_timeout }}"
#- name: AzuraCast - Make changes to docker.sh script so it runs headless
# lineinfile:
# path: "{{ azuracast_host_dir }}/docker.sh"
@ -40,27 +59,45 @@
# line: "\\1reply='Y'"
# backrefs: yes
# 2022-09-28: https://docs.azuracast.com/en/getting-started/installation/docker
# (& testing) confirm this is done automatically by 'docker.sh install' below.
#
# - name: AzuraCast - Download AzuraCast's docker-compose.yml sample from GitHub to {{ azuracast_host_dir }}
# get_url:
# url: "{{ docker_compose_url }}"
# dest: "{{ azuracast_host_dir }}/docker-compose.yml"
# timeout: "{{ download_timeout }}"
#- name: AzuraCast - Install {{ azuracast_host_dir }}/docker-compose.override.yml from template
# template:
# src: docker-compose.override.yml.j2
# dest: "{{ azuracast_host_dir }}/docker-compose.override.yml"
#- name: Change default port number range 8xxx:8xxx to {{ azuracast_port_range_prefix }}xxx:{{ azuracast_port_range_prefix }}xxx icecast-stations in docker-compose.yml
# replace:
# path: "{{ azuracast_host_dir }}/docker-compose.yml"
# regexp: "^( *- \\')8([0-9]{3})\\:8([0-9]{3}\\'.*)$"
# replace: "\\g<1>{{ azuracast_port_range_prefix }}\\g<2>:{{ azuracast_port_range_prefix }}\\g<3>"
- name: AzuraCast - Make directory {{ docker_container_dir }}
file:
file:
path: "{{ docker_container_dir }}"
state: directory
- name: AzuraCast - Symlink /var/lib/docker -> {{ docker_container_dir }}
file:
src: "{{ docker_container_dir }}"
path: /var/lib/docker
state: link
state: link
- name: Change default port number range 8xxx:8xxx to {{ azuracast_port_range_prefix }}xxx:{{ azuracast_port_range_prefix }}xxx icecast-stations in docker-compose.yml
replace:
path: "{{ azuracast_host_dir }}/docker-compose.yml"
regexp: "^( *- \\')8([0-9]{3})\\:8([0-9]{3}\\'.*)$"
replace: "\\g<1>{{ azuracast_port_range_prefix }}\\g<2>:{{ azuracast_port_range_prefix }}\\g<3>"
- name: AzuraCast - Setup for stable channel install
shell: "yes 'Y' | /bin/bash docker.sh setup-release"
args:
chdir: "{{ azuracast_host_dir }}"
# 2022-09-28: "yes 'Y'" toggled whatever it found in /opt/azuracast/.env (e.g.
# AZURACAST_VERSION=stable from templates/prod.env.j2) to the opposite (e.g.
# AZURACAST_VERSION=latest). Let's not modify /opt/azuracast/.env unless nec!
#
# - name: AzuraCast - Setup for stable channel install
# shell: "yes 'Y' | /bin/bash docker.sh setup-release"
# args:
# chdir: "{{ azuracast_host_dir }}"
- name: AzuraCast - Run the installer
shell: "yes '' | /bin/bash docker.sh install"
@ -70,6 +107,17 @@
# RECORD AzuraCast AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'azuracast_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: azuracast
option: azuracast_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'azuracast_installed: True'"
set_fact:
azuracast_installed: True

View file

@ -19,25 +19,32 @@
quiet: yes
- name: Install AzuraCast if 'azuracast_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: azuracast_installed is undefined
- block:
- name: Install AzuraCast if 'azuracast_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: azuracast_installed is undefined
# TODO figure out what to turn off/on for AzuraCast
# - include_tasks: enable-or-disable.yml
# TODO figure out what to turn off/on for AzuraCast
# - include_tasks: enable-or-disable.yml
- name: Add 'azuracast' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: azuracast
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: azuracast
- option: description
value: '"AzuraCast is simple, self-hosted web radio. Use it to schedule student newscasts, podcasts, music (e.g. MP3''s and similar) and even do live-streaming."'
- option: enabled
value: "{{ azuracast_enabled }}"
- name: Add 'azuracast' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: azuracast
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: azuracast
- option: description
value: '"AzuraCast is a self-hosted, all-in-one radio station platform. Use AzuraCast to schedule podcasts, music, and even do live streaming of audio content. A variety of streaming formats are supported."'
- option: enabled
value: "{{ azuracast_enabled }}"
rescue:
- name: 'SEE ERROR ABOVE (skip_role_on_error: {{ skip_role_on_error }})'
fail:
msg: ""
when: not skip_role_on_error

View file

@ -0,0 +1,16 @@
# work in progress might never be ready as the web interface has setting that would need to match
location /azuracast/
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /azureacast;
proxy_pass http://127.0.0.1:{{ azuracast_http_port }};
}
location /radio/ {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /radio;
proxy_pass http://127.0.0.1:{{ azuracast_http_port }};
}

View file

@ -0,0 +1,155 @@
# IIAB version for altered ports
#
# AzuraCast Customization
#
# The application environment.
# Valid options: production, development, testing
APPLICATION_ENV=production
# Manually modify the logging level.
# This allows you to log debug-level errors temporarily (for problem-solving) or reduce
# the volume of logs that are produced by your installation, without needing to modify
# whether your installation is a production or development instance.
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
# LOG_LEVEL=notice
# Enable the composer "merge" functionality to combine the main application's
# composer.json file with any plugins' composer files.
# This can have performance implications, so you should only use it if
# you use one or more plugins with their own Composer dependencies.
# Valid options: true, false
COMPOSER_PLUGIN_MODE=false
# The minimum port number to use when automatically assigning ports to a station.
# By default, this matches the first forwarded port on the "stations" container.
# You can modify this variable if your station port range is different.
# Be sure to also forward the necessary ports via `docker-compose.yml`
# (and nginx, if you want to use the built-in port-80/443 proxy)!
AUTO_ASSIGN_PORT_MIN="{{ azuracast_port_range_prefix }}000"
# The maximum port number to use when automatically assigning ports to a station.
# See AUTO_ASSIGN_PORT_MIN.
AUTO_ASSIGN_PORT_MAX="{{ azuracast_port_range_prefix }}499"
#
# Database Configuration
# --
# Once the database has been installed, DO NOT CHANGE these values!
#
# The host to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: mariadb
MYSQL_HOST=mariadb
# The port to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: 3306
MYSQL_PORT=3306
# The username AzuraCast will use to connect to the database.
# Default: azuracast
MYSQL_USER=azuracast
# The password AzuraCast will use to connect to the database.
# By default, the database is not exposed to the Internet at all and this is only
# an internal password used by the service itself.
# Default: azur4c457
MYSQL_PASSWORD=azur4c457
# The name of the AzuraCast database.
# Default: azuracast
MYSQL_DATABASE=azuracast
# Automatically generate a random root password upon the first database spin-up.
# This password will be visible in the mariadb container's logs.
# Default: yes
MYSQL_RANDOM_ROOT_PASSWORD=yes
# Log slower queries for the purpose of diagnosing issues. Only turn this on when
# you need to, by uncommenting this and switching it to 1.
# To read the slow query log once enabled, run:
# docker-compose exec mariadb slow_queries
# Default: 0
MYSQL_SLOW_QUERY_LOG=0
# Set the amount of allowed connections to the database. This value should be increased
# if you are seeing the `Too many connections` error in the logs.
# Default: 100
MYSQL_MAX_CONNECTIONS=100
#
# Redis Configuration
#
# Uncomment these fields if you are using a third-party Redis host instead of the one provided with AzuraCast.
# Do not modify these fields if you are using the standard AzuraCast Redis host.
#
# Whether to use the Redis cache; if set to false, will disable Redis and use flatfile cache instead.
# Default: true
# ENABLE_REDIS=true
# Name of the Redis host.
# Default: redis
# REDIS_HOST=redis
# Port to connect to on the Redis host.
# Default: 6379
# REDIS_PORT=6379
# Database index to use on the Redis host.
# Default: 1
# REDIS_DB=1
#
# Advanced Configuration
#
# PHP's maximum POST body size and max upload filesize.
# PHP_MAX_FILE_SIZE=25M
# PHP's maximum memory limit.
# PHP_MEMORY_LIMIT=128M
# PHP's maximum script execution time (in seconds).
# PHP_MAX_EXECUTION_TIME=30
# The maximum execution time (and lock timeout) for the 15-second, 1-minute and 5-minute synchronization tasks.
# SYNC_SHORT_EXECUTION_TIME=600
# The maximum execution time (and lock timeout) for the 1-hour synchronization task.
# SYNC_LONG_EXECUTION_TIME=1800
# Maximum number of PHP-FPM worker processes to spawn.
# PHP_FPM_MAX_CHILDREN=5
#
# PHP-SPX profiling extension Configuration
#
# These environment variables allow you to enable and configure the PHP-SPX profiling extension
# which can be helpful when debugging resource issues in AzuraCast.
#
# The profiling dashboard can be accessed by visting https://yourdomain.com/?SPX_KEY=dev&SPX_UI_URI=/
# If you change the PROFILING_EXTENSION_HTTP_KEY variable change the value for SPX_KEY accordingly.
#
# Enable the profiling extension.
# Profiling data can be viewed by visiting http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/
# Default: 0
# PROFILING_EXTENSION_ENABLED=0
# Profile ALL requests made to this account.
# This will have significant performance impact on your installation and should only be used in test circumstances.
# Default: 0
# PROFILING_EXTENSION_ALWAYS_ON=0
# Configure the value for the SPX_KEY parameter needed to access the profiling dashboard
# Default: dev
# PROFILING_EXTENSION_HTTP_KEY=dev
# Configure the IP whitelist for the profiling dashboard
# By default only localhost is allowed to access this page.
# Uncomment this line to enable access for you.
# Default: 127.0.0.1
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*

View file

@ -0,0 +1,155 @@
# https://github.com/AzuraCast/AzuraCast/blob/main/azuracast.sample.env
#
# AzuraCast Customization
#
# The application environment.
# Valid options: production, development, testing
APPLICATION_ENV=production
# Manually modify the logging level.
# This allows you to log debug-level errors temporarily (for problem-solving) or reduce
# the volume of logs that are produced by your installation, without needing to modify
# whether your installation is a production or development instance.
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
# LOG_LEVEL=notice
# Enable the composer "merge" functionality to combine the main application's
# composer.json file with any plugins' composer files.
# This can have performance implications, so you should only use it if
# you use one or more plugins with their own Composer dependencies.
# Valid options: true, false
COMPOSER_PLUGIN_MODE=false
# The minimum port number to use when automatically assigning ports to a station.
# By default, this matches the first forwarded port on the "stations" container.
# You can modify this variable if your station port range is different.
# Be sure to also forward the necessary ports via `docker-compose.yml`
# (and nginx, if you want to use the built-in port-80/443 proxy)!
AUTO_ASSIGN_PORT_MIN=8000
# The maximum port number to use when automatically assigning ports to a station.
# See AUTO_ASSIGN_PORT_MIN.
AUTO_ASSIGN_PORT_MAX=8499
#
# Database Configuration
# --
# Once the database has been installed, DO NOT CHANGE these values!
#
# The host to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: mariadb
MYSQL_HOST=mariadb
# The port to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: 3306
MYSQL_PORT=3306
# The username AzuraCast will use to connect to the database.
# Default: azuracast
MYSQL_USER=azuracast
# The password AzuraCast will use to connect to the database.
# By default, the database is not exposed to the Internet at all and this is only
# an internal password used by the service itself.
# Default: azur4c457
MYSQL_PASSWORD=azur4c457
# The name of the AzuraCast database.
# Default: azuracast
MYSQL_DATABASE=azuracast
# Automatically generate a random root password upon the first database spin-up.
# This password will be visible in the mariadb container's logs.
# Default: yes
MYSQL_RANDOM_ROOT_PASSWORD=yes
# Log slower queries for the purpose of diagnosing issues. Only turn this on when
# you need to, by uncommenting this and switching it to 1.
# To read the slow query log once enabled, run:
# docker-compose exec mariadb slow_queries
# Default: 0
MYSQL_SLOW_QUERY_LOG=0
# Set the amount of allowed connections to the database. This value should be increased
# if you are seeing the `Too many connections` error in the logs.
# Default: 100
MYSQL_MAX_CONNECTIONS=100
#
# Redis Configuration
#
# Uncomment these fields if you are using a third-party Redis host instead of the one provided with AzuraCast.
# Do not modify these fields if you are using the standard AzuraCast Redis host.
#
# Whether to use the Redis cache; if set to false, will disable Redis and use flatfile cache instead.
# Default: true
# ENABLE_REDIS=true
# Name of the Redis host.
# Default: redis
# REDIS_HOST=redis
# Port to connect to on the Redis host.
# Default: 6379
# REDIS_PORT=6379
# Database index to use on the Redis host.
# Default: 1
# REDIS_DB=1
#
# Advanced Configuration
#
# PHP's maximum POST body size and max upload filesize.
# PHP_MAX_FILE_SIZE=25M
# PHP's maximum memory limit.
# PHP_MEMORY_LIMIT=128M
# PHP's maximum script execution time (in seconds).
# PHP_MAX_EXECUTION_TIME=30
# The maximum execution time (and lock timeout) for the 15-second, 1-minute and 5-minute synchronization tasks.
# SYNC_SHORT_EXECUTION_TIME=600
# The maximum execution time (and lock timeout) for the 1-hour synchronization task.
# SYNC_LONG_EXECUTION_TIME=1800
# Maximum number of PHP-FPM worker processes to spawn.
# PHP_FPM_MAX_CHILDREN=5
#
# PHP-SPX profiling extension Configuration
#
# These environment variables allow you to enable and configure the PHP-SPX profiling extension
# which can be helpful when debugging resource issues in AzuraCast.
#
# The profiling dashboard can be accessed by visting https://yourdomain.com/?SPX_KEY=dev&SPX_UI_URI=/
# If you change the PROFILING_EXTENSION_HTTP_KEY variable change the value for SPX_KEY accordingly.
#
# Enable the profiling extension.
# Profiling data can be viewed by visiting http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/
# Default: 0
# PROFILING_EXTENSION_ENABLED=0
# Profile ALL requests made to this account.
# This will have significant performance impact on your installation and should only be used in test circumstances.
# Default: 0
# PROFILING_EXTENSION_ALWAYS_ON=0
# Configure the value for the SPX_KEY parameter needed to access the profiling dashboard
# Default: dev
# PROFILING_EXTENSION_HTTP_KEY=dev
# Configure the IP whitelist for the profiling dashboard
# By default only localhost is allowed to access this page.
# Uncomment this line to enable access for you.
# Default: 127.0.0.1
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*

View file

@ -0,0 +1,54 @@
# This file was automatically generated by AzuraCast and modified for IIAB
# You can modify it as necessary. To apply changes, restart the Docker containers.
# Remove the leading "#" symbol from lines to uncomment them.
# (Docker Compose) All Docker containers are prefixed by this name. Do not change this after installation.
# Default: azuracast
COMPOSE_PROJECT_NAME=azuracast
# (Docker Compose) The amount of time to wait before a Docker Compose operation fails. Increase this on lower performance computers.
# Default: 300
COMPOSE_HTTP_TIMEOUT=300
# Release Channel
# Valid options: latest, stable
# Default: latest
AZURACAST_VERSION=stable
NGINX_TIMEOUT=1800
# HTTP Port
# The main port AzuraCast listens to for insecure HTTP connections.
# Default: 80
AZURACAST_HTTP_PORT={{ azuracast_http_port }}
# HTTPS Port
# The main port AzuraCast listens to for secure HTTPS connections.
# Default: 443
AZURACAST_HTTPS_PORT={{ azuracast_https_port }}
# SFTP Port
# The port AzuraCast listens to for SFTP file management connections.
# Default: 2022
AZURACAST_SFTP_PORT=2022
# Station Ports
# The ports AzuraCast should listen to for station broadcasts and incoming DJ
# connections.
# Default: 8000,8005,8006,8010,8015,8016,8020,8025,8026,8030,8035,8036,8040,8045,8046,8050,8055,8056,8060,8065,8066,8070,8075,8076,8090,8095,8096,8100,8105,8106,8110,8115,8116,8120,8125,8126,8130,8135,8136,8140,8145,8146,8150,8155,8156,8160,8165,8166,8170,8175,8176,8180,8185,8186,8190,8195,8196,8200,8205,8206,8210,8215,8216,8220,8225,8226,8230,8235,8236,8240,8245,8246,8250,8255,8256,8260,8265,8266,8270,8275,8276,8280,8285,8286,8290,8295,8296,8300,8305,8306,8310,8315,8316,8320,8325,8326,8330,8335,8336,8340,8345,8346,8350,8355,8356,8360,8365,8366,8370,8375,8376,8380,8385,8386,8390,8395,8396,8400,8405,8406,8410,8415,8416,8420,8425,8426,8430,8435,8436,8440,8445,8446,8450,8455,8456,8460,8465,8466,8470,8475,8476,8480,8485,8486,8490,8495,8496
AZURACAST_STATION_PORTS=10000,10005,10006,10010,10015,10016,10020,10025,10026,10030,10035,10036,10040,10045,10046,10050,10055,10056,10060,10065,10066,10070,10075,10076,10080,10085,10086,10090,10095,10096,10100,10105,10106,10110,10115,10116,10120,10125,10126,10130,10135,10136,10140,10145,10146,10150,10155,10156,10160,10165,10166,10170,10175,10176,10180,10185,10186,10190,10195,10196,10200,10205,10206,10210,10215,10216,10220,10225,10226,10230,10235,10236,10240,10245,10246,10250,10255,10256,10260,10265,10266,10270,10275,10276,10280,10285,10286,10290,10295,10296,10300,10305,10306,10310,10315,10316,10320,10325,10326,10330,10335,10336,10340,10345,10346,10350,10355,10356,10360,10365,10366,10370,10375,10376,10380,10385,10386,10390,10395,10396,10400,10405,10406,10410,10415,10416,10420,10425,10426,10430,10435,10436,10440,10445,10446,10450,10455,10456,10460,10465,10466,10470,10475,10476,10480,10485,10486,10490,10495,10496
# Docker User UID
# Set the UID of the user running inside the Docker containers. Matching this
# with your host UID can fix permission issues.
# Default: 1000
AZURACAST_PUID=1000
# Docker User GID
# Set the GID of the user running inside the Docker containers. Matching this
# with your host GID can fix permission issues.
# Default: 1000
AZURACAST_PGID=1000
# Advanced: Use Privileged Docker Settings
# Default: true
AZURACAST_COMPOSE_PRIVILEGED=true

View file

@ -0,0 +1,161 @@
#
# AzuraCast Customization
#
# The application environment.
# Valid options: production, development, testing
APPLICATION_ENV=production
# Manually modify the logging level.
# This allows you to log debug-level errors temporarily (for problem-solving) or reduce
# the volume of logs that are produced by your installation, without needing to modify
# whether your installation is a production or development instance.
# Valid options: debug, info, notice, warning, error, critical, alert, emergency
# LOG_LEVEL=notice
# Enable the composer "merge" functionality to combine the main application's
# composer.json file with any plugins' composer files.
# This can have performance implications, so you should only use it if
# you use one or more plugins with their own Composer dependencies.
# Valid options: true, false
COMPOSER_PLUGIN_MODE=false
# The minimum port number to use when automatically assigning ports to a station.
# By default, this matches the first forwarded port on the "stations" container.
# You can modify this variable if your station port range is different.
# Be sure to also forward the necessary ports via `docker-compose.yml`
# (and nginx, if you want to use the built-in port-80/443 proxy)!
AUTO_ASSIGN_PORT_MIN=8000
# The maximum port number to use when automatically assigning ports to a station.
# See AUTO_ASSIGN_PORT_MIN.
AUTO_ASSIGN_PORT_MAX=8499
# This allows you to debug Slim Application Errors you may encounter
# By default, this is disabled to prevent users from seeing privileged information
# Please report any Slim Application Error logs to the development team on GitHub
# Valid options: true, false
SHOW_DETAILED_ERRORS=false
#
# Database Configuration
# --
# Once the database has been installed, DO NOT CHANGE these values!
#
# The host to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: localhost
# MYSQL_HOST=localhost
# The port to connect to. Leave this as the default value unless you're connecting
# to an external database server.
# Default: 3306
# MYSQL_PORT=3306
# The username AzuraCast will use to connect to the database.
# Default: azuracast
# MYSQL_USER=azuracast
# The password AzuraCast will use to connect to the database.
# By default, the database is not exposed to the Internet at all and this is only
# an internal password used by the service itself.
# Default: azur4c457
MYSQL_PASSWORD=azur4c457
# The name of the AzuraCast database.
# Default: azuracast
# MYSQL_DATABASE=azuracast
# Automatically generate a random root password upon the first database spin-up.
# This password will be visible in the mariadb container's logs.
# Default: yes
MYSQL_RANDOM_ROOT_PASSWORD=yes
# Log slower queries for the purpose of diagnosing issues. Only turn this on when
# you need to, by uncommenting this and switching it to 1.
# To read the slow query log once enabled, run:
# docker-compose exec mariadb slow_queries
# Default: 0
# MYSQL_SLOW_QUERY_LOG=0
# Set the amount of allowed connections to the database. This value should be increased
# if you are seeing the `Too many connections` error in the logs.
# Default: 100
# MYSQL_MAX_CONNECTIONS=100
#
# Redis Configuration
#
# Uncomment these fields if you are using a third-party Redis host instead of the one provided with AzuraCast.
# Do not modify these fields if you are using the standard AzuraCast Redis host.
#
# Whether to use the Redis cache; if set to false, will disable Redis and use flatfile cache instead.
# Default: true
# ENABLE_REDIS=true
# Name of the Redis host.
# Default: localhost
# REDIS_HOST=localhost
# Port to connect to on the Redis host.
# Default: 6379
# REDIS_PORT=6379
# Database index to use on the Redis host.
# Default: 1
# REDIS_DB=1
#
# Advanced Configuration
#
# PHP's maximum POST body size and max upload filesize.
# PHP_MAX_FILE_SIZE=25M
# PHP's maximum memory limit.
# PHP_MEMORY_LIMIT=128M
# PHP's maximum script execution time (in seconds).
# PHP_MAX_EXECUTION_TIME=30
# The maximum execution time (and lock timeout) for the 15-second, 1-minute and 5-minute synchronization tasks.
# SYNC_SHORT_EXECUTION_TIME=600
# The maximum execution time (and lock timeout) for the 1-hour synchronization task.
# SYNC_LONG_EXECUTION_TIME=1800
# Maximum number of PHP-FPM worker processes to spawn.
# PHP_FPM_MAX_CHILDREN=5
#
# PHP-SPX profiling extension Configuration
#
# These environment variables allow you to enable and configure the PHP-SPX profiling extension
# which can be helpful when debugging resource issues in AzuraCast.
#
# The profiling dashboard can be accessed by visting https://yourdomain.com/?SPX_KEY=dev&SPX_UI_URI=/
# If you change the PROFILING_EXTENSION_HTTP_KEY variable change the value for SPX_KEY accordingly.
#
# Enable the profiling extension.
# Profiling data can be viewed by visiting http://your-azuracast-site/?SPX_KEY=dev&SPX_UI_URI=/
# Default: 0
# PROFILING_EXTENSION_ENABLED=0
# Profile ALL requests made to this account.
# This will have significant performance impact on your installation and should only be used in test circumstances.
# Default: 0
# PROFILING_EXTENSION_ALWAYS_ON=0
# Configure the value for the SPX_KEY parameter needed to access the profiling dashboard
# Default: dev
# PROFILING_EXTENSION_HTTP_KEY=dev
# Configure the IP whitelist for the profiling dashboard
# By default only localhost is allowed to access this page.
# Uncomment this line to enable access for you.
# Default: 127.0.0.1
# PROFILING_EXTENSION_HTTP_IP_WHITELIST=*

View file

@ -0,0 +1,214 @@
#
# AzuraCast Docker Compose Configuration File
#
# When updating, you will be prompted to replace this file with a new
# version; you should do this whenever possible to take advantage of
# new updates.
#
# If you need to customize this file, you can create a new file named:
# docker-compose.override.yml
# with any changes you need to make.
#
services:
web:
container_name: azuracast
image: "ghcr.io/azuracast/azuracast:${AZURACAST_VERSION:-latest}"
# Want to customize the HTTP/S ports? Follow the instructions here:
# https://docs.azuracast.com/en/administration/docker#using-non-standard-ports
ports:
- '${AZURACAST_HTTP_PORT:-80}:80'
- '${AZURACAST_HTTPS_PORT:-443}:443'
- '${AZURACAST_SFTP_PORT:-2022}:2022'
# This default mapping is the outgoing and incoming ports for the first 50 stations.
# You can override this port mapping in your own docker-compose.override.yml file.
# For instructions, see:
# https://docs.azuracast.com/en/administration/docker#expanding-the-station-port-range
- '8000:8000'
- '8005:8005'
- '8006:8006'
- '8010:8010'
- '8015:8015'
- '8016:8016'
- '8020:8020'
- '8025:8025'
- '8026:8026'
- '8030:8030'
- '8035:8035'
- '8036:8036'
- '8040:8040'
- '8045:8045'
- '8046:8046'
- '8050:8050'
- '8055:8055'
- '8056:8056'
- '8060:8060'
- '8065:8065'
- '8066:8066'
- '8070:8070'
- '8075:8075'
- '8076:8076'
- '8090:8090'
- '8095:8095'
- '8096:8096'
- '8100:8100'
- '8105:8105'
- '8106:8106'
- '8110:8110'
- '8115:8115'
- '8116:8116'
- '8120:8120'
- '8125:8125'
- '8126:8126'
- '8130:8130'
- '8135:8135'
- '8136:8136'
- '8140:8140'
- '8145:8145'
- '8146:8146'
- '8150:8150'
- '8155:8155'
- '8156:8156'
- '8160:8160'
- '8165:8165'
- '8166:8166'
- '8170:8170'
- '8175:8175'
- '8176:8176'
- '8180:8180'
- '8185:8185'
- '8186:8186'
- '8190:8190'
- '8195:8195'
- '8196:8196'
- '8200:8200'
- '8205:8205'
- '8206:8206'
- '8210:8210'
- '8215:8215'
- '8216:8216'
- '8220:8220'
- '8225:8225'
- '8226:8226'
- '8230:8230'
- '8235:8235'
- '8236:8236'
- '8240:8240'
- '8245:8245'
- '8246:8246'
- '8250:8250'
- '8255:8255'
- '8256:8256'
- '8260:8260'
- '8265:8265'
- '8266:8266'
- '8270:8270'
- '8275:8275'
- '8276:8276'
- '8280:8280'
- '8285:8285'
- '8286:8286'
- '8290:8290'
- '8295:8295'
- '8296:8296'
- '8300:8300'
- '8305:8305'
- '8306:8306'
- '8310:8310'
- '8315:8315'
- '8316:8316'
- '8320:8320'
- '8325:8325'
- '8326:8326'
- '8330:8330'
- '8335:8335'
- '8336:8336'
- '8340:8340'
- '8345:8345'
- '8346:8346'
- '8350:8350'
- '8355:8355'
- '8356:8356'
- '8360:8360'
- '8365:8365'
- '8366:8366'
- '8370:8370'
- '8375:8375'
- '8376:8376'
- '8380:8380'
- '8385:8385'
- '8386:8386'
- '8390:8390'
- '8395:8395'
- '8396:8396'
- '8400:8400'
- '8405:8405'
- '8406:8406'
- '8410:8410'
- '8415:8415'
- '8416:8416'
- '8420:8420'
- '8425:8425'
- '8426:8426'
- '8430:8430'
- '8435:8435'
- '8436:8436'
- '8440:8440'
- '8445:8445'
- '8446:8446'
- '8450:8450'
- '8455:8455'
- '8456:8456'
- '8460:8460'
- '8465:8465'
- '8466:8466'
- '8470:8470'
- '8475:8475'
- '8476:8476'
- '8480:8480'
- '8485:8485'
- '8486:8486'
- '8490:8490'
- '8495:8495'
- '8496:8496'
env_file: azuracast.env
environment:
LANG: ${LANG:-en_US.UTF-8}
AZURACAST_DC_REVISION: 14
AZURACAST_VERSION: ${AZURACAST_VERSION:-latest}
AZURACAST_SFTP_PORT: ${AZURACAST_SFTP_PORT:-2022}
NGINX_TIMEOUT: ${NGINX_TIMEOUT:-1800}
LETSENCRYPT_HOST: ${LETSENCRYPT_HOST:-}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-}
PUID: ${AZURACAST_PUID:-1000}
PGID: ${AZURACAST_PGID:-1000}
volumes:
- www_uploads:/var/azuracast/uploads
- station_data:/var/azuracast/stations
- shoutcast2_install:/var/azuracast/servers/shoutcast2
- stereo_tool_install:/var/azuracast/servers/stereo_tool
- geolite_install:/var/azuracast/geoip
- sftpgo_data:/var/azuracast/sftpgo/persist
- backups:/var/azuracast/backups
- acme:/var/azuracast/acme
- db_data:/var/lib/mysql
restart: unless-stopped
ulimits: &default-ulimits
nofile:
soft: 65536
hard: 65536
logging: &default-logging
options:
max-size: "1m"
max-file: "5"
volumes:
db_data: { }
acme: { }
shoutcast2_install: { }
stereo_tool_install: { }
geolite_install: { }
sftpgo_data: { }
station_data: { }
www_uploads: { }
backups: { }

View file

@ -0,0 +1,840 @@
#!/usr/bin/env bash
# shellcheck disable=SC2145,SC2178,SC2120,SC2162
# Functions to manage .env files
__dotenv=
__dotenv_file=
__dotenv_cmd=.env
.env() {
REPLY=()
[[ $__dotenv_file || ${1-} == -* ]] || .env.--file .env || return
if declare -F -- ".env.${1-}" >/dev/null; then
.env."$@"
return
fi
return 64
}
.env.-f() { .env.--file "$@"; }
.env.get() {
.env::arg "get requires a key" "$@" &&
[[ "$__dotenv" =~ ^(.*(^|$'\n'))([ ]*)"$1="(.*)$ ]] &&
REPLY=${BASH_REMATCH[4]%%$'\n'*} && REPLY=${REPLY%"${REPLY##*[![:space:]]}"}
}
.env.parse() {
local line key
while IFS= read -r line; do
line=${line#"${line%%[![:space:]]*}"} # trim leading whitespace
line=${line%"${line##*[![:space:]]}"} # trim trailing whitespace
if [[ ! "$line" || "$line" == '#'* ]]; then continue; fi
if (($#)); then
for key; do
if [[ $key == "${line%%=*}" ]]; then
REPLY+=("$line")
break
fi
done
else
REPLY+=("$line")
fi
done <<<"$__dotenv"
((${#REPLY[@]}))
}
.env.export() { ! .env.parse "$@" || export "${REPLY[@]}"; }
.env.set() {
.env::file load || return
local key saved=$__dotenv
while (($#)); do
key=${1#+}
key=${key%%=*}
if .env.get "$key"; then
REPLY=()
if [[ $1 == +* ]]; then
shift
continue # skip if already found
elif [[ $1 == *=* ]]; then
__dotenv=${BASH_REMATCH[1]}${BASH_REMATCH[3]}$1$'\n'${BASH_REMATCH[4]#*$'\n'}
else
__dotenv=${BASH_REMATCH[1]}${BASH_REMATCH[4]#*$'\n'}
continue # delete all occurrences
fi
elif [[ $1 == *=* ]]; then
__dotenv+="${1#+}"$'\n'
fi
shift
done
[[ $__dotenv == "$saved" ]] || .env::file save
}
.env.puts() { echo "${1-}" >>"$__dotenv_file" && __dotenv+="$1"$'\n'; }
.env.generate() {
.env::arg "key required for generate" "$@" || return
.env.get "$1" && return || REPLY=$("${@:2}") || return
.env::one "generate: ouptut of '${*:2}' has more than one line" "$REPLY" || return
.env.puts "$1=$REPLY"
}
.env.--file() {
.env::arg "filename required for --file" "$@" || return
__dotenv_file=$1
.env::file load || return
(($# < 2)) || .env "${@:2}"
}
.env::arg() { [[ "${2-}" ]] || {
echo "$__dotenv_cmd: $1" >&2
return 64
}; }
.env::one() { [[ "$2" != *$'\n'* ]] || .env::arg "$1"; }
.env::file() {
local REPLY=$__dotenv_file
case "$1" in
load)
__dotenv=
! [[ -f "$REPLY" ]] || __dotenv="$(<"$REPLY")"$'\n' || return
;;
save)
if [[ -L "$REPLY" ]] && declare -F -- realpath.resolved >/dev/null; then
realpath.resolved "$REPLY"
fi
{ [[ ! -f "$REPLY" ]] || cp -p "$REPLY" "$REPLY.bak"; } &&
printf %s "$__dotenv" >"$REPLY.bak" && mv "$REPLY.bak" "$REPLY"
;;
esac
}
# Shortcut to convert semver version (x.yyy.zzz) into a comparable number.
version-number() {
echo "$@" | awk -F. '{ printf("%03d%03d%03d\n", $1,$2,$3); }'
}
# Get the current release channel for AzuraCast
get-release-channel() {
local AZURACAST_VERSION="latest"
if [[ -f .env ]]; then
.env --file .env get AZURACAST_VERSION
AZURACAST_VERSION="${REPLY:-latest}"
fi
echo "$AZURACAST_VERSION"
}
get-release-branch-name() {
if [[ $(get-release-channel) == "stable" ]]; then
echo "stable"
else
echo "main"
fi
}
# This is a general-purpose function to ask Yes/No questions in Bash, either
# with or without a default answer. It keeps repeating the question until it
# gets a valid answer.
ask() {
# https://djm.me/ask
local prompt default reply
while true; do
if [[ "${2:-}" == "Y" ]]; then
prompt="Y/n"
default=Y
elif [[ "${2:-}" == "N" ]]; then
prompt="y/N"
default=N
else
prompt="y/n"
default=
fi
# Ask the question (not using "read -p" as it uses stderr not stdout)
echo -n "$1 [$prompt] "
read reply
# Default?
if [[ -z "$reply" ]]; then
reply=${default}
fi
# Check if the reply is valid
case "$reply" in
Y* | y*) return 0 ;;
N* | n*) return 1 ;;
esac
done
}
# Generate a prompt to set an environment file value.
envfile-set() {
local VALUE INPUT
.env --file .env
.env get "$1"
VALUE=${REPLY:-$2}
echo -n "$3 [$VALUE]: "
read INPUT
VALUE=${INPUT:-$VALUE}
.env set "${1}=${VALUE}"
}
#
# Configure the ports used by AzuraCast.
#
setup-ports() {
envfile-set "AZURACAST_HTTP_PORT" "80" "Port to use for HTTP connections"
envfile-set "AZURACAST_HTTPS_PORT" "443" "Port to use for HTTPS connections"
envfile-set "AZURACAST_SFTP_PORT" "2022" "Port to use for SFTP connections"
}
#
# Configure release mode settings.
#
setup-release() {
if [[ ! -f .env ]]; then
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/sample.env -o .env
fi
local OLD_RELEASE_CHANNEL
.env --file .env get AZURACAST_VERSION
OLD_RELEASE_CHANNEL="${REPLY:-latest}"
local AZURACAST_VERSION="${OLD_RELEASE_CHANNEL}"
if [[ $AZURACAST_VERSION == "latest" ]]; then
if ask "Your current release channel is 'Rolling Release'. Switch to 'Stable' release channel?" N; then
AZURACAST_VERSION="stable"
fi
elif [[ $AZURACAST_VERSION == "stable" ]]; then
if ask "Your current release channel is 'Stable'. Switch to 'Rolling Release' release channel?" N; then
AZURACAST_VERSION="latest"
fi
fi
.env --file .env set AZURACAST_VERSION=${AZURACAST_VERSION}
if [[ $AZURACAST_VERSION != $OLD_RELEASE_CHANNEL ]]; then
if ask "You should update the Docker Utility Script after changing release channels. Automatically update it now?" Y; then
update-self
fi
fi
}
check-install-requirements() {
local CURRENT_OS CURRENT_ARCH REQUIRED_COMMANDS SCRIPT_DIR
set -e
echo "Checking installation requirements for AzuraCast..."
CURRENT_OS=$(uname -s)
if [[ $CURRENT_OS == "Linux" ]]; then
echo -en "\e[32m[PASS]\e[0m Operating System: ${CURRENT_OS}\n"
else
echo -en "\e[41m[FAIL]\e[0m Operating System: ${CURRENT_OS}\n"
echo " You are running an unsupported operating system."
echo " Automated AzuraCast installation is not currently supported on this"
echo " operating system."
exit 1
fi
CURRENT_ARCH=$(uname -m)
if [[ $CURRENT_ARCH == "x86_64" ]]; then
echo -en "\e[32m[PASS]\e[0m Architecture: ${CURRENT_ARCH}\n"
elif [[ $CURRENT_ARCH == "aarch64" ]]; then
echo -en "\e[32m[PASS]\e[0m Architecture: ${CURRENT_ARCH}\n"
else
echo -en "\e[41m[FAIL]\e[0m Architecture: ${CURRENT_ARCH}\n"
echo " You are running an unsupported processor architecture."
echo " Automated AzuraCast installation is not currently supported on this "
echo " operating system."
exit 1
fi
REQUIRED_COMMANDS=(curl awk)
for COMMAND in "${REQUIRED_COMMANDS[@]}" ; do
if [[ $(command -v "$COMMAND") ]]; then
echo -en "\e[32m[PASS]\e[0m Command Present: ${COMMAND}\n"
else
echo -en "\e[41m[FAIL]\e[0m Command Present: ${COMMAND}\n"
echo " ${COMMAND} does not appear to be installed."
echo " Install ${COMMAND} using your host's package manager,"
echo " then continue installing using this script."
exit 1
fi
done
if [[ $EUID -ne 0 ]]; then
if [[ $(command -v sudo) ]]; then
echo -en "\e[32m[PASS]\e[0m User Permissions\n"
else
echo -en "\e[41m[FAIL]\e[0m User Permissions\n"
echo " You are not currently the root user, and "
echo " 'sudo' does not appear to be installed."
echo " Install sudo using your host's package manager,"
echo " then continue installing using this script."
exit 1
fi
else
echo -en "\e[32m[PASS]\e[0m User Permissions\n"
fi
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
if [[ $SCRIPT_DIR == "/var/azuracast" ]]; then
echo -en "\e[32m[PASS]\e[0m Installation Directory\n"
else
echo -en "\e[93m[WARN]\e[0m Installation Directory\n"
echo " AzuraCast is not installed in /var/azuracast, as is recommended"
echo " for most installations. This will not prevent AzuraCast from"
echo " working, but you will need to update any instructions in our"
echo " documentation to reflect your current directory:"
echo " $SCRIPT_DIR"
fi
echo -en "\e[32m[PASS]\e[0m All requirements met!\n"
set +e
}
install-docker() {
set -e
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
if [[ $EUID -ne 0 ]]; then
sudo usermod -aG docker "$(whoami)"
echo "You must log out or restart to apply necessary Docker permissions changes."
echo "Restart, then continue installing using this script."
exit 1
fi
set +e
}
install-docker-compose() {
set -e
echo "Installing Docker Compose..."
curl -fsSL -o docker-compose https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-$(uname -m)
ARCHITECTURE=amd64
if [ "$(uname -m)" = "aarch64" ]; then
ARCHITECTURE=arm64
fi
curl -fsSL -o docker-compose-switch https://github.com/docker/compose-switch/releases/download/v1.0.4/docker-compose-linux-${ARCHITECTURE}
if [[ $EUID -ne 0 ]]; then
sudo chmod a+x ./docker-compose
sudo chmod a+x ./docker-compose-switch
sudo mv ./docker-compose /usr/libexec/docker/cli-plugins/docker-compose
sudo mv ./docker-compose-switch /usr/local/bin/docker-compose
else
chmod a+x ./docker-compose
chmod a+x ./docker-compose-switch
mv ./docker-compose /usr/libexec/docker/cli-plugins/docker-compose
mv ./docker-compose-switch /usr/local/bin/docker-compose
fi
echo "Docker Compose updated!"
set +e
}
run-installer() {
local AZURACAST_RELEASE_BRANCH
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
if [[ ! -f .env ]]; then
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/sample.env -o .env
fi
if [[ ! -f azuracast.env ]]; then
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/azuracast.sample.env -o azuracast.env
fi
if [[ ! -f docker-compose.yml ]]; then
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.sample.yml -o docker-compose.yml
fi
touch docker-compose.new.yml
local dc_config_test=$(docker-compose -f docker-compose.new.yml config 2>/dev/null)
if [ $? -ne 0 ]; then
if ask "Docker Compose needs to be updated to continue. Update to latest version?" Y; then
install-docker-compose
fi
fi
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.installer.yml -o docker-compose.installer.yml
docker-compose -p azuracast_installer -f docker-compose.installer.yml pull
docker-compose -p azuracast_installer -f docker-compose.installer.yml run --rm installer install "$@"
rm docker-compose.installer.yml
}
#
# Run the initial installer of Docker and AzuraCast.
# Usage: ./docker.sh install
#
install() {
check-install-requirements
if [[ $(command -v docker) && $(docker --version) ]]; then
echo "Docker is already installed! Continuing..."
else
if ask "Docker does not appear to be installed. Install Docker now?" Y; then
install-docker
fi
fi
if [[ $(command -v docker-compose) ]]; then
echo "Docker Compose is already installed. Continuing..."
else
if ask "Docker Compose does not appear to be installed. Install Docker Compose now?" Y; then
install-docker-compose
fi
fi
setup-release
run-installer "$@"
# Installer creates a file at docker-compose.new.yml; copy it to the main spot.
if [[ -s docker-compose.new.yml ]]; then
if [[ -f docker-compose.yml ]]; then
rm docker-compose.yml
fi
mv docker-compose.new.yml docker-compose.yml
fi
# If this script is running as a non-root user, set the PUID/PGID in the environment vars appropriately.
if [[ $EUID -ne 0 ]]; then
.env --file .env set AZURACAST_PUID="$(id -u)"
.env --file .env set AZURACAST_PGID="$(id -g)"
fi
docker-compose pull
docker-compose run --rm web -- azuracast_install "$@"
docker-compose up -d
exit
}
install-dev() {
if [[ $(command -v docker) && $(docker --version) ]]; then
echo "Docker is already installed! Continuing..."
else
if ask "Docker does not appear to be installed. Install Docker now?" Y; then
install-docker
fi
fi
if [[ $(command -v docker-compose) ]]; then
echo "Docker Compose is already installed. Continuing..."
else
if ask "Docker Compose does not appear to be installed. Install Docker Compose now?" Y; then
install-docker-compose
fi
fi
if [[ ! -f docker-compose.yml ]]; then
cp docker-compose.sample.yml docker-compose.yml
fi
if [[ ! -f docker-compose.override.yml ]]; then
cp docker-compose.dev.yml docker-compose.override.yml
fi
if [[ ! -f .env ]]; then
cp dev.env .env
fi
if [[ ! -f azuracast.env ]]; then
cp azuracast.dev.env azuracast.env
echo "Customize azuracast.env file now before continuing. Re-run this command to continue installation."
exit
fi
# If this script is running as a non-root user, set the PUID/PGID in the environment vars appropriately.
if [[ $EUID -ne 0 ]]; then
.env --file .env set AZURACAST_PUID="$(id -u)"
.env --file .env set AZURACAST_PGID="$(id -g)"
fi
chmod 777 ./frontend/ ./web/ ./vendor/ \
./web/static/ ./web/static/api/ \
./web/static/dist/ ./web/static/img/
docker-compose build
docker-compose run --rm web -- azuracast_install "$@"
docker-compose -p azuracast_frontend -f docker-compose.frontend.yml build
docker-compose -p azuracast_frontend -f docker-compose.frontend.yml run --rm frontend npm run build
docker-compose up -d
exit
}
#
# Update the Docker images and codebase.
# Usage: ./docker.sh update
#
update() {
echo "[NOTICE] Before you continue, please make sure you have a recent snapshot of your system and or backed it up."
if ask "Are you ready to continue with the update?" Y; then
# Check for a new Docker Utility Script.
local AZURACAST_RELEASE_BRANCH
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker.sh -o docker.new.sh
local UTILITY_FILES_MATCH
UTILITY_FILES_MATCH="$(
cmp --silent docker.sh docker.new.sh
echo $?
)"
local UPDATE_UTILITY=0
if [[ ${UTILITY_FILES_MATCH} -ne 0 ]]; then
if ask "The Docker Utility Script has changed since your version. Update to latest version?" Y; then
UPDATE_UTILITY=1
fi
fi
if [[ ${UPDATE_UTILITY} -ne 0 ]]; then
mv docker.new.sh docker.sh
chmod a+x docker.sh
echo "A new Docker Utility Script has been downloaded."
echo "Please re-run the update process to continue."
exit
else
rm docker.new.sh
fi
run-installer --update "$@"
# Check for updated Docker Compose config.
local COMPOSE_FILES_MATCH
if [[ ! -s docker-compose.new.yml ]]; then
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.sample.yml -o docker-compose.new.yml
fi
COMPOSE_FILES_MATCH="$(
cmp --silent docker-compose.yml docker-compose.new.yml
echo $?
)"
if [[ ${COMPOSE_FILES_MATCH} -ne 0 ]]; then
docker-compose -f docker-compose.new.yml pull
docker-compose down
cp docker-compose.yml docker-compose.backup.yml
mv docker-compose.new.yml docker-compose.yml
else
rm docker-compose.new.yml
docker-compose pull
docker-compose down
fi
docker-compose run --rm web -- azuracast_update "$@"
docker-compose up -d
if ask "Clean up all stopped Docker containers and images to save space?" Y; then
docker system prune -f
fi
echo "Update complete!"
fi
exit
}
#
# Update this Docker utility script.
# Usage: ./docker.sh update-self
#
update-self() {
local AZURACAST_RELEASE_BRANCH
AZURACAST_RELEASE_BRANCH=$(get-release-branch-name)
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker.sh -o docker.sh
chmod a+x docker.sh
echo "New Docker utility script downloaded."
exit
}
#
# Run a CLI command inside the Docker container.
# Usage: ./docker.sh cli [command]
#
cli() {
docker-compose exec --user="azuracast" web azuracast_cli "$@"
exit
}
#
# Enter the bash terminal of the running web container.
# Usage: ./docker.sh bash
#
bash() {
docker-compose exec --user="azuracast" web bash
exit
}
#
# Enter the MariaDB database management terminal with the correct credentials.
#
db() {
local MYSQL_HOST MYSQL_PORT MYSQL_USER MYSQL_PASSWORD MYSQL_DATABASE
.env --file azuracast.env get MYSQL_HOST
MYSQL_HOST="${REPLY:-localhost}"
.env --file azuracast.env get MYSQL_PORT
MYSQL_PORT="${REPLY:-3306}"
.env --file azuracast.env get MYSQL_USER
MYSQL_USER="${REPLY:-azuracast}"
.env --file azuracast.env get MYSQL_PASSWORD
MYSQL_PASSWORD="${REPLY:-azur4c457}"
.env --file azuracast.env get MYSQL_DATABASE
MYSQL_DATABASE="${REPLY:-azuracast}"
docker-compose exec --user="mysql" web mysql --user=${MYSQL_USER} --password=${MYSQL_PASSWORD} \
--host=${MYSQL_HOST} --port=${MYSQL_PORT} --database=${MYSQL_DATABASE}
exit
}
#
# Back up the Docker volumes to a .tar.gz file.
# Usage:
# ./docker.sh backup [/custom/backup/dir/custombackupname.zip]
#
backup() {
local BACKUP_PATH BACKUP_DIR BACKUP_FILENAME BACKUP_EXT
BACKUP_PATH=$(readlink -f ${1:-"./backup.tar.gz"})
BACKUP_DIR=$(dirname -- "$BACKUP_PATH")
BACKUP_FILENAME=$(basename -- "$BACKUP_PATH")
BACKUP_EXT="${BACKUP_FILENAME##*.}"
shift
# Prepare permissions
if [[ $EUID -ne 0 ]]; then
.env --file .env set AZURACAST_PUID="$(id -u)"
.env --file .env set AZURACAST_PGID="$(id -g)"
fi
docker-compose exec --user="azuracast" web azuracast_cli azuracast:backup "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
# Move from Docker volume to local filesystem
docker run --rm -v "azuracast_backups:/backup_src" \
-v "$BACKUP_DIR:/backup_dest" \
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
}
#
# Restore an AzuraCast backup into Docker.
# Usage:
# ./docker.sh restore [/custom/backup/dir/custombackupname.zip]
#
restore() {
if [[ ! -f .env ]] || [[ ! -f azuracast.env ]]; then
echo "AzuraCast hasn't been installed yet on this server."
echo "You should run './docker.sh install' first before restoring."
exit 1
fi
if ask "Restoring will remove any existing AzuraCast installation data, replacing it with your backup. Continue?" Y; then
if [[ $1 != "" ]]; then
local BACKUP_PATH BACKUP_DIR BACKUP_FILENAME BACKUP_EXT
BACKUP_PATH=$(readlink -f ${1:-"./backup.tar.gz"})
BACKUP_DIR=$(dirname -- "$BACKUP_PATH")
BACKUP_FILENAME=$(basename -- "$BACKUP_PATH")
BACKUP_EXT="${BACKUP_FILENAME##*.}"
shift
if [[ ! -f ${BACKUP_PATH} ]]; then
echo "File '${BACKUP_PATH}' does not exist. Nothing to restore."
exit 1
fi
docker-compose down -v
docker volume create azuracast_backups
# Move from local filesystem to Docker volume
docker run --rm -v "$BACKUP_DIR:/backup_src" \
-v "azuracast_backups:/backup_dest" \
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
# Prepare permissions
if [[ $EUID -ne 0 ]]; then
.env --file .env set AZURACAST_PUID="$(id -u)"
.env --file .env set AZURACAST_PGID="$(id -g)"
fi
docker-compose run --rm web -- azuracast_restore "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
# Move file back from volume to local filesystem
docker run --rm -v "azuracast_backups:/backup_src" \
-v "$BACKUP_DIR:/backup_dest" \
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
docker-compose down
docker-compose up -d
else
docker-compose down
# Remove all volumes except the backup volume.
docker volume rm -f $(docker volume ls | grep -v "azuracast_backups" | awk 'NR>1 {print $2}')
docker-compose run --rm web -- azuracast_restore "$@"
docker-compose down
docker-compose up -d
fi
fi
exit
}
#
# Restore the Docker volumes from a legacy backup format .tar.gz file.
# Usage:
# ./docker.sh restore [/custom/backup/dir/custombackupname.tar.gz]
#
restore-legacy() {
local APP_BASE_DIR BACKUP_PATH BACKUP_DIR BACKUP_FILENAME
APP_BASE_DIR=$(pwd)
BACKUP_PATH=${1:-"./backup.tar.gz"}
BACKUP_DIR=$(cd "$(dirname "$BACKUP_PATH")" && pwd)
BACKUP_FILENAME=$(basename "$BACKUP_PATH")
cd "$APP_BASE_DIR" || exit
if [ -f "$BACKUP_PATH" ]; then
docker-compose down
docker volume rm azuracast_db_data azuracast_station_data
docker volume create azuracast_db_data
docker volume create azuracast_station_data
docker run --rm -v "$BACKUP_DIR:/backup" \
-v azuracast_db_data:/azuracast/db \
-v azuracast_station_data:/azuracast/stations \
busybox tar zxvf "/backup/$BACKUP_FILENAME"
docker-compose up -d
else
echo "File $BACKUP_PATH does not exist in this directory. Nothing to restore."
exit 1
fi
exit
}
#
# DEVELOPER TOOL:
# Access the static console as a developer.
# Usage: ./docker.sh static [static_container_command]
#
static() {
docker-compose -f docker-compose.frontend.yml down -v
docker-compose -f docker-compose.frontend.yml build
docker-compose --env-file=.env -f docker-compose.frontend.yml run --rm frontend "$@"
exit
}
#
# Stop all Docker containers and remove related volumes.
# Usage: ./docker.sh uninstall
#
uninstall() {
if ask "This operation is destructive and will wipe your existing Docker containers. Continue?" N; then
docker-compose down -v
docker-compose rm -f
docker volume prune -f
echo "All AzuraCast Docker containers and volumes were removed."
echo "To remove *all* Docker containers and volumes, run:"
echo " docker stop \$(docker ps -a -q)"
echo " docker rm \$(docker ps -a -q)"
echo " docker volume prune -f"
echo ""
fi
exit
}
#
# LetsEncrypt: Now managed via the Web UI.
#
setup-letsencrypt() {
echo "LetsEncrypt is now managed from within the web interface."
}
letsencrypt-create() {
setup-letsencrypt
exit
}
#
# Utility script to facilitate switching ports.
# Usage: ./docker.sh change-ports
#
change-ports() {
setup-ports
docker-compose down
docker-compose up -d
}
#
# Helper scripts for basic Docker Compose functions
#
up() {
echo "Starting up AzuraCast services..."
docker-compose up -d
}
down() {
echo "Shutting down AzuraCast services..."
docker-compose down
}
restart() {
down
up
}
# Ensure we're in the same directory as this script.
cd "$( dirname "${BASH_SOURCE[0]}" )" || exit
"$@"

View file

@ -0,0 +1 @@
The three file found here are mentioned in docker.sh's run-installer() with 'sample.' added to the filename

View file

@ -0,0 +1,11 @@
COMPOSE_PROJECT_NAME=azuracast
AZURACAST_HTTP_PORT=80
AZURACAST_HTTPS_PORT=443
AZURACAST_SFTP_PORT=2022
AZURACAST_PUID=1000
AZURACAST_PGID=1000
NGINX_TIMEOUT=1800

View file

@ -13,101 +13,179 @@
Calibre-Web README
==================
Calibre-Web provides a clean interface for browsing, reading and downloading
e-books using an existing Calibre database. Teachers can upload e-books,
adjust e-book metadata, and create custom e-book collections ("bookshelves"):
https://github.com/janeczku/calibre-web#about
This Ansible role installs
`Calibre-Web <https://github.com/janeczku/calibre-web#readme>`_ as a modern
client-server alternative to Calibre, for your
`Internet-in-a-Box (IIAB) <https://internet-in-a-box.org>`_.
This Ansible role installs Calibre-Web as part of your Internet-in-a-Box (IIAB)
as a possible alternative to Calibre.
Calibre-Web provides a clean web interface for students to browse, read and
download e-books using a
`Calibre-compatible database <https://manual.calibre-ebook.com/db_api.html>`_.
*WARNING: Calibre-Web depends on Calibre's own /usr/bin/ebook-convert program,
so we strongly recommend you also install Calibre during your IIAB
installation!*
Teachers upload e-books, adjust e-book metadata, and create custom "bookshelf"
collections — to help students build the best local community library!
Please note Calibre-Web's Ansible playbook is ``/opt/iiab/iiab/roles/calibre-web``
whereas its Ansible variables ``calibreweb_*`` do **not** include the dash,
per Ansible recommendations.
**NEW AS OF JANUARY 2024:** `IIAB's experimental new version of Calibre-Web <https://github.com/iiab/calibre-web/wiki>`_
**also lets you add YouTube and Vimeo videos (and local videos, e.g. from
teachers' phones) to expand your indigenous/local/family learning library!**
.. image:: https://www.yankodesign.com/images/design_news/2019/05/221758/luo_beetle_library_8.jpg
🍒 GURU TIPS 🍒
* Calibre-Web takes advantage of Calibre's own `/usr/bin/ebook-convert
<https://manual.calibre-ebook.com/generated/en/ebook-convert.html>`_ program
if that's installed — so consider also installing
`Calibre <https://calibre-ebook.com/whats-new>`_ during your IIAB
installation — *if you tolerate the weighty ~1 GB (of graphical OS libraries)
that Calibre mandates!*
* If you choose to also install Calibre (e.g. by running
``sudo apt install calibre``) then you'll get useful e-book
importing/organizing tools like
`/usr/bin/calibredb <https://manual.calibre-ebook.com/generated/en/calibredb.html>`_.
Install It
----------
Install Calibre-Web by setting these 2 variables in
`/etc/iiab/local_vars.yml <https://wiki.iiab.io/go/FAQ#What_is_local_vars.yml_and_how_do_I_customize_it%3F>`_::
calibreweb_install: True
calibreweb_enabled: True
Then install IIAB (`download.iiab.io <https://download.iiab.io>`_). Or if
IIAB's already installed, run::
cd /opt/iiab/iiab
sudo ./runrole calibre-web
NOTE: Calibre-Web's Ansible role (playbook) in
`/opt/iiab/iiab/roles <https://github.com/iiab/iiab/tree/master/roles>`_ is
``calibre-web`` which contains a hyphen — *whereas its Ansible variables*
``calibreweb_*`` *do NOT contain a hyphen!*
Using It
--------
After installation, try out Calibre-Web at http://box/books (or box.lan/books).
Try Calibre-Web on your own IIAB by browsing to http://box/books (or
http://box.lan/books).
Typically students access it without a password (to read and download books)
whereas teachers add books using an administrative account, as follows::
*Students* access it without a password (to read and download books).
*Teachers* add and arrange books using an administrative account, by clicking
**Guest** then logging in with::
Username: Admin
Password: changeme
If the default configuration is not found, the Calibre-Web server creates a
new settings file with calibre-web's own default administrative account::
🍒 GURU TIPS 🍒
Username: admin
Password: admin123
* If Calibre-Web's configuration file (app.db) goes missing, the administrative
account will revert to::
Backend
-------
Username: admin
Password: admin123
You can manage the backend Calibre-Web server with these systemd commands::
systemctl enable calibre-web
systemctl restart calibre-web
systemctl status calibre-web
systemctl stop calibre-web
* If you lose your password, you can change it with the
``-s [username]:[newpassword]`` command-line option:
https://github.com/janeczku/calibre-web/wiki/FAQ#what-do-i-do-if-i-lose-my-admin-password
Configuration
-------------
To configure Calibre-Web, log in as user 'Admin' then click 'Admin' on top.
Check 'Configuration' options near the bottom of the page.
To configure Calibre-Web browse to http://box/books then click **Guest** to log
in as user **Admin** (default passwords above!)
Critical settings are stored in::
Then click the leftmost **Admin** button to administer — considering all 3
**Configuration** buttons further below.
These critical settings are stored in::
/library/calibre-web/config/app.db
Your e-book metadata is stored in a Calibre-style database::
Whereas your e-book metadata is stored in a Calibre-style database::
/library/calibre-web/metadata.db
Videos' metadata is stored in database::
/library/calibre-web/xklb-metadata.db
See also::
/library/calibre-web/metadata_db_prefs_backup.json
See the official docs on Calibre-Web's `Runtime Configuration Options <https://github.com/janeczku/calibre-web/wiki/Configuration>`_.
Finally, take note of Calibre-Web's
`FAQ <https://github.com/janeczku/calibre-web/wiki/FAQ>`_ and official docs on
its
`Runtime Configuration Options <https://github.com/janeczku/calibre-web/wiki/Configuration>`_
and
`Command Line Interface <https://github.com/janeczku/calibre-web/wiki/Command-Line-Interface>`_.
Backend
-------
You can manage the backend Calibre-Web server with systemd commands like::
systemctl status calibre-web
systemctl stop calibre-web
systemctl restart calibre-web
Run all commands
`as root <https://unix.stackexchange.com/questions/3063/how-do-i-run-a-command-as-the-system-administrator-root>`_.
Errors and warnings can be seen if you run::
journalctl -u calibre-web
Log verbosity level can be
`adjusted <https://github.com/janeczku/calibre-web/wiki/Configuration#logfile-configuration>`_
within Calibre-Web's **Configuration > Basic Configuration > Logfile
Configuration**.
Finally, http://box/live/stats (Calibre-Web's **About** page) can be a very
useful list of ~42 `Calibre-Web dependencies <https://github.com/janeczku/calibre-web/wiki/Dependencies-in-Calibre-Web-Linux-and-Windows>`_
(mostly Python packages, and the version number of each that's installed).
Back Up Everything
------------------
Please back up the entire folder ``/library/calibre-web`` before upgrading —
as it contains your Calibre-Web content **and** settings!
as it contains your Calibre-Web content **and** configuration settings!
Upgrading
---------
Reinstalling Calibre-Web automatically upgrades to the latest version if your
Internet-in-a-Box (IIAB) is online.
Please see our `new/automated upgrade technique (iiab-update) <https://github.com/iiab/calibre-web/wiki#upgrading>`_
introduced in July 2024.
But first: back up your content **and** settings, as explained above.
But first: back up your content **and** configuration settings, as outlined
above!
**Then move your /library/calibre-web/metadata.db out of the way, if you're
sure you want to (re)install bare/minimal metadata, and force all Calibre-Web
settings to the default. Then run**::
**Conversely if you're sure you want to fully reset your Calibre-Web settings,
and remove all existing e-book/video/media metadata — then move your
/library/calibre-web/config/app.db, /library/calibre-web/metadata.db and
/library/calibre-web/xklb-metadata.db out of the way.**
RECAP: Either way, "reinstalling" Calibre-Web automatically installs the latest
version — so long as your Internet-in-a-Box (IIAB) is online. Most people
should stick with the new ``iiab-update`` technique above. However if you must
use the older/manual approach, you would need to run, as root::
cd /opt/iiab/iiab
./runrole calibre-web
Or, to reinstall all of IIAB::
./runrole --reinstall calibre-web
cd /opt/iiab/iiab
./iiab-install --reinstall
Or, if there's a need to try updating Calibre-Web's code alone::
Or, if you just want to upgrade Calibre-Web code alone, prior to proceeding
manually::
cd /opt/iiab/calibre-web
cd /usr/local/calibre-web-py3
git pull
Finally, this much older way is *no longer recommended*::
cd /opt/iiab/iiab
./iiab-install --reinstall # OR: ./iiab-configure
Known Issues
------------
@ -153,7 +231,7 @@ Known Issues
* |ss| Imagemagick policy prevents generating thumbnails for PDF's during upload: `#1530 <https://github.com/iiab/iiab/issues/1530>`_ `janeczku/calibre-web#827 <https://github.com/janeczku/calibre-web/issues/827>`_ |se|
* Upload of not supported file formats gives no feedback to the user: `janeczku/calibre-web#828 <https://github.com/janeczku/calibre-web/issues/828>`_
* |ss| Upload of not supported file formats gives no feedback to the user: `janeczku/calibre-web#828 <https://github.com/janeczku/calibre-web/issues/828>`_ |se| |nbsp| Fixed by `361a124 <https://github.com/janeczku/calibre-web/commit/361a1243d732116e6f520fabbaae017068b86037>`_ on 2019-02-27.
* *Please assist us in reporting serious issues here:*
https://github.com/janeczku/calibre-web/issues
* *Please report serious issues here:*
https://github.com/iiab/calibre-web/issues

View file

@ -14,23 +14,26 @@
# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
calibreweb_repo_url: https://github.com/iiab/calibre-web # Or use upstream: https://github.com/janeczku/calibre-web
calibreweb_version: master # WAS: master, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8, 0.6.9
calibreweb_venv_wipe: False # 2023-12-04: NEW default TDD (Test-Driven Dev!)
calibreweb_venv_path: /usr/local/calibre-web-py3
calibreweb_exec_path: "{{ calibreweb_venv_path }}/cps.py"
# Config files put in:
# Config files (in reality just app.db) put in:
calibreweb_config: "{{ calibreweb_home }}/config"
# Calibre-Web will be provisioned with default administrative account,
# metadata.db and language if /library/calibre-web/metadata.db does not exist.
# NOT CURRENTLY IN USE: calibreweb_provision: True
calibreweb_settings_database: app.db
calibreweb_database: metadata.db
# 2022-03-07: Calibre-Web will be reset to default settings if (re)installed
# when /library/calibre-web/config/app.db doesn't exist:
calibreweb_settings_database: app.db # /library/calibre-web/config/app.db
# UNUSED var as of 2022-03-07:
# calibreweb_database: metadata.db # /library/calibre-web/metadata.db
# Files owned by:
calibreweb_user: root
# UNUSED variables, as of March 2019:
# UNUSED vars, as of March 2019:
# calibreweb_admin_user: Admin
# calibreweb_admin_password: changeme

Binary file not shown.

View file

@ -0,0 +1,52 @@
- name: Enable & Restart 'calibre-web' systemd service, if calibreweb_enabled
systemd:
name: calibre-web
daemon_reload: yes
enabled: yes
state: restarted
when: calibreweb_enabled
- name: Disable & Stop 'calibre-web' systemd service, if not calibreweb_enabled
systemd:
name: calibre-web
enabled: no
state: stopped
when: not calibreweb_enabled
# TO DO: restore http://box/libros & http://box/livres etc, alongside English (#2195)
# RELATED: https://github.com/janeczku/calibre-web/wiki/Setup-Reverse-Proxy
- name: Enable http://box{{ calibreweb_url1 }} via NGINX, by installing {{ nginx_conf_dir }}/calibre-web-nginx.conf from template # http://box/books
template:
src: calibre-web-nginx.conf.j2
dest: "{{ nginx_conf_dir }}/calibre-web-nginx.conf" # /etc/nginx/conf.d
when: calibreweb_enabled
- name: If enabling with Calibre-Web enhanced for large audio/video "books" too, also append onto calibre-web-nginx.conf AND symlink /library/www/html/calibre-web -> /library/calibre-web (WIP)
shell: |
if [ -f {{ calibreweb_venv_path }}/scripts/calibre-web-nginx.conf ]; then
cat {{ calibreweb_venv_path }}/scripts/calibre-web-nginx.conf >> {{ nginx_conf_dir }}/calibre-web-nginx.conf
# 2023-12-05: Not needed as a result of PR iiab/calibre-web#57
# ln -sf {{ calibreweb_home }} {{ doc_root }}/calibre-web
fi
when: calibreweb_enabled
- name: Disable http://box{{ calibreweb_url1 }} via NGINX, by removing {{ nginx_conf_dir }}/calibre-web-nginx.conf
file:
path: "{{ nginx_conf_dir }}/calibre-web-nginx.conf"
state: absent
when: not calibreweb_enabled
- name: If disabling, also remove symlink /library/www/html/calibre-web (WIP)
file:
path: "{{ doc_root }}/calibre-web" # /library/www/html
state: absent
when: not calibreweb_enabled
- name: Restart 'nginx' systemd service
systemd:
name: nginx
state: restarted

View file

@ -1,10 +1,50 @@
- name: "Install packages: imagemagick, python3-venv"
# Or try 'iiab-update -f' for a more rapid upgrade of IIAB Calibre-Web:
#
# https://wiki.iiab.io/go/FAQ#Can_I_upgrade_IIAB_software%3F
# https://github.com/iiab/calibre-web/wiki#upgrading
# https://github.com/iiab/iiab/blob/master/scripts/iiab-update
# https://github.com/iiab/iiab/tree/master/roles/calibre-web#upgrading
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: Stop 'calibre-web' systemd service for safety (RED ERROR CAN BE IGNORED!)
systemd:
name: calibre-web
state: stopped
ignore_errors: True # Shows red errors, and continue...
#failed_when: False # Hides red errors, and continue...
# Official upstream instructions:
# apt install python3-pip python3-venv
# https://github.com/janeczku/calibre-web/wiki/Manual-installation
- name: "Install package: imagemagick"
package:
name:
- imagemagick
- python3-venv
#- python3-cryptography # Was needed on Raspberry Pi OS (SEE iiab/calibre-web#260, janeczku/calibre-web#3183)
#- python3-netifaces
state: present
# https://github.com/iiab/iiab/pull/3496#issuecomment-1475094542
#- name: "Install packages: python3-dev, gcc to compile 'netifaces'"
# package:
# name:
# - python3-dev # header files
# - gcc # compiler
# state: present
# when: python_version is version('3.10', '>=')
- name: Does /etc/ImageMagick-6/policy.xml exist?
stat:
path: /etc/ImageMagick-6/policy.xml
register: imagemagick6_policy_xml
# 2024-12-16: Debian 13 uses /etc/ImageMagick-7/policy.xml instead, which doesn't need this lineinfile surgery:
# https://stackoverflow.com/questions/52998331/imagemagick-security-policy-pdf-blocking-conversion
- name: Allow ImageMagick to read PDFs, per /etc/ImageMagick-6/policy.xml, to create book cover thumbnails
lineinfile:
path: /etc/ImageMagick-6/policy.xml
@ -12,43 +52,111 @@
backrefs: yes
line: ' <policy domain="coder" rights="read" pattern="PDF" />'
state: present
when: imagemagick6_policy_xml.stat.exists
- name: "Create 3 Calibre-Web folders to store data and config files: {{ calibreweb_home }}, {{ calibreweb_venv_path }}, {{ calibreweb_config }} (all set to {{ calibreweb_user }}:{{ apache_user }}) (default to 0755)"
- name: "Create 2 Calibre-Web folders to store data and config files: {{ calibreweb_home }}, {{ calibreweb_config }} (each set to {{ calibreweb_user }}:{{ apache_user }}, default to 0755)"
file:
state: directory
path: "{{ item }}"
owner: "{{ calibreweb_user }}" # root
group: "{{ apache_user }}" # www-data on debuntu
#mode: '0755'
with_items:
- "{{ calibreweb_home }}" # /library/calibre-web
- "{{ calibreweb_config }}" # /library/calibre-web/config
- "{{ calibreweb_venv_path }}" # /usr/local/calibre-web-py3
## TODO: Calibre-web future release might get into pypi https://github.com/janeczku/calibre-web/issues/456
- name: Clone i.e. download Calibre-Web ({{ calibreweb_version }}) from https://github.com/janeczku/calibre-web.git to {{ calibreweb_venv_path }} (~94 MB initially, ~115+ MB later)
# FYI since May 2021, Calibre-Web (major releases) can be installed with pip:
# https://pypi.org/project/calibreweb/
# https://github.com/janeczku/calibre-web/issues/456
# https://github.com/janeczku/calibre-web/issues/677
# https://github.com/janeczku/calibre-web/pull/927
# https://github.com/janeczku/calibre-web/pull/1459
- name: "Remove previous virtual environment {{ calibreweb_venv_path }} -- if 'calibreweb_venv_wipe: True'"
file:
path: "{{ calibreweb_venv_path }}" # /usr/local/calibre-web-py3
state: absent
when: calibreweb_venv_wipe
- name: Does {{ calibreweb_venv_path }} exist?
stat:
path: "{{ calibreweb_venv_path }}"
register: calibreweb_venv
- name: git clone Calibre-Web ({{ calibreweb_version }}) from {{ calibreweb_repo_url }} to {{ calibreweb_venv_path }} (~122 MB initially, ~191+ or ~203+ MB later) -- if {{ calibreweb_venv_path }} doesns't exist
git:
repo: https://github.com/janeczku/calibre-web.git
dest: "{{ calibreweb_venv_path }}" # /usr/local/calibre-web
force: yes
depth: 1
version: "{{ calibreweb_version }}" # e.g. master, 0.6.5
repo: "{{ calibreweb_repo_url }}" # e.g. https://github.com/iiab/calibre-web or https://github.com/janeczku/calibre-web
dest: "{{ calibreweb_venv_path }}"
#force: True # CLAIM: "If true, any modified files in the working repository will be discarded" -- REALITY: even if `force: no`, Ansible destructively reclones (also removing all test branch commits etc!) -- unless a git credential is provided to Ansible?
#depth: 1 # 2023-11-04: Full clone for now, to help @deldesir & wider community testing
version: "{{ calibreweb_version }}" # e.g. master, 0.6.22
when: not calibreweb_venv.stat.exists
## Ansible Pip Bug: Cannot use 'chdir' with 'env' https://github.com/ansible/ansible/issues/37912 (Patch landed)
#- name: Download calibre-web dependencies into vendor subdirectory.
# pip:
# requirements: "{{ calibreweb_path }}/requirements.txt"
# chdir: "{{ calibreweb_path }}"
# extra_args: '--target vendor'
# ignore_errors: True
##
# Implementing this with Ansible command module for now.
- name: Download Calibre-Web dependencies (using pip) into python3 virtual environment {{ calibreweb_venv_path }}
- name: cd {{ calibreweb_venv_path }} ; git pull {{ calibreweb_repo_url }} {{ calibreweb_version }} --no-rebase --no-edit -- if {{ calibreweb_venv_path }} exists
command: git pull "{{ calibreweb_repo_url }}" "{{ calibreweb_version }}" --no-rebase --no-edit
args:
chdir: "{{ calibreweb_venv_path }}"
when: calibreweb_venv.stat.exists
- debug:
msg:
- "NEED BETTER/EXPERIMENTAL YouTube SCRAPING? RUN THE NEXT LINE -- for the latest yt-dlp 'nightly' release:"
- sudo pipx inject --pip-args='--upgrade --pre' -f library yt-dlp[default]
- name: If Calibre-Web is being enhanced with audio/video "books" too, install/upgrade additional prereqs -- SEE https://github.com/iiab/calibre-web/wiki
shell: |
if [ -f {{ calibreweb_venv_path }}/scripts/lb-wrapper ]; then
apt install ffmpeg pipx -y
if lb --version; then
if pipx list | grep -q 'xklb'; then
pipx uninstall xklb
pipx install library
else
pipx reinstall library
fi
else
pipx install library
fi
ln -sf /root/.local/bin/lb /usr/local/bin/lb
if [ -f /root/.local/share/pipx/venvs/library/bin/yt-dlp ]; then
ln -sf /root/.local/share/pipx/venvs/library/bin/yt-dlp /usr/local/bin/yt-dlp
elif [ -f /root/.local/pipx/venvs/library/bin/yt-dlp ]; then
ln -sf /root/.local/pipx/venvs/library/bin/yt-dlp /usr/local/bin/yt-dlp
else
echo "ERROR: yt-dlp NOT FOUND"
fi
# NEED BETTER/EXPERIMENTAL YouTube SCRAPING? UNCOMMENT THE NEXT LINE -- for the latest yt-dlp "nightly" release:
# pipx inject --pip-args="--upgrade --pre" -f library yt-dlp[default]
#
# https://github.com/yt-dlp/yt-dlp-nightly-builds/releases
# https://pypi.org/project/yt-dlp/#history
cp {{ calibreweb_venv_path }}/scripts/lb-wrapper /usr/local/bin/
chmod a+x /usr/local/bin/lb-wrapper
fi
- name: Download Calibre-Web dependencies from 'requirements.txt' into python3 virtual environment {{ calibreweb_venv_path }}
pip:
requirements: "{{ calibreweb_venv_path }}/requirements.txt"
virtualenv: "{{ calibreweb_venv_path }}" # /usr/local/calibre-web-py3
virtualenv_site_packages: no
#virtualenv_site_packages: no
#virtualenv_command: python3 -m venv --system-site-packages {{ calibreweb_venv_path }}
virtualenv_command: python3 -m venv {{ calibreweb_venv_path }}
extra_args: --prefer-binary # 2023-10-01: Lifesaver when recent wheels (e.g. piwheels.org) are inevitably not yet built! SEE #3560
# 2023-10-11: RasPiOS Bookworm doc for Python with venv (PEP 668 now enforced!)
# https://www.raspberrypi.com/documentation/computers/os.html#use-python-on-a-raspberry-pi
# https://www.raspberrypi.com/documentation/computers/os.html#install-python-packages-using-apt
# https://www.raspberrypi.com/documentation/computers/os.html#install-python-libraries-using-pip
# VIRTUALENV EXAMPLE COMMANDS:
# python3 -m venv /usr/local/calibre-web-py3 (create venv)
# cd /usr/local/calibre-web-py3
# . bin/activate (or 'source bin/activate' -- this prepends '/usr/local/calibre-web-py3/bin' to yr PATH)
# python3 -m pip list ('pip list' sufficient *IF* path set above!)
# python3 -m pip freeze > /tmp/requirements.txt
# python3 -m pip install -r requirements.txt
# deactivate
# https://pip.pypa.io/en/stable/user_guide/#requirements-files
# https://pip.pypa.io/en/latest/reference/requirements-file-format/
- name: Install /etc/systemd/system/calibre-web.service from template
template:
@ -66,28 +174,40 @@
dest: "{{ calibreweb_home }}" # /library/calibre-web
owner: "{{ calibreweb_user }}" # root
group: "{{ apache_user }}" # www-data on debuntu
#mode: '0644'
backup: yes
with_items:
- roles/calibre-web/files/metadata.db
- roles/calibre-web/files/metadata_db_prefs_backup.json
when: not metadatadb.stat.exists
#when: calibreweb_provision
- name: Provision/Copy default admin settings to {{ calibreweb_config }}/app.db IF metadata.db did not exist
- name: Does /library/calibre-web/config/app.db exist?
stat:
path: /library/calibre-web/config/app.db
register: appdb
- name: Provision/Copy default admin settings to {{ calibreweb_config }}/app.db IF it did not exist
copy:
src: roles/calibre-web/files/app.db
dest: "{{ calibreweb_config }}" # /library/calibre-web/config
owner: "{{ calibreweb_user }}" # root
group: "{{ apache_user }}" # www-data on debuntu
#mode: '0644'
backup: yes
when: not metadatadb.stat.exists
#when: calibreweb_provision
when: not appdb.stat.exists
# RECORD Calibre-Web AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'calibreweb_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre-web
option: calibreweb_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'calibreweb_installed: True'"
set_fact:
calibreweb_installed: True

View file

@ -19,56 +19,47 @@
quiet: yes
- name: Install Calibre-Web if 'calibreweb_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: calibreweb_installed is undefined
- block:
- name: Install Calibre-Web if 'calibreweb_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: calibreweb_installed is undefined
- name: Enable & Restart 'calibre-web' systemd service, if calibreweb_enabled
systemd:
name: calibre-web
daemon_reload: yes
enabled: yes
state: restarted
when: calibreweb_enabled
- include_tasks: enable-or-disable.yml
- name: Disable & Stop 'calibre-web' systemd service, if not calibreweb_enabled
systemd:
name: calibre-web
enabled: no
state: stopped
when: not calibreweb_enabled
- name: Add 'calibre-web' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre-web
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Calibre-Web
- option: description
value: '"Calibre-Web is a web app providing a clean interface for browsing, reading and downloading e-books."'
- option: calibreweb_install
value: "{{ calibreweb_install }}"
- option: calibreweb_enabled
value: "{{ calibreweb_enabled }}"
- option: calibreweb_url1
value: "{{ calibreweb_url1 }}"
- option: calibreweb_url2
value: "{{ calibreweb_url2 }}"
- option: calibreweb_url3
value: "{{ calibreweb_url3 }}"
- option: calibreweb_path
value: "{{ calibreweb_venv_path }}"
- option: calibreweb_home
value: "{{ calibreweb_home }}"
- option: calibreweb_port
value: "{{ calibreweb_port }}"
- option: calibreweb_settings_database
value: "{{ calibreweb_settings_database }}"
- name: Enable/Disable/Restart NGINX
include_tasks: nginx.yml
rescue:
- name: Add 'calibre-web' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre-web
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Calibre-Web
- option: description
value: '"Calibre-Web is a web app providing a clean interface for browsing, reading and downloading e-books."'
- option: calibreweb_install
value: "{{ calibreweb_install }}"
- option: calibreweb_enabled
value: "{{ calibreweb_enabled }}"
- option: calibreweb_url1
value: "{{ calibreweb_url1 }}"
- option: calibreweb_url2
value: "{{ calibreweb_url2 }}"
- option: calibreweb_url3
value: "{{ calibreweb_url3 }}"
- option: calibreweb_path
value: "{{ calibreweb_venv_path }}"
- option: calibreweb_home
value: "{{ calibreweb_home }}"
- option: calibreweb_port
value: "{{ calibreweb_port }}"
- option: calibreweb_database
value: "{{ calibreweb_database }}"
- name: 'SEE ERROR ABOVE (skip_role_on_error: {{ skip_role_on_error }})'
fail:
msg: ""
when: not skip_role_on_error

View file

@ -1,19 +0,0 @@
# TO DO: restore http://box/libros & http://box/livres etc, alongside English (#2195)
# RELATED: https://github.com/janeczku/calibre-web/wiki/Setup-Reverse-Proxy
- name: Enable http://box{{ calibreweb_url1 }} via NGINX, by installing {{ nginx_conf_dir }}/calibre-web-nginx.conf from template # http://box/books
template:
src: calibre-web-nginx.conf.j2
dest: "{{ nginx_conf_dir }}/calibre-web-nginx.conf" # /etc/nginx/conf.d
when: calibreweb_enabled
- name: Disable http://box{{ calibreweb_url1 }} via NGINX, by removing {{ nginx_conf_dir }}/calibre-web-nginx.conf
file:
path: "{{ nginx_conf_dir }}/calibre-web-nginx.conf" # /etc/nginx/conf.d
state: absent
when: not calibreweb_enabled
- name: Restart 'nginx' systemd service
systemd:
name: nginx
state: restarted

View file

@ -5,7 +5,7 @@ location {{ calibreweb_url1 }}/ {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name {{ calibreweb_url1 }};
proxy_set_header X-Script-Name "{{ calibreweb_url1 }}";
proxy_pass http://127.0.0.1:8083;
}
@ -14,7 +14,7 @@ location {{ calibreweb_url2 }}/ {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name {{ calibreweb_url2 }};
proxy_set_header X-Script-Name "{{ calibreweb_url2 }}";
proxy_pass http://127.0.0.1:8083;
}
@ -23,6 +23,6 @@ location {{ calibreweb_url3 }}/ {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name {{ calibreweb_url3 }};
proxy_set_header X-Script-Name "{{ calibreweb_url3 }}";
proxy_pass http://127.0.0.1:8083;
}

View file

@ -34,11 +34,11 @@ calibre_userdb: "{{ calibre_dbpath }}/users.sqlite"
# calibre-server --manage-users --userdb /library/calibre/users.sqlite
calibre_sample_book: "Metamorphosis-jackson.epub"
# Must be downloadable from http://download.iiab.io/packages
# Must be downloadable from https://download.iiab.io/packages
calibre_src_url: "https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py"
calibre_deb_url: "{{ iiab_download_url }}" # http://download.iiab.io/packages
calibre_deb_url: "{{ iiab_download_url }}" # https://download.iiab.io/packages
# Above URL must offer both .deb files below: (for scripts/calibre-install-pinned-rpi.sh to run)
calibre_deb_pin_version: 3.33.1+dfsg-1 # for calibre_3.33.1+dfsg-1_all.deb (24M, 2018-10-21)
calibre_bin_deb_pin_version: "{{ calibre_deb_pin_version }}" # for calibre-bin_3.33.1+dfsg-1_armhf.deb (706K, 2018-10-23)

View file

@ -0,0 +1,29 @@
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/calibre ARE A MESS (BOOKS RARELY DISPLAY)
#
# 2018-08-27 POSSIBLE FIX...CONSIDER THIS ProxyPass / ProxyPassReverse TECHNIQUE:
# https://github.com/iiab/iiab/tree/master/roles/calibre-web/templates/calibre-web.conf.j2
# (anyway this works great for calibre-web, allowing http://box/books
# to work even better than http://box:8083 when box == 192.168.0.x !)
#
#- name: Attempt to enable http://box/calibre via Apache (UNTESTED)
# command: a2ensite calibre.conf
# when: apache_installed and calibre_enabled
#
#- name: Attempt to disable http://box/calibre via Apache (UNTESTED)
# command: a2dissite calibre.conf
# when: apache_installed and not calibre_enabled
- name: Enable & (Re)Start 'calibre-serve' service, if calibre_enabled
systemd:
daemon_reload: yes
name: calibre-serve
enabled: yes
state: restarted
when: calibre_enabled
- name: Disable & Stop 'calibre-serve' service, if not calibre_enabled
systemd:
name: calibre-serve
enabled: no
state: stopped
when: not calibre_enabled

View file

@ -1,4 +1,9 @@
# 1. INSTALL CALIBRE 3.39.1+ or 4.12+ (calibre, calibredb, calibre-server etc) ON ALL OS'S
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
# 1. APT INSTALL CALIBRE 4.12+ or 5.12+ (calibre, calibredb, calibre-server etc) ON ALL OS'S
- name: "Install OS's latest packages: calibre, calibre-bin"
package:
@ -79,6 +84,17 @@
# 5. RECORD Calibre AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'calibre_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre
option: calibre_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'calibre_installed: True'"
set_fact:
calibre_installed: True

View file

@ -19,65 +19,37 @@
quiet: yes
- name: Install Calibre if 'calibre_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: calibre_installed is undefined
- block:
# http://box:8080 & http://box:8080/mobile WORK BUT OTHER URL'S LIKE http://box/calibre ARE A MESS (BOOKS RARELY DISPLAY)
#
# 2018-08-27 POSSIBLE FIX...CONSIDER THIS ProxyPass / ProxyPassReverse TECHNIQUE:
# https://github.com/iiab/iiab/tree/master/roles/calibre-web/templates/calibre-web.conf.j2
# (anyway this works great for calibre-web, allowing http://box/books
# to work even better than http://box:8083 when box == 192.168.0.x !)
#
#- name: Attempt to enable http://box/calibre via Apache (UNTESTED)
# command: a2ensite calibre.conf
# when: apache_installed and calibre_enabled
#
#- name: Attempt to disable http://box/calibre via Apache (UNTESTED)
# command: a2dissite calibre.conf
# when: apache_installed and not calibre_enabled
- name: Install Calibre if 'calibre_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: calibre_installed is undefined
- name: Enable & (Re)Start 'calibre-serve' service, if calibre_enabled
systemd:
daemon_reload: yes
name: calibre-serve
enabled: yes
state: restarted
when: calibre_enabled
- include_tasks: enable-or-disable.yml
- name: Disable & Stop 'calibre-serve' service, if not calibre_enabled
systemd:
name: calibre-serve
enabled: no
state: stopped
when: not calibre_enabled
- name: Add 'calibre' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Calibre
- option: description
value: '"Calibre is an extremely popular personal library system for e-books."'
- option: calibre_src_url
value: "{{ calibre_src_url }}"
- option: calibre_dbpath
value: "{{ calibre_dbpath }}"
- option: calibre_port
value: "{{ calibre_port }}"
- option: calibre_enabled
value: "{{ calibre_enabled }}"
#- name: Enable/Disable/Restart Apache if primary
# include_tasks: apache.yml
# when: not nginx_enabled
#
#- name: Enable/Disable/Restart NGINX if primary
# include_tasks: nginx.yml
# when: nginx_enabled
rescue:
- name: Add 'calibre' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: calibre
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Calibre
- option: description
value: '"Calibre is an extremely popular personal library system for e-books."'
- option: calibre_src_url
value: "{{ calibre_src_url }}"
- option: calibre_dbpath
value: "{{ calibre_dbpath }}"
- option: calibre_port
value: "{{ calibre_port }}"
- option: calibre_enabled
value: "{{ calibre_enabled }}"
- name: 'SEE ERROR ABOVE (skip_role_on_error: {{ skip_role_on_error }})'
fail:
msg: ""
when: not skip_role_on_error

View file

@ -1,4 +1,4 @@
_Please Also See: http://FAQ.IIAB.IO > ["Captive Portal Administration: What tips & tricks exist?"](http://wiki.laptop.org/go/IIAB/FAQ#Captive_Portal_Administration:_What_tips_.26_tricks_exist.3F)_
_Please Also See: http://FAQ.IIAB.IO > ["Captive Portal Administration: What tips & tricks exist?"](https://wiki.iiab.io/go/FAQ#Captive_Portal_Administration:_What_tips_&_tricks_exist%3F)_
## Theory of Operation

View file

@ -1,3 +1,8 @@
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: "Install packages: python3-dateutil, python3-jinja2"
package:
name:
@ -26,7 +31,7 @@
mode: "{{ item.mode }}"
with_items:
- { src: roles/captiveportal/templates/checkurls, dest: /opt/iiab/captiveportal/, mode: '0644' }
- { src: roles/captiveportal/templates/iiab-divert-to-nginx, dest: /usr/sbin/, mode: '0755' }
- { src: roles/captiveportal/templates/iiab-divert-to-nginx.j2, dest: /usr/sbin/iiab-divert-to-nginx, mode: '0755' }
- { src: roles/captiveportal/templates/iiab-make-cp-servers.py, dest: /usr/sbin/, mode: '0755' }
- name: Install /opt/iiab/captiveportal/capture-wsgi.py from template, mode '0755' (creates the server)
@ -51,6 +56,17 @@
# RECORD Captive Portal AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'captiveportal_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: captiveportal
option: captiveportal_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'captiveportal_installed: True'"
set_fact:
captiveportal_installed: True

View file

@ -19,27 +19,33 @@
quiet: yes
- name: Install Captive Portal if 'captiveportal_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: captiveportal_installed is undefined
- block:
- name: Install Captive Portal if 'captiveportal_installed' not defined, e.g. in {{ iiab_state_file }} # /etc/iiab/iiab_state.yml
include_tasks: install.yml
when: captiveportal_installed is undefined
- name: Enable or Disable Captive Portal
include_tasks: enable-or-disable.yml
- include_tasks: enable-or-disable.yml
- name: Add 'captiveportal' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: captiveportal
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Captive Portal
- option: description
value: '"Captive Portal tries to open the browser automatically, so users don''t have to type in URL''s like http://box.lan in support of kiosk-like situations, in multilingual and less literate communities."'
- option: captiveportal_install
value: "{{ captiveportal_install }}"
- option: captiveportal_enabled
value: "{{ captiveportal_enabled }}"
- name: Add 'captiveportal' variable values to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: captiveportal
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items:
- option: name
value: Captive Portal
- option: description
value: '"Captive Portal tries to open the browser automatically, so users don''t have to type in URL''s like http://box.lan in support of kiosk-like situations, in multilingual and less literate communities."'
- option: captiveportal_install
value: "{{ captiveportal_install }}"
- option: captiveportal_enabled
value: "{{ captiveportal_enabled }}"
rescue:
- name: 'SEE ERROR ABOVE (skip_role_on_error: {{ skip_role_on_error }})'
fail:
msg: ""
when: not skip_role_on_error

View file

@ -1,4 +1,4 @@
#!/bin/bash -x
awk '{print("address=/" $1 "/172.18.96.1")}' /opt/iiab/captiveportal/checkurls > /etc/dnsmasq.d/capture
awk '{print("address=/" $1 "/{{ lan_ip }}")}' /opt/iiab/captiveportal/checkurls > /etc/dnsmasq.d/capture
echo "#following tells windows 7 that captive portal is active" >> /etc/dnsmasq.d/capture
echo "address=/dns.msftncsi.com/131.107.255.255" >> /etc/dnsmasq.d/capture

View file

@ -2,13 +2,13 @@
[CUPS](https://en.wikipedia.org/wiki/CUPS) (also known as the "Common UNIX Printing System") is the standards-based, open source printing system for Linux and macOS.
It allows your [Internet-in-a-Box (IIAB)](http://internet-in-a-box.org) to act as a print server.
It allows your [Internet-in-a-Box (IIAB)](https://internet-in-a-box.org) to act as a print server.
This can be useful if a printer is attached to your IIAB &mdash; so student/teacher print jobs from client computers and phones can be processed &mdash; and then sent to the appropriate printer.
## Using it
Make sure your IIAB was installed with these 2 lines in [/etc/iiab/local_vars.yml](http://faq.iiab.io/#What_is_local_vars.yml_and_how_do_I_customize_it.3F) :
Make sure your IIAB was installed with these 2 lines in [/etc/iiab/local_vars.yml](http://faq.iiab.io/#What_is_local_vars.yml_and_how_do_I_customize_it%3F) :
```
cups_install: True

View file

@ -2,6 +2,11 @@
# (OR ANY MEMBER OF LINUX GROUP 'lpadmin') AS SET UP BELOW...
- name: Record (initial) disk space used
shell: df -B1 --output=used / | tail -1
register: df1
- name: Install 'cups' package
package:
name: cups
@ -49,19 +54,34 @@
blockinfile:
path: /etc/cups/cupsd.conf
insertafter: '^<Location /admin>$'
block: |2 # Indent with 2 spaces, and surround block with 2 comment lines: "# BEGIN ANSIBLE MANAGED BLOCK", "# END ANSIBLE MANAGED BLOCK"
block: |2 # |n MEANS: Set the block's left edge n CHARACTERS TO THE RIGHT of *this line's* indentation -- where n is {1..9} -- instead of setting its left edge to the 1st non-blank line's indentation below. Also surround block with comment lines: "# BEGIN ANSIBLE MANAGED BLOCK", "# END ANSIBLE MANAGED BLOCK"
AuthType Default
Require user @SYSTEM
- name: "CUPS web administration: Create Linux username 'Admin' with password 'changeme' in Linux group 'lpadmin' (shell: /usr/sbin/nologin, create_home: no)"
- name: "CUPS web administration: Create Linux username 'Admin' in Linux group 'lpadmin' (shell: /usr/sbin/nologin, create_home: no)"
user:
name: Admin
append: yes # Don't clobber other groups, that other IIAB Apps might need.
groups: lpadmin
password: "{{ 'changeme' | password_hash('sha512') }}" # Random salt. Presumably runs 5000 rounds of SHA-512 per /etc/login.defs & /etc/pam.d/common-password -- https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#encrypting-and-checksumming-strings-and-passwords
#password: "{{ 'changeme' | password_hash('sha512') }}" # Random salt. Presumably runs 5000 rounds of SHA-512 per /etc/login.defs & /etc/pam.d/common-password -- https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_filters.html#hashing-and-encrypting-strings-and-passwords
create_home: no
shell: /usr/sbin/nologin # Debian/Ubuntu norm -- instead of /sbin/nologin, /bin/false
# 2024-05-01: Above password-setting approach no longer works w/ Ansible 2.17 RC1 (#3727).
# Ansible STOPS with this error...
#
# "[DEPRECATION WARNING]: Encryption using the Python crypt module is deprecated. The Python crypt module is
# deprecated and will be removed from Python 3.13. Install the passlib library for continued encryption
# functionality. This feature will be removed in version 2.17. Deprecation warnings can be disabled by
# setting deprecation_warnings=False in ansible.cfg."
#
# ...so we instead use Linux's "chpasswd" command (below!)
- name: Use chpasswd to set Linux username 'Admin' password to 'changeme'
command: chpasswd
args:
stdin: Admin:changeme
# - name: Add user '{{ iiab_admin_user }}' to Linux group 'lpadmin' -- for CUPS web administration (or modify default 'SystemGroup lpadmin' in /etc/cups/cups-files.conf -- in coordination with ~14 -> ~15 '@SYSTEM' lines in /etc/cups/cupsd.conf)
# #command: "gpasswd -a {{ iiab_admin_user | quote }} lpadmin"
# #command: "gpasswd -d {{ iiab_admin_user | quote }} lpadmin"
@ -76,14 +96,14 @@
name: cups
state: started
# - name: "Authorize Nearby IP Addresses: Run 'cupsctl --remote-admin --share-printers --user-cancel-any' to enable http://192.168.0.x:631 AND http://172.18.96.1:631 (if cups_enabled) -- REPEATED USE OF 'cupsctl' COMMANDS CAN *DAMAGE* /etc/cups/cupsd.conf BY ADDING DUPLICATE LINES (AND WORSE!) -- SO PLEASE ALSO MANUALLY RUN 'sudo cupsctl' AND 'sudo cupsd -t' TO VERIFY /etc/cups/cupsd.conf"
# - name: "Authorize Nearby IP Addresses: Run 'cupsctl --remote-admin --share-printers --user-cancel-any' to enable http://192.168.0.x:631 AND http://{{ lan_ip }}:631 (if cups_enabled) -- REPEATED USE OF 'cupsctl' COMMANDS CAN *DAMAGE* /etc/cups/cupsd.conf BY ADDING DUPLICATE LINES (AND WORSE!) -- SO PLEASE ALSO MANUALLY RUN 'sudo cupsctl' AND 'sudo cupsd -t' TO VERIFY /etc/cups/cupsd.conf"
# command: cupsctl --remote-admin --share-printers --user-cancel-any
# 2021-07-11: BOTH FLAGS *CANNOT* BE USED TOGETHER -- CHOOSE ONE OR THE OTHER:
# (1) '--remote-admin' AS ABOVE, OR (2) '--remote-any' AS BELOW.
# (RUN 'cupsctl' WITHOUT PARAMETERS TO CONFIRM THIS!)
- name: "Authorize All IP Addresses: Run 'cupsctl --remote-any --share-printers --user-cancel-any' to enable http://192.168.0.x:631 AND http://172.18.96.1:631 AND http://10.8.0.y:631 (if cups_enabled) -- REPEATED USE OF 'cupsctl' COMMANDS CAN *DAMAGE* /etc/cups/cupsd.conf BY ADDING DUPLICATE LINES (AND WORSE!) -- SO PLEASE ALSO MANUALLY RUN 'sudo cupsctl' AND 'sudo cupsd -t' TO VERIFY /etc/cups/cupsd.conf"
- name: "Authorize All IP Addresses: Run 'cupsctl --remote-any --share-printers --user-cancel-any' to enable http://192.168.0.x:631 AND http://{{ lan_ip }}:631 AND http://10.8.0.y:631 (if cups_enabled) -- REPEATED USE OF 'cupsctl' COMMANDS CAN *DAMAGE* /etc/cups/cupsd.conf BY ADDING DUPLICATE LINES (AND WORSE!) -- SO PLEASE ALSO MANUALLY RUN 'sudo cupsctl' AND 'sudo cupsd -t' TO VERIFY /etc/cups/cupsd.conf"
command: cupsctl --remote-any --share-printers --user-cancel-any
# 2021-07-11: In theory 'cupsctl' stanzas could be put in enable-or-disable.yml
@ -96,7 +116,7 @@
# command: cupsctl --no-remote-admin --no-remote-any --no-share-printers --no-user-cancel-any --no-debug-logging
# when: not cups_enabled
# - name: "2021-07-14: EXPERIMENTALLY ADD DIRECTIVES TO /etc/cups/cupsd.conf followed by 'systemctl restart cups'. As should no longer be nec thanks to NEW cups/templates/cups.conf for /etc/nginx/conf.d/cups.conf (followed by 'systemctl restart nginx'). Which FIXED URL'S LIKE: http://box/print, http://box.lan/print, http://192.168.0.x/print, http://172.18.96.1/print and http://10.8.0.x/print (WITH OR WITHOUT THE TRAILING SLASH!) RECAP: (1) So be it that these 2 URL'S STILL DON'T WORK: http://box:631, http://box.lan:631 (due to CUPS' internal web server's overly stringent hostname checks, i.e. '400 Bad Request' and 'Request from \"localhost\" using invalid Host: field \"box[.lan]:631\".' in /var/log/cups/error_log) -- (2) While these 2 URL'S STILL DO WORK: http://localhost:631, http://127.0.0.1:631 -- (3) Whereas these 3 URL'S MAY WORK, DEPENDING ON 'cupsctl' COMMAND(S) ABOVE: http://192.168.0.x:631, http://172.18.96.1:631, http://10.8.0.x:631"
# - name: "2021-07-14: EXPERIMENTALLY ADD DIRECTIVES TO /etc/cups/cupsd.conf followed by 'systemctl restart cups'. As should no longer be nec thanks to NEW cups/templates/cups.conf for /etc/nginx/conf.d/cups.conf (followed by 'systemctl restart nginx'). Which FIXED URL'S LIKE: http://box/print, http://box.lan/print, http://192.168.0.x/print, http://{{ lan_ip }}/print and http://10.8.0.x/print (WITH OR WITHOUT THE TRAILING SLASH!) RECAP: (1) So be it that these 2 URL'S STILL DON'T WORK: http://box:631, http://box.lan:631 (due to CUPS' internal web server's overly stringent hostname checks, i.e. '400 Bad Request' and 'Request from \"localhost\" using invalid Host: field \"box[.lan]:631\".' in /var/log/cups/error_log) -- (2) While these 2 URL'S STILL DO WORK: http://localhost:631, http://127.0.0.1:631 -- (3) Whereas these 3 URL'S MAY WORK, DEPENDING ON 'cupsctl' COMMAND(S) ABOVE: http://192.168.0.x:631, http://{{ lan_ip }}:631, http://10.8.0.x:631"
# lineinfile:
# path: /etc/cups/cupsd.conf
# line: "{{ item }}"
@ -105,7 +125,7 @@
# - "HostNameLookups On" # More False Leads: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530027
# - "ServerAlias *"
# - "#ServerName {{ iiab_hostname }}.{{ iiab_domain }}" # box.lan
# - "#Listen {{ lan_ip }}:631" # 172.18.96.1
# - "#Listen {{ lan_ip }}:631" # e.g. 10.10.10.10
# - "#Listen 127.0.0.1:631"
# - "#Listen 0.0.0.0:631"
# - "#Listen *:631"
@ -124,6 +144,17 @@
# RECORD CUPS AS INSTALLED
- name: Record (final) disk space used
shell: df -B1 --output=used / | tail -1
register: df2
- name: Add 'cups_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }}
ini_file:
path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini
section: cups
option: cups_disk_usage
value: "{{ df2.stdout|int - df1.stdout|int }}"
- name: "Set 'cups_installed: True'"
set_fact:
cups_installed: True

Some files were not shown because too many files have changed in this diff Show more