fix(magicmirror2): Fix LXC container startup with default modules symlink
- Add symlink from modules/default to __modules/default (Docker entrypoint logic) - Copy CSS files from __css to css directory on startup - Fix shebang escaping issue by using printf instead of heredoc for #!/bin/sh - Bump release to 0.4.0-r7 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
a83cde0885
commit
520bfed735
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=secubox-app-magicmirror2
|
||||
PKG_RELEASE:=5
|
||||
PKG_RELEASE:=7
|
||||
PKG_VERSION:=0.4.0
|
||||
PKG_ARCH:=all
|
||||
PKG_MAINTAINER:=CyberMind Studio <contact@cybermind.fr>
|
||||
|
||||
@ -249,26 +249,55 @@ lxc_create_docker_rootfs() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create startup script
|
||||
cat > "$rootfs/opt/start-mm2.sh" << 'START'
|
||||
#!/bin/sh
|
||||
# Create startup script (mimics Docker entrypoint.sh)
|
||||
# Use printf for shebang to avoid shell escaping issues
|
||||
printf '%s\n' '#!/bin/sh' > "$rootfs/opt/start-mm2.sh"
|
||||
cat >> "$rootfs/opt/start-mm2.sh" << 'START'
|
||||
export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
|
||||
export NODE_ENV=production
|
||||
export MM_PORT="${MM2_PORT:-8082}"
|
||||
export MM_ADDRESS="${MM2_ADDRESS:-0.0.0.0}"
|
||||
|
||||
cd /opt/magic_mirror
|
||||
MM_DIR="/opt/magic_mirror"
|
||||
modules_dir="${MM_DIR}/modules"
|
||||
default_dir="${modules_dir}/default"
|
||||
config_dir="${MM_DIR}/config"
|
||||
css_dir="${MM_DIR}/css"
|
||||
|
||||
cd "$MM_DIR"
|
||||
|
||||
# Setup default modules symlink (like Docker entrypoint)
|
||||
if [ -d "${MM_DIR}/__modules/default" ]; then
|
||||
mkdir -p "${modules_dir}"
|
||||
if [ ! -e "${default_dir}" ]; then
|
||||
echo "Symlinking default modules..."
|
||||
ln -sf "${MM_DIR}/__modules/default" "${modules_dir}/default"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Setup CSS files
|
||||
if [ -d "${MM_DIR}/__css" ] && [ ! -f "${css_dir}/main.css" ]; then
|
||||
mkdir -p "${css_dir}"
|
||||
echo "Copying CSS files..."
|
||||
cp ${MM_DIR}/__css/* "${css_dir}/" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Ensure custom.css exists
|
||||
[ ! -f "${css_dir}/custom.css" ] && touch "${css_dir}/custom.css"
|
||||
|
||||
# Wait for config to be available
|
||||
for i in 1 2 3 4 5; do
|
||||
[ -f /opt/magic_mirror/config/config.js ] && break
|
||||
[ -f "${config_dir}/config.js" ] && break
|
||||
echo "Waiting for config.js..."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
if [ ! -f /opt/magic_mirror/config/config.js ]; then
|
||||
if [ ! -f "${config_dir}/config.js" ]; then
|
||||
echo "ERROR: config.js not found, using default"
|
||||
cp /opt/magic_mirror/config/config.js.sample /opt/magic_mirror/config/config.js 2>/dev/null || true
|
||||
if [ -f "${MM_DIR}/__config/config.js.sample" ]; then
|
||||
mkdir -p "${config_dir}"
|
||||
cp "${MM_DIR}/__config/config.js.sample" "${config_dir}/config.js"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Starting MagicMirror2 on port $MM_PORT..."
|
||||
|
||||
Loading…
Reference in New Issue
Block a user