Initial curated Unraid-AppOps-Gateway source from 3bd6f6fee310125bfbb4d4650389a817f498724d
This commit is contained in:
commit
1dfbca08a1
528 files changed
+131054
No files matched your search
@@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
DATA_DIR="${APPOPS_DATA_DIR:-/data}"
|
||||
mkdir -p "$DATA_DIR"
|
||||
|
||||
if [ "${APPOPS_REQUIRE_OPERATOR_AUTH:-false}" = "true" ] && [ -z "${APPOPS_OPERATOR_TOKEN:-}" ]; then
|
||||
OPERATOR_TOKEN_FILE="${APPOPS_OPERATOR_TOKEN_FILE:-${DATA_DIR}/operator-token}"
|
||||
if [ ! -s "$OPERATOR_TOKEN_FILE" ]; then
|
||||
umask 077
|
||||
python -c 'import secrets; print(secrets.token_urlsafe(48))' > "$OPERATOR_TOKEN_FILE"
|
||||
fi
|
||||
chmod 600 "$OPERATOR_TOKEN_FILE"
|
||||
fi
|
||||
|
||||
generate_service_token() {
|
||||
enabled="$1"
|
||||
token_value="$2"
|
||||
token_file="$3"
|
||||
if [ "$enabled" = "true" ] && [ -z "$token_value" ]; then
|
||||
if [ ! -s "$token_file" ]; then
|
||||
umask 077
|
||||
python -c 'import secrets; print(secrets.token_urlsafe(48))' > "$token_file"
|
||||
fi
|
||||
chmod 600 "$token_file"
|
||||
fi
|
||||
}
|
||||
|
||||
generate_service_token "${APPOPS_ENABLE_MCP:-false}" "${APPOPS_MCP_TOKEN:-}" "${APPOPS_MCP_TOKEN_FILE:-${DATA_DIR}/mcp-token}"
|
||||
generate_service_token "${APPOPS_ENABLE_N8N:-false}" "${APPOPS_N8N_TOKEN:-}" "${APPOPS_N8N_TOKEN_FILE:-${DATA_DIR}/n8n-token}"
|
||||
generate_service_token "true" "${APP_OPS_VOICE_TOKEN:-}" "${APP_OPS_VOICE_TOKEN_FILE:-${DATA_DIR}/voice-token}"
|
||||
|
||||
OWNER_MARKER="${DATA_DIR}/.appops-owner-v1"
|
||||
if [ ! -f "$OWNER_MARKER" ]; then
|
||||
chown -R appops:appops "$DATA_DIR"
|
||||
touch "$OWNER_MARKER"
|
||||
fi
|
||||
chown appops:appops "$DATA_DIR" "$OWNER_MARKER"
|
||||
for token_file in \
|
||||
"${APPOPS_OPERATOR_TOKEN_FILE:-${DATA_DIR}/operator-token}" \
|
||||
"${APP_OPS_VOICE_TOKEN_FILE:-${DATA_DIR}/voice-token}" \
|
||||
"${APPOPS_MCP_TOKEN_FILE:-${DATA_DIR}/mcp-token}" \
|
||||
"${APPOPS_N8N_TOKEN_FILE:-${DATA_DIR}/n8n-token}"; do
|
||||
[ ! -e "$token_file" ] || chown appops:appops "$token_file"
|
||||
done
|
||||
|
||||
exec gosu appops "$@"
|
||||
Reference in new issue
Block a user