unifios-utilities/on-boot-script
John D 511d058460
Modularization updates (#12)
* Store install-cni-plugins.sh once

* Newlines in on-boot-script

* Update example on_boot.sh for directory

* Update README.md examples

* Store 20-dns.conflist once

* Add modularized nextdns config w/IPv6 support

* Make nextdns script more generic

* Use common setup script for each dns service

* Add missing newlines

* Readme updates and ipv6 support

* Readme updates and ipv6 support

* Final updates and Ipv6

Co-authored-by: exodious <exodious@users.noreply.github.com>
2020-06-28 06:02:50 -07:00
..
examples Modularization updates (#12) 2020-06-28 06:02:50 -07:00
install-unifios.sh Modularization updates (#12) 2020-06-28 06:02:50 -07:00
install.sh Modularization updates (#12) 2020-06-28 06:02:50 -07:00
README.md Modularization updates (#12) 2020-06-28 06:02:50 -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
  3. Must be re-done after firmware updates

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

Steps

Automated Setup

  1. Copy install.sh to your UDM and execute it
  2. Copy any shell scripts you want to run to /mnt/data/on_boot.d and make sure they are executable and have the correct shebang (#!/bin/sh) Examples:

Manual Setup

  1. Copy on_boot.sh and make on_boot.d and add scripts to on_boot.d

    mkdir -p /mnt/data/on_boot.d
    vi /mnt/data/on_boot.sh 
    chmod u+x /mnt/data/on_boot.sh
    

    Example: on_boot.sh

  2. Enter the container shell

    unifi-os shell
    
  3. make a script that sshs to the udm and runs on our boot script. 127.0.1.1 always points to the UDM

    echo "#!/bin/sh
    ssh -o StrictHostKeyChecking=no root@127.0.1.1 '/mnt/data/on_boot.sh'" > /etc/init.d/udm.sh
    chmod u+x /etc/init.d/udm.sh
    

    Example: udm.sh

  4. make a service that runs on startup, after we have networking

    echo "[Unit]
    Description=Run On Startup UDM
    After=network.target
    
    [Service]
    ExecStart=/etc/init.d/udm.sh
    
    [Install]
    WantedBy=multi-user.target" > /etc/systemd/system/udmboot.service
    

    Example: udmboot.service

  5. enable it and test

    systemctl enable udmboot
    systemctl start udmboot
    
  6. back to the udm

    exit
    
  7. reboot your udm/udmpro and make sure it worked

    reboot
    exit