Fred808 commited on
Commit
b772e78
·
verified ·
1 Parent(s): 9c993dc

Upload 32 files

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -1
  2. 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 -e stderr
 
 
 
 
 
 
 
 
 
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