Skip to content

Commit

Permalink
Update root to align with docker-netbootxyz
Browse files Browse the repository at this point in the history
  • Loading branch information
antonym committed Oct 21, 2023
1 parent d5616c3 commit 8f2369b
Show file tree
Hide file tree
Showing 10 changed files with 121 additions and 78 deletions.
2 changes: 1 addition & 1 deletion root/defaults/nginx.conf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
user abc;
user nbxyz;
worker_processes 4;
pid /run/nginx.pid;
include /etc/nginx/modules/*.conf;
Expand Down
2 changes: 2 additions & 0 deletions root/donate.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
opencollective: https://opencollective.com/netbootxyz/donate
github: https://github.com/sponsors/netbootxyz
18 changes: 0 additions & 18 deletions root/etc/cont-init.d/20-nginx-config

This file was deleted.

6 changes: 0 additions & 6 deletions root/etc/cont-init.d/35-dev-config

This file was deleted.

41 changes: 0 additions & 41 deletions root/etc/cont-init.d/36-download-menus

This file was deleted.

2 changes: 0 additions & 2 deletions root/etc/services.d/nginx/run

This file was deleted.

4 changes: 0 additions & 4 deletions root/etc/services.d/tftp/run

This file was deleted.

6 changes: 0 additions & 6 deletions root/etc/services.d/webapp/run

This file was deleted.

33 changes: 33 additions & 0 deletions root/etc/supervisor.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
[supervisord]
nodaemon=true
user=root

[program:syslog-ng]
command=/usr/sbin/syslog-ng --foreground --no-caps
stdout_syslog=true
stdout_capture_maxbytes=1MB
priority = 1

[program:nginx]
command = /usr/sbin/nginx -c /config/nginx/nginx.conf
startretries = 2
daemon=off
priority = 2

[program:webapp]
environment=NODE_ENV="production",PORT=3000
command=/usr/bin/node app.js
user=nbxyz
directory=/app
priority = 3

[program:in.tftpd]
command=/usr/sbin/in.tftpd -Lvvv --user nbxyz --secure %(ENV_TFTPD_OPTS)s /config/menus
stdout_logfile=/config/tftpd.log
redirect_stderr=true
priority = 4

[program:messages-log]
command=tail -f /var/log/messages
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
85 changes: 85 additions & 0 deletions root/start.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/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 ]] && \
cp /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

echo " _ _ _ "
echo " _ __ ___| |_| |__ ___ ___ | |_ __ ___ _ ____ "
echo "| '_ \ / _ \ __| '_ \ / _ \ / _ \| __| \ \/ / | | |_ / "
echo "| | | | __/ |_| |_) | (_) | (_) | |_ _ > <| |_| |/ / "
echo "|_| |_|\___|\__|_.__/ \___/ \___/ \__(_)_/\_\\__, /___| "
echo " |___/ "

supervisord -c /etc/supervisor.conf

0 comments on commit 8f2369b

Please sign in to comment.