This repository has been archived on 2026-04-14. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
hardlounge/docker-entrypoint.sh
Zodiac ecb9fe6b33 fix: Add entrypoint script to fix volume permissions at runtime
- Add docker-entrypoint.sh that runs as root to fix mounted volume permissions
- Creates required subdirectories (logs, users, packages) before app starts
- Copies default config.js if missing
- Drops to node user via su-exec before running the app
- Update Dockerfile to use entrypoint and install su-exec
- Update docker-compose.yml with UID/GID mapping and separate volume mounts
- Wrap filesystem operations in try-catch to handle permission errors gracefully
2025-12-29 19:02:58 -08:00

20 lines
691 B
Bash

#!/bin/sh
set -e
# Fix permissions on mounted volume at runtime
chown -R node:node /var/opt/hardlounge 2>/dev/null || true
chmod -R 755 /var/opt/hardlounge 2>/dev/null || true
# Create required subdirectories
mkdir -p /var/opt/hardlounge/logs /var/opt/hardlounge/users /var/opt/hardlounge/packages 2>/dev/null || true
chown -R node:node /var/opt/hardlounge 2>/dev/null || true
# Copy default config if it doesn't exist
if [ ! -f /var/opt/hardlounge/config.js ]; then
cp /var/opt/hardlounge-src/dist/defaults/config.js /var/opt/hardlounge/config.js 2>/dev/null || true
chown node:node /var/opt/hardlounge/config.js 2>/dev/null || true
fi
# Run as node user
exec su-exec node "$@"