chore: sync ISO build configs with live server state
- Add nginx snippets (PWA, HTTPS app proxies) to image-recipe/configs/ - Update build script Dockerfile to install openssl, generate self-signed SSL cert, copy nginx snippets, and create Cloud dummy directories - Ensures fresh ISO installs have working HTTPS, PWA installability, and pre-created Cloud storage folders Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
0bc7251e22
commit
1b2021cece
@@ -134,7 +134,7 @@ FROM debian:bookworm
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install all packages we need including nginx and podman
|
||||
# Install all packages we need including nginx, podman, and openssl (for self-signed certs)
|
||||
RUN apt-get update && apt-get install -y \
|
||||
linux-image-amd64 \
|
||||
grub-efi-amd64 \
|
||||
@@ -153,6 +153,7 @@ RUN apt-get update && apt-get install -y \
|
||||
htop \
|
||||
vim-tiny \
|
||||
ca-certificates \
|
||||
openssl \
|
||||
locales \
|
||||
console-setup \
|
||||
keyboard-configuration \
|
||||
@@ -180,6 +181,17 @@ RUN rm -f /etc/nginx/sites-enabled/default
|
||||
COPY nginx-archipelago.conf /etc/nginx/sites-available/archipelago
|
||||
RUN ln -sf /etc/nginx/sites-available/archipelago /etc/nginx/sites-enabled/archipelago
|
||||
|
||||
# Install nginx snippets (PWA config, HTTPS app proxies)
|
||||
COPY snippets/ /etc/nginx/snippets/
|
||||
|
||||
# Generate self-signed SSL certificate for HTTPS (PWA install requires secure context)
|
||||
RUN mkdir -p /etc/archipelago/ssl && \
|
||||
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
|
||||
-keyout /etc/archipelago/ssl/archipelago.key \
|
||||
-out /etc/archipelago/ssl/archipelago.crt \
|
||||
-subj "/C=XX/ST=Bitcoin/L=Node/O=Archipelago/CN=archipelago" && \
|
||||
chmod 600 /etc/archipelago/ssl/archipelago.key
|
||||
|
||||
# Create archipelago systemd service
|
||||
COPY archipelago.service /etc/systemd/system/archipelago.service
|
||||
|
||||
@@ -189,10 +201,11 @@ RUN systemctl enable NetworkManager || true && \
|
||||
systemctl enable nginx || true && \
|
||||
systemctl enable archipelago || true
|
||||
|
||||
# Create directories
|
||||
# Create directories (including Cloud storage for FileBrowser)
|
||||
RUN mkdir -p /var/lib/archipelago/{data,config,containers} && \
|
||||
mkdir -p /etc/archipelago && \
|
||||
mkdir -p /opt/archipelago/{bin,scripts,web-ui} && \
|
||||
mkdir -p /var/lib/archipelago/data/cloud/{Documents,Photos,Music,Videos,Downloads} && \
|
||||
chown -R archipelago:archipelago /var/lib/archipelago /opt/archipelago
|
||||
|
||||
# Clean up
|
||||
@@ -200,6 +213,16 @@ RUN apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
DOCKERFILE
|
||||
|
||||
# Copy nginx snippets for HTTPS (PWA, app proxies)
|
||||
if [ -d "$SCRIPT_DIR/configs/snippets" ]; then
|
||||
mkdir -p "$WORK_DIR/snippets"
|
||||
cp "$SCRIPT_DIR/configs/snippets/"*.conf "$WORK_DIR/snippets/" 2>/dev/null || true
|
||||
echo " Using nginx snippets from configs/snippets/"
|
||||
else
|
||||
mkdir -p "$WORK_DIR/snippets"
|
||||
echo " ⚠ No nginx snippets found, HTTPS features may not work"
|
||||
fi
|
||||
|
||||
# Use nginx config from configs/ (includes app proxies for Nextcloud, Vaultwarden, Immich, Penpot)
|
||||
if [ -f "$SCRIPT_DIR/configs/nginx-archipelago.conf" ]; then
|
||||
cp "$SCRIPT_DIR/configs/nginx-archipelago.conf" "$WORK_DIR/nginx-archipelago.conf"
|
||||
|
||||
Reference in New Issue
Block a user