23 lines
882 B
Bash
Executable File
23 lines
882 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# Fix permissions for mounted volumes (host dirs may be root-owned on first
|
|
# run — Docker auto-creates missing bind-mount sources as root:root).
|
|
# /media's :ro parent mount cannot be chowned, but the :rw subdirs that
|
|
# media-api writes into can — and that's all the process needs.
|
|
# /app/logs is shared with the api container via the ./api:/app dev mount;
|
|
# api's entrypoint already chowns it but media-api may start independently.
|
|
if [ "$(id -u)" = "0" ]; then
|
|
for d in /media/local/inbox /media/local/thumbnails /media/local/photos \
|
|
/media/local/documents /media/public /app/logs; do
|
|
[ -d "$d" ] && chown -R node:node "$d" 2>/dev/null || true
|
|
done
|
|
fi
|
|
|
|
# Drop to node user if running as root (production image uses su-exec).
|
|
if [ "$(id -u)" = "0" ] && command -v su-exec >/dev/null 2>&1; then
|
|
exec su-exec node "$@"
|
|
else
|
|
exec "$@"
|
|
fi
|