#!/bin/bash # make our folders mkdir -p \ /assets \ /config/nginx/site-confs \ /config/log/nginx \ /run \ /var/lib/nginx/tmp/client_body \ /var/tmp/nginx # copy config files [[ ! -f /config/nginx/nginx.conf ]] && \ cp /defaults/nginx.conf /config/nginx/nginx.conf [[ ! -f /config/nginx/site-confs/default ]] && \ envsubst < /defaults/default > /config/nginx/site-confs/default # Ownership chown -R nbxyz:nbxyz /assets chown -R nbxyz:nbxyz /var/lib/nginx chown -R nbxyz:nbxyz /var/log/nginx # create local logs dir mkdir -p \ /config/menus/remote \ /config/menus/local # download menus if not found if [[ ! -f /config/menus/remote/menu.ipxe ]]; then if [[ -z ${MENU_VERSION+x} ]]; then MENU_VERSION=$(curl -sL "https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest" | jq -r '.tag_name') fi echo "[netbootxyz-init] Downloading netboot.xyz at ${MENU_VERSION}" # menu files curl -o \ /config/endpoints.yml -sL \ "https://raw.githubusercontent.com/netbootxyz/netboot.xyz/${MENU_VERSION}/endpoints.yml" curl -o \ /tmp/menus.tar.gz -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/menus.tar.gz" tar xf \ /tmp/menus.tar.gz -C \ /config/menus/remote # boot files curl -o \ /config/menus/remote/netboot.xyz.kpxe -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz.kpxe" curl -o \ /config/menus/remote/netboot.xyz-undionly.kpxe -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-undionly.kpxe" curl -o \ /config/menus/remote/netboot.xyz.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz.efi" curl -o \ /config/menus/remote/netboot.xyz-snp.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-snp.efi" curl -o \ /config/menus/remote/netboot.xyz-snponly.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-snponly.efi" curl -o \ /config/menus/remote/netboot.xyz-arm64.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-arm64.efi" curl -o \ /config/menus/remote/netboot.xyz-arm64-snp.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-arm64-snp.efi" curl -o \ /config/menus/remote/netboot.xyz-arm64-snponly.efi -sL \ "https://github.com/netbootxyz/netboot.xyz/releases/download/${MENU_VERSION}/netboot.xyz-arm64-snponly.efi" # layer and cleanup echo -n "${MENU_VERSION}" > /config/menuversion.txt cp -r /config/menus/remote/* /config/menus rm -f /tmp/menus.tar.gz fi # Ownership chown -R nbxyz:nbxyz /config