12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/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
|