unifios-utilities/on-boot-script
StealthCT 4a1d6f11b3
Path references for boostchicken-dev and forks (#341)
* Fix Github references from boostchicken to boostchicken-dev

* Download CNI bridge script from upstream rather than fork

The remote_install.sh script was retrieving the 05-cni-bridge.sh script
from gtrabanco's fork, rather than the main repository.

* Rename 05-cni-bridge.sh to 06-cni-bridge.sh
2022-03-25 06:08:14 -07:00
..
dpkg-build-files Path references for boostchicken-dev and forks (#341) 2022-03-25 06:08:14 -07:00
examples Path references for boostchicken-dev and forks (#341) 2022-03-25 06:08:14 -07:00
manual-install Path references for boostchicken-dev and forks (#341) 2022-03-25 06:08:14 -07:00
packages Fixing 1.0.5 2021-05-26 05:40:50 -07:00
build_deb.sh Some build and package improvements (#45) 2020-09-08 02:54:51 -07:00
Dockerfile Some build and package improvements (#45) 2020-09-08 02:54:51 -07:00
README.md Path references for boostchicken-dev and forks (#341) 2022-03-25 06:08:14 -07:00
README.old.md potential fix for #71 (#86) 2021-01-08 12:38:25 -08:00
remote_install.sh Path references for boostchicken-dev and forks (#341) 2022-03-25 06:08:14 -07:00

UDM / UDMPro Boot Script

Features

  1. Allows you to run a shell script at S95 anytime your UDM starts / reboots
  2. Persists through reboot and firmware updates! It is able to do this because Ubiquiti caches all debian package installs on the UDM in /mnt/data, then re-installs them on reset of unifi-os container.

Compatibility

  1. Should work on any UDM/UDMPro after 1.6.3
  2. Tested and confirmed on 1.6.6, 1.7.0, 1.7.2rc4, 1.7.3rc1, 1.8.0rc7, 1.8.0+

Upgrade from earlier way

  • As long as you didn't change the filenames, installing the deb package is all you need to do. If you want to clean up beforehand anyways....

    rm /etc/init.d/udm.sh
    systemctl disable udmboot
    rm /etc/systemd/system/udmboot.service
    
  • build_deb.sh can be used to build the package by yourself.

    • dpkg-build-files contains the sources that debuild uses to build the package if you want to build it yourself / change it
    • by default it uses docker or podman to build the debian package
    • use ./build_deb.sh build to not use a container
    • the resulting package will be in packages/
  • Built on Ubuntu-20.04 on Windows 10/WSL2

Install

You can execute in UDM/Pro/SE and UDR with:

curl -fsL "https://raw.githubusercontent.com/boostchicken-dev/udm-utilities/HEAD/on-boot-script/remote_install.sh" | /bin/sh

This is a force to install script so will uninstall any previous version and install on_boot keeping your on boot files.

This will also install CNI Plugins & CNI Bridge scripts. If you are using UDMSE/UDR remember that you must install podman manually because there is no podman.

Manually Install Steps

  1. Get into the unifios shell on your udm

    unifi-os shell
    
  2. Download udm-boot_1.0.5_all.deb and install it and go back to the UDM. The latest package will always be found at https://udm-boot.boostchicken.dev

    curl -L https://udm-boot.boostchicken.dev -o udm-boot_1.0.5_all.deb
    dpkg -i udm-boot_1.0.5_all.deb
    exit
    
  3. Copy any shell scripts you want to run to /mnt/data/on_boot.d on your UDM (not the unifi-os shell) and make sure they are executable and have the correct shebang (#!/bin/sh). Additionally, scripts need to have a .sh extention in their filename.

    Examples:

Version History

1.0.5

  • Remove on_boot.sh from UDM
  • Follow symlinks
  • move to network-online.target

1.0.4

  • Fix 600s timeout issues
  • Fix rc.d policy issue

1.0.3

  • Fix not working after firmware upgrade
  • Added udm-boot.boostchicken.dev domain

1.0.2

  • Some build improvements and more clean installation

1.0.1

  • Fully automated install, all that is left is populating /mnt/data/on_boot.d

1.0.0

  • First release that persists through firmware