secubox-deb/scripts/update-nginx-modular.sh
CyberMind-FR 7c42a80baf feat: modular nginx config + hub roadmap + new modules
Nginx architecture:
- Modular config: each module installs /etc/nginx/secubox.d/<module>.conf
- Auto-register on install, auto-remove on purge
- Main config includes from secubox.d/*.conf
- 27 module snippets for dynamic component management

Hub enhancements:
- Add roadmap widget showing migration progress (84% complete)
- Add /api/v1/hub/roadmap endpoint with category breakdown
- Shared sidebar.css for consistent styling across modules

New modules:
- secubox-portal: JWT authentication, session management
- secubox-dns: DNS server management
- secubox-mail: Mail server (Postfix) management
- secubox-webmail: Roundcube webmail
- secubox-users: User account management
- secubox-publish: Content publishing
- secubox-waf: Web Application Firewall
- secubox-mail-lxc: Mail LXC container
- secubox-webmail-lxc: Webmail LXC container

Debian packaging:
- All modules updated with modular nginx support
- postinst: creates secubox.d/, reloads nginx
- prerm: removes snippet, reloads nginx
- rules: installs nginx/<module>.conf

Scripts:
- new-package.sh: generates modular nginx files for new modules
- retrofit-nginx-modular.sh: updates existing packages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-21 20:34:01 +01:00

32 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Update all module packages for modular nginx configuration
# Each module installs its own /etc/nginx/secubox.d/<module>.conf
BASEDIR="/home/reepost/CyberMindStudio/secubox-deb/secubox-deb"
NGINX_SNIPPETS="$BASEDIR/common/nginx/modules.d"
modules="hub crowdsec netdata wireguard dpi netmodes nac auth qos mediaflow cdn vhost system waf portal dns haproxy droplet metablogizer publish streamlit streamforge mail webmail mail-lxc webmail-lxc users"
for mod in $modules; do
PKG_DIR="$BASEDIR/packages/secubox-$mod"
if [ ! -d "$PKG_DIR" ]; then
echo "SKIP: $mod (no package dir)"
continue
fi
# Create nginx directory in package
mkdir -p "$PKG_DIR/nginx"
# Copy nginx snippet
if [ -f "$NGINX_SNIPPETS/${mod}.conf" ]; then
cp "$NGINX_SNIPPETS/${mod}.conf" "$PKG_DIR/nginx/"
echo "OK: $mod - nginx snippet copied"
else
echo "WARN: $mod - no nginx snippet"
fi
done
echo ""
echo "Done. Now update debian/rules and debian/postinst for each module."