headscale-admin
This commit is contained in:
53
headscale-admin/Bastillefile
Normal file
53
headscale-admin/Bastillefile
Normal file
@@ -0,0 +1,53 @@
|
||||
# Bastillefile: headscale-admin
|
||||
#
|
||||
# This template sets up the Headscale Admin UI in a Bastille Jail.
|
||||
# It uses Caddy to serve the static frontend files.
|
||||
#
|
||||
# This Baastillefile uses the specific version v0.24.9 and relies on the
|
||||
# original Caddyfile from the repository. The built files are copied
|
||||
# into an `/app/admin` directory to be served by Caddy.
|
||||
|
||||
# Ensure the jail has network access and pkg is updated
|
||||
CMD pkg update && pkg upgrade -y
|
||||
CMD pkg install -y nano git node npm caddy
|
||||
|
||||
# Set up the shell and home directory for the build process
|
||||
ENV HOME /root
|
||||
ENV SHELL /bin/csh
|
||||
|
||||
# --- HEADSCALE ADMIN UI SETUP ---
|
||||
# Clone the Headscale Admin UI repository from GitHub
|
||||
CMD git clone --depth 1 https://github.com/juanfont/headscale-admin.git /root/headscale-admin
|
||||
CMD cd /root/headscale-admin
|
||||
|
||||
# Check out the specific working version to avoid future issues
|
||||
CMD git checkout tags/v0.24.9
|
||||
|
||||
# Install Node.js dependencies
|
||||
CMD /usr/local/bin/npm install
|
||||
|
||||
# Build the frontend for production.
|
||||
# This command generates the static HTML, CSS, and JavaScript files in the `build` directory.
|
||||
CMD /usr/local/bin/npm run build
|
||||
|
||||
# --- CADDY WEB SERVER CONFIGURATION ---
|
||||
# Create the necessary directories
|
||||
CMD mkdir -p /app/admin
|
||||
CMD mkdir -p /usr/local/etc/caddy/
|
||||
CMD mkdir -p /var/log/caddy/
|
||||
|
||||
# Move the original Caddyfile to the correct location
|
||||
CMD mv /root/headscale-admin/Caddyfile /usr/local/etc/caddy/Caddyfile
|
||||
|
||||
# Copy the built frontend files into the `/app/admin` directory.
|
||||
# Caddy's Caddyfile is configured to serve from `/app`, so the files
|
||||
# will be available under the `/admin` path.
|
||||
CMD cp -r build/* /app/admin
|
||||
|
||||
# Correct permissions for Caddy to write logs
|
||||
CMD chown -R www:www /var/log/caddy
|
||||
CMD chown -R www:www /app
|
||||
|
||||
# Enable and start the Caddy service inside the jail
|
||||
SYSRC caddy_enable="YES"
|
||||
SERVICE caddy start
|
||||
2
headscale-admin/README.md
Normal file
2
headscale-admin/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# templates
|
||||
|
||||
Reference in New Issue
Block a user