Upload 32 files
Browse files- Dockerfile +4 -1
- src/server.sh +10 -1
Dockerfile
CHANGED
|
@@ -75,7 +75,10 @@ RUN set -eu && \
|
|
| 75 |
chown -R 1000:1000 /var/lib/nginx /var/log/nginx /var/cache/nginx /var/run 2>/dev/null || \
|
| 76 |
chmod -R 0777 /var/lib/nginx /var/log/nginx /var/cache/nginx /var/run || true && \
|
| 77 |
mkdir -p /run/shm && touch /run/shm/websocketd.log && chown 1000:1000 /run/shm/websocketd.log 2>/dev/null || \
|
| 78 |
-
chmod 0666 /run/shm/websocketd.log || true
|
|
|
|
|
|
|
|
|
|
| 79 |
|
| 80 |
COPY --chmod=755 ./src /run/
|
| 81 |
COPY --chmod=755 ./web /var/www/
|
|
|
|
| 75 |
chown -R 1000:1000 /var/lib/nginx /var/log/nginx /var/cache/nginx /var/run 2>/dev/null || \
|
| 76 |
chmod -R 0777 /var/lib/nginx /var/log/nginx /var/cache/nginx /var/run || true && \
|
| 77 |
mkdir -p /run/shm && touch /run/shm/websocketd.log && chown 1000:1000 /run/shm/websocketd.log 2>/dev/null || \
|
| 78 |
+
chmod 0666 /run/shm/websocketd.log || true && \
|
| 79 |
+
# Ensure nginx can create/open its pid file when running non-root
|
| 80 |
+
touch /run/nginx.pid && chown 1000:1000 /run/nginx.pid 2>/dev/null || \
|
| 81 |
+
chmod 0666 /run/nginx.pid || true
|
| 82 |
|
| 83 |
COPY --chmod=755 ./src /run/
|
| 84 |
COPY --chmod=755 ./web /var/www/
|
src/server.sh
CHANGED
|
@@ -46,7 +46,16 @@ if [[ "${WEB:-}" != [Nn]* ]]; then
|
|
| 46 |
fi
|
| 47 |
|
| 48 |
# Start webserver
|
| 49 |
-
nginx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
|
| 51 |
# Start websocket server — write logs to /run/shm (writable in non-root mode)
|
| 52 |
mkdir -p /run/shm
|
|
|
|
| 46 |
fi
|
| 47 |
|
| 48 |
# Start webserver
|
| 49 |
+
# Ensure nginx has a writable PID file: prefer /run/nginx.pid, otherwise use /run/shm/nginx.pid
|
| 50 |
+
mkdir -p /run /run/shm
|
| 51 |
+
PID_FILE="/run/nginx.pid"
|
| 52 |
+
if ! touch "$PID_FILE" 2>/dev/null || [ ! -w "$PID_FILE" ]; then
|
| 53 |
+
PID_FILE="/run/shm/nginx.pid"
|
| 54 |
+
mkdir -p "$(dirname "$PID_FILE")"
|
| 55 |
+
touch "$PID_FILE" 2>/dev/null || true
|
| 56 |
+
fi
|
| 57 |
+
info "Starting nginx with pid file: $PID_FILE"
|
| 58 |
+
nginx -g "pid $PID_FILE;" -e stderr
|
| 59 |
|
| 60 |
# Start websocket server — write logs to /run/shm (writable in non-root mode)
|
| 61 |
mkdir -p /run/shm
|