first commit
Some checks failed
Backend Tests / Static Checks (push) Has been cancelled
Backend Tests / Tests (other) (push) Has been cancelled
Backend Tests / Tests (plugin) (push) Has been cancelled
Backend Tests / Tests (server) (push) Has been cancelled
Backend Tests / Tests (store) (push) Has been cancelled
Build Canary Image / build-frontend (push) Has been cancelled
Build Canary Image / build-push (linux/amd64) (push) Has been cancelled
Build Canary Image / build-push (linux/arm64) (push) Has been cancelled
Build Canary Image / merge (push) Has been cancelled
Frontend Tests / Lint (push) Has been cancelled
Frontend Tests / Build (push) Has been cancelled
Proto Linter / Lint Protos (push) Has been cancelled
Some checks failed
Backend Tests / Static Checks (push) Has been cancelled
Backend Tests / Tests (other) (push) Has been cancelled
Backend Tests / Tests (plugin) (push) Has been cancelled
Backend Tests / Tests (server) (push) Has been cancelled
Backend Tests / Tests (store) (push) Has been cancelled
Build Canary Image / build-frontend (push) Has been cancelled
Build Canary Image / build-push (linux/amd64) (push) Has been cancelled
Build Canary Image / build-push (linux/arm64) (push) Has been cancelled
Build Canary Image / merge (push) Has been cancelled
Frontend Tests / Lint (push) Has been cancelled
Frontend Tests / Build (push) Has been cancelled
Proto Linter / Lint Protos (push) Has been cancelled
This commit is contained in:
45
scripts/entrypoint.sh
Executable file
45
scripts/entrypoint.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
# Fix ownership of data directory for users upgrading from older versions
|
||||
# where files were created as root
|
||||
MEMOS_UID=${MEMOS_UID:-10001}
|
||||
MEMOS_GID=${MEMOS_GID:-10001}
|
||||
DATA_DIR="/var/opt/memos"
|
||||
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
# Running as root, fix permissions and drop to nonroot
|
||||
if [ -d "$DATA_DIR" ]; then
|
||||
chown -R "$MEMOS_UID:$MEMOS_GID" "$DATA_DIR" 2>/dev/null || true
|
||||
fi
|
||||
exec su-exec "$MEMOS_UID:$MEMOS_GID" "$0" "$@"
|
||||
fi
|
||||
|
||||
file_env() {
|
||||
var="$1"
|
||||
fileVar="${var}_FILE"
|
||||
|
||||
val_var="$(printenv "$var")"
|
||||
val_fileVar="$(printenv "$fileVar")"
|
||||
|
||||
if [ -n "$val_var" ] && [ -n "$val_fileVar" ]; then
|
||||
echo "error: both $var and $fileVar are set (but are exclusive)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$val_var" ]; then
|
||||
val="$val_var"
|
||||
elif [ -n "$val_fileVar" ]; then
|
||||
if [ ! -r "$val_fileVar" ]; then
|
||||
echo "error: file '$val_fileVar' does not exist or is not readable" >&2
|
||||
exit 1
|
||||
fi
|
||||
val="$(cat "$val_fileVar")"
|
||||
fi
|
||||
|
||||
export "$var"="$val"
|
||||
unset "$fileVar"
|
||||
}
|
||||
|
||||
file_env "MEMOS_DSN"
|
||||
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user