Compare commits
No commits in common. "4b6b05db816f515fa96eea6ea0faa00d197d463d" and "5835fa09d75efc6accd257255cdd4d8589ab3e66" have entirely different histories.
4b6b05db81
...
5835fa09d7
@ -50,18 +50,6 @@ _rocketchatLogin() {
|
|||||||
printf '%s %s' "$id" "$token"
|
printf '%s %s' "$id" "$token"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Rocket.Chat enables a password policy by default that demands lower, upper,
|
|
||||||
# digit AND special, at 14+ characters. generateRandomPassword is alphanumeric,
|
|
||||||
# so a generated password is rejected by users.update with "does not meet the
|
|
||||||
# server's password policy" — note that users.create does NOT enforce it, which
|
|
||||||
# is why creating worked while resetting did not.
|
|
||||||
#
|
|
||||||
# Appending one character from each class guarantees compliance without
|
|
||||||
# weakening anything: the entropy of the generated part is untouched.
|
|
||||||
_rocketchatPassword() {
|
|
||||||
printf '%s%s' "$(generateRandomPassword)" 'aZ7#'
|
|
||||||
}
|
|
||||||
|
|
||||||
# JSON-encode a bash string so a password containing quotes or backslashes
|
# JSON-encode a bash string so a password containing quotes or backslashes
|
||||||
# cannot break the request body.
|
# cannot break the request body.
|
||||||
_rcJson() {
|
_rcJson() {
|
||||||
@ -106,7 +94,7 @@ authAdapter_rocketchat_createUser() {
|
|||||||
local email="$1" password="$2" username="$3" isAdmin="$4"
|
local email="$1" password="$2" username="$3" isAdmin="$4"
|
||||||
[[ -z "$email" ]] && { isError "An email address is required."; return 1; }
|
[[ -z "$email" ]] && { isError "An email address is required."; return 1; }
|
||||||
[[ -z "$username" ]] && username="${email%@*}"
|
[[ -z "$username" ]] && username="${email%@*}"
|
||||||
[[ -z "$password" ]] && password=$(_rocketchatPassword)
|
[[ -z "$password" ]] && password=$(generateRandomPassword)
|
||||||
|
|
||||||
local roles='["user"]'
|
local roles='["user"]'
|
||||||
[[ "$isAdmin" == "true" ]] && roles='["admin","user"]'
|
[[ "$isAdmin" == "true" ]] && roles='["admin","user"]'
|
||||||
@ -132,20 +120,10 @@ try: print(json.load(sys.stdin).get('user',{}).get('_id',''))
|
|||||||
except Exception: print('')" 2>/dev/null
|
except Exception: print('')" 2>/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
_rocketchatUsernameOf() {
|
|
||||||
local who="$1" field="username"
|
|
||||||
[[ "$who" == *@* ]] && field="email"
|
|
||||||
local out
|
|
||||||
out=$(_rocketchatApi GET "/api/v1/users.info?${field}=${who}") || return 1
|
|
||||||
printf '%s' "$out" | python3 -c "import sys,json
|
|
||||||
try: print(json.load(sys.stdin).get('user',{}).get('username',''))
|
|
||||||
except Exception: print('')" 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
authAdapter_rocketchat_setPassword() {
|
authAdapter_rocketchat_setPassword() {
|
||||||
local who="$1" password="$2"
|
local who="$1" password="$2"
|
||||||
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
||||||
[[ -z "$password" ]] && password=$(_rocketchatPassword)
|
[[ -z "$password" ]] && password=$(generateRandomPassword)
|
||||||
|
|
||||||
local uid; uid=$(_rocketchatUserId "$who") || return 1
|
local uid; uid=$(_rocketchatUserId "$who") || return 1
|
||||||
[[ -z "$uid" ]] && { isError "No Rocket.Chat user '$who'."; return 1; }
|
[[ -z "$uid" ]] && { isError "No Rocket.Chat user '$who'."; return 1; }
|
||||||
@ -215,21 +193,6 @@ authAdapter_rocketchat_deleteUser() {
|
|||||||
isSuccessful "Rocket.Chat user '$who' deactivated. Re-enable them from Admin → Users."
|
isSuccessful "Rocket.Chat user '$who' deactivated. Re-enable them from Admin → Users."
|
||||||
}
|
}
|
||||||
|
|
||||||
# The counterpart to deleteUser. Deactivation is only a safe default if undoing
|
|
||||||
# it is equally easy — otherwise the "reversible" claim is theoretical.
|
|
||||||
authAdapter_rocketchat_enableUser() {
|
|
||||||
local who="$1"
|
|
||||||
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
|
||||||
|
|
||||||
local uid; uid=$(_rocketchatUserId "$who") || return 1
|
|
||||||
[[ -z "$uid" ]] && { isError "No Rocket.Chat user '$who'."; return 1; }
|
|
||||||
|
|
||||||
local out
|
|
||||||
out=$(_rocketchatApi POST /api/v1/users.setActiveStatus "$(printf '{"userId":%s,"activeStatus":true}' "$(_rcJson "$uid")")") || return 1
|
|
||||||
[[ "$(_rocketchatOk "$out")" != "yes" ]] && { isError "Enabling $who failed: $(_rocketchatError "$out")"; return 1; }
|
|
||||||
isSuccessful "Rocket.Chat user '$who' re-enabled."
|
|
||||||
}
|
|
||||||
|
|
||||||
authAdapter_rocketchat_setAdmin() {
|
authAdapter_rocketchat_setAdmin() {
|
||||||
local who="$1" isAdmin="$2"
|
local who="$1" isAdmin="$2"
|
||||||
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
||||||
@ -240,21 +203,15 @@ authAdapter_rocketchat_setAdmin() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# The endpoint takes roleId + username, and nothing else: passing roleName
|
local uid; uid=$(_rocketchatUserId "$who") || return 1
|
||||||
# fails schema validation with "must NOT have additional properties", and
|
[[ -z "$uid" ]] && { isError "No Rocket.Chat user '$who'."; return 1; }
|
||||||
# roleId + userId is rejected for a missing username. For built-in roles the
|
|
||||||
# id and the name happen to be the same string ("admin").
|
|
||||||
#
|
|
||||||
# username is resolved from the account rather than assumed from the input,
|
|
||||||
# so passing an email works here too.
|
|
||||||
local username
|
|
||||||
username=$(_rocketchatUsernameOf "$who") || return 1
|
|
||||||
[[ -z "$username" ]] && { isError "No Rocket.Chat user '$who'."; return 1; }
|
|
||||||
|
|
||||||
local endpoint="/api/v1/roles.addUserToRole"
|
local endpoint="/api/v1/roles.addUserToRole"
|
||||||
[[ "$target" == "false" ]] && endpoint="/api/v1/roles.removeUserFromRole"
|
|
||||||
local body
|
local body
|
||||||
body=$(printf '{"roleId":"admin","username":%s}' "$(_rcJson "$username")")
|
body=$(printf '{"roleName":"admin","username":%s}' "$(_rcJson "${who%%@*}")")
|
||||||
|
if [[ "$target" == "false" ]]; then
|
||||||
|
endpoint="/api/v1/roles.removeUserFromRole"
|
||||||
|
fi
|
||||||
|
|
||||||
local out
|
local out
|
||||||
out=$(_rocketchatApi POST "$endpoint" "$body") || return 1
|
out=$(_rocketchatApi POST "$endpoint" "$body") || return 1
|
||||||
|
|||||||
@ -100,21 +100,6 @@
|
|||||||
"required": true
|
"required": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "enable_user",
|
|
||||||
"category": "users",
|
|
||||||
"label": "Enable User Account",
|
|
||||||
"description": "Undo a deactivation and let the account sign in again.",
|
|
||||||
"icon": "✅",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "user",
|
|
||||||
"label": "Username or email",
|
|
||||||
"type": "text",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
appRocketchatEnableUser() {
|
|
||||||
local args="$1"
|
|
||||||
authAdapterCall rocketchat enableUser "$(authToolArg "$args" user)"
|
|
||||||
}
|
|
||||||
@ -1,121 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Stoat user management.
|
|
||||||
#
|
|
||||||
# Deliberately the thinnest set of the four, because Stoat gives the least to
|
|
||||||
# work with. Its service containers are distroless (no shell), it has no admin
|
|
||||||
# CLI, and its admin HTTP surface is not a stable documented API — so the only
|
|
||||||
# durable handles are the public auth endpoint and the database itself.
|
|
||||||
#
|
|
||||||
# What that rules out, and why:
|
|
||||||
#
|
|
||||||
# Password reset — Stoat hashes with argon2 through its own authifier layer.
|
|
||||||
# Reimplementing that in bash means matching its parameters exactly, and
|
|
||||||
# getting them subtly wrong writes a hash nothing can verify, silently locking
|
|
||||||
# the account out with no error at the time. Users reset their own password
|
|
||||||
# through the app; that path is not worth counterfeiting from a button.
|
|
||||||
#
|
|
||||||
# Role/permission editing — Stoat's permissions are per-server bitfields held
|
|
||||||
# on server_members, not a global admin flag. There is no single "make admin"
|
|
||||||
# to toggle; it is a server-by-server concept the app models properly and a
|
|
||||||
# button would misrepresent.
|
|
||||||
#
|
|
||||||
# What is left is genuinely useful and genuinely safe: see who exists, and turn
|
|
||||||
# an account off or back on.
|
|
||||||
|
|
||||||
_stoatMongo() {
|
|
||||||
runFileOp docker exec -i stoat-database mongosh revolt --quiet --eval "$1" 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
_stoatMongoFailed() {
|
|
||||||
local out="$1" what="$2"
|
|
||||||
# mongosh reports failures as a thrown error rather than a non-zero exit in
|
|
||||||
# --eval mode, so match on the text.
|
|
||||||
if [[ "$out" == *MongoServerError* || "$out" == *ReferenceError* || "$out" == *TypeError* ]]; then
|
|
||||||
isError "$what failed: $(printf '%s' "$out" | head -2 | tr '\n' ' ')"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Accounts and profiles are separate collections sharing an _id: `accounts` holds
|
|
||||||
# the login (email, disabled flag), `users` the profile (username, discriminator).
|
|
||||||
# Neither alone is a useful view, so join them.
|
|
||||||
authAdapter_stoat_listUsers() {
|
|
||||||
local out
|
|
||||||
out=$(_stoatMongo '
|
|
||||||
const users = db.users.find({}, {username:1, discriminator:1, display_name:1}).toArray();
|
|
||||||
const byId = {};
|
|
||||||
db.accounts.find({}, {email:1, disabled:1}).toArray().forEach(a => byId[a._id] = a);
|
|
||||||
users.forEach(u => {
|
|
||||||
const a = byId[u._id] || {};
|
|
||||||
const handle = u.username + (u.discriminator ? "#" + u.discriminator : "");
|
|
||||||
const state = a.disabled ? " (disabled)" : "";
|
|
||||||
print("LP_USER\t" + handle + "\t" + (a.email || "-") + "\t" + (u.display_name || "-") + state);
|
|
||||||
});
|
|
||||||
print("LP_TOTAL:" + users.length);
|
|
||||||
')
|
|
||||||
_stoatMongoFailed "$out" "Listing users" && return 1
|
|
||||||
|
|
||||||
local line total=0
|
|
||||||
while IFS= read -r line; do
|
|
||||||
case "$line" in
|
|
||||||
LP_USER*) IFS=$'\t' read -r _ handle email display <<< "$line"
|
|
||||||
printf ' %-24s %-30s %s\n' "$handle" "$email" "$display" ;;
|
|
||||||
LP_TOTAL:*) total="${line#LP_TOTAL:}" ;;
|
|
||||||
esac
|
|
||||||
done <<< "$out"
|
|
||||||
|
|
||||||
if [[ "$total" == "0" ]]; then
|
|
||||||
isNotice "No Stoat accounts yet — the first person to register becomes the instance owner."
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
isSuccessful "$total Stoat account(s)."
|
|
||||||
}
|
|
||||||
|
|
||||||
# Disabling is Stoat's own reversible state, not a hand-rolled hack: the account
|
|
||||||
# stays intact and its messages stay readable, the holder just cannot log in.
|
|
||||||
_stoatSetDisabled() {
|
|
||||||
local who="$1" disabled="$2" verb="$3"
|
|
||||||
[[ -z "$who" ]] && { isError "A username or email is required."; return 1; }
|
|
||||||
|
|
||||||
local out
|
|
||||||
out=$(_stoatMongoWho "$who" "$disabled")
|
|
||||||
_stoatMongoFailed "$out" "$verb $who" && return 1
|
|
||||||
[[ "$out" == *LP_MISSING* ]] && { isError "No Stoat account matching '$who'."; return 1; }
|
|
||||||
[[ "$out" != *LP_OK* ]] && { isError "$verb $who failed: $out"; return 1; }
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Kept separate so the account lookup (by email on `accounts`, or by username on
|
|
||||||
# `users`) lives in one place.
|
|
||||||
_stoatMongoWho() {
|
|
||||||
local who="$1" disabled="$2"
|
|
||||||
_stoatMongo "
|
|
||||||
const who = $(printf '%s' "$who" | python3 -c 'import sys,json;print(json.dumps(sys.stdin.read()))');
|
|
||||||
let acct = null;
|
|
||||||
if (who.includes('@')) {
|
|
||||||
acct = db.accounts.findOne({email: who});
|
|
||||||
} else {
|
|
||||||
const u = db.users.findOne({username: who});
|
|
||||||
if (u) acct = db.accounts.findOne({_id: u._id});
|
|
||||||
}
|
|
||||||
if (!acct) { print('LP_MISSING'); } else {
|
|
||||||
db.accounts.updateOne({_id: acct._id}, {\$set: {disabled: $disabled}});
|
|
||||||
print('LP_OK');
|
|
||||||
}
|
|
||||||
"
|
|
||||||
}
|
|
||||||
|
|
||||||
authAdapter_stoat_deleteUser() {
|
|
||||||
local who="$1"
|
|
||||||
_stoatSetDisabled "$who" "true" "Disabling" || return 1
|
|
||||||
isSuccessful "Stoat account '$who' disabled — they can no longer sign in. Re-enable it with the Enable tool."
|
|
||||||
isNotice "Their existing sessions are not revoked by this; restart the app to force everyone to re-authenticate."
|
|
||||||
}
|
|
||||||
|
|
||||||
authAdapter_stoat_enableUser() {
|
|
||||||
local who="$1"
|
|
||||||
_stoatSetDisabled "$who" "false" "Enabling" || return 1
|
|
||||||
isSuccessful "Stoat account '$who' re-enabled."
|
|
||||||
}
|
|
||||||
@ -94,8 +94,3 @@ CFG_STOAT_PORT_1="stoat-caddy|webui|random:80|public|tcp|false|true|true|Web Int
|
|||||||
# external port would be advertised wrongly and voice would fail to connect.
|
# external port would be advertised wrongly and voice would fail to connect.
|
||||||
# Not Traefik-managed — WebRTC is not HTTP.
|
# Not Traefik-managed — WebRTC is not HTTP.
|
||||||
CFG_STOAT_PORT_2="stoat-livekit|voice-tcp|7881:7881|public|tcp|false|false|false|LiveKit voice/video (TCP fallback)|"
|
CFG_STOAT_PORT_2="stoat-livekit|voice-tcp|7881:7881|public|tcp|false|false|false|LiveKit voice/video (TCP fallback)|"
|
||||||
|
|
||||||
# AUTH_PROFILE = capability tier for the WebUI auth tools (single_password | user_password | multi_user)
|
|
||||||
# Stoat exposes no safe way to set a password or grant a role from outside the
|
|
||||||
# app, so these tools list and enable/disable only — see scripts/stoat_auth.sh.
|
|
||||||
CFG_STOAT_AUTH_PROFILE=multi_user
|
|
||||||
|
|||||||
@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"tools": [
|
|
||||||
{
|
|
||||||
"id": "list_users",
|
|
||||||
"category": "users",
|
|
||||||
"label": "List Users",
|
|
||||||
"description": "Every Stoat account, with its email and whether it is disabled.",
|
|
||||||
"icon": "📋",
|
|
||||||
"fields": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "disable_user",
|
|
||||||
"category": "users",
|
|
||||||
"label": "Disable User Account",
|
|
||||||
"description": "Block sign-in without deleting the account or its messages. Reversible.",
|
|
||||||
"icon": "🚫",
|
|
||||||
"destructive": true,
|
|
||||||
"confirm": "The user will not be able to sign in again until re-enabled.",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "user",
|
|
||||||
"label": "Username or email",
|
|
||||||
"type": "text",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "enable_user",
|
|
||||||
"category": "users",
|
|
||||||
"label": "Enable User Account",
|
|
||||||
"description": "Undo a disable and let the account sign in again.",
|
|
||||||
"icon": "✅",
|
|
||||||
"fields": [
|
|
||||||
{
|
|
||||||
"name": "user",
|
|
||||||
"label": "Username or email",
|
|
||||||
"type": "text",
|
|
||||||
"required": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
appStoatDisableUser() {
|
|
||||||
local args="$1"
|
|
||||||
authAdapterCall stoat deleteUser "$(authToolArg "$args" user)"
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
appStoatEnableUser() {
|
|
||||||
local args="$1"
|
|
||||||
authAdapterCall stoat enableUser "$(authToolArg "$args" user)"
|
|
||||||
}
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
appStoatListUsers() {
|
|
||||||
authAdapterCall stoat listUsers
|
|
||||||
}
|
|
||||||
@ -87,7 +87,6 @@ declare -gA LP_FN_MAP=(
|
|||||||
[_appReqServiceMsg]="checks/requirements/check_app_install.sh"
|
[_appReqServiceMsg]="checks/requirements/check_app_install.sh"
|
||||||
[appRocketchatCreateAccount]="rocketchat/tools/rocketchat_create_account.sh"
|
[appRocketchatCreateAccount]="rocketchat/tools/rocketchat_create_account.sh"
|
||||||
[appRocketchatDeactivateUser]="rocketchat/tools/rocketchat_deactivate_user.sh"
|
[appRocketchatDeactivateUser]="rocketchat/tools/rocketchat_deactivate_user.sh"
|
||||||
[appRocketchatEnableUser]="rocketchat/tools/rocketchat_enable_user.sh"
|
|
||||||
[appRocketchatListUsers]="rocketchat/tools/rocketchat_list_users.sh"
|
[appRocketchatListUsers]="rocketchat/tools/rocketchat_list_users.sh"
|
||||||
[appRocketchatResetPassword]="rocketchat/tools/rocketchat_reset_password.sh"
|
[appRocketchatResetPassword]="rocketchat/tools/rocketchat_reset_password.sh"
|
||||||
[appRocketchatSetAdmin]="rocketchat/tools/rocketchat_set_admin.sh"
|
[appRocketchatSetAdmin]="rocketchat/tools/rocketchat_set_admin.sh"
|
||||||
@ -101,9 +100,6 @@ declare -gA LP_FN_MAP=(
|
|||||||
[appSetupComposeTags_vaultwarden]="vaultwarden/scripts/vaultwarden_compose_tags.sh"
|
[appSetupComposeTags_vaultwarden]="vaultwarden/scripts/vaultwarden_compose_tags.sh"
|
||||||
[appSetupComposeTags_wireguard]="wireguard/scripts/wireguard_compose_tags.sh"
|
[appSetupComposeTags_wireguard]="wireguard/scripts/wireguard_compose_tags.sh"
|
||||||
[appStatus]="app/app_status.sh"
|
[appStatus]="app/app_status.sh"
|
||||||
[appStoatDisableUser]="stoat/tools/stoat_disable_user.sh"
|
|
||||||
[appStoatEnableUser]="stoat/tools/stoat_enable_user.sh"
|
|
||||||
[appStoatListUsers]="stoat/tools/stoat_list_users.sh"
|
|
||||||
[appTraefikExtraMiddlewares_onlyoffice]="onlyoffice/scripts/onlyoffice_traefik.sh"
|
[appTraefikExtraMiddlewares_onlyoffice]="onlyoffice/scripts/onlyoffice_traefik.sh"
|
||||||
[appTraefikResetPassword]="traefik/tools/traefik_reset_password.sh"
|
[appTraefikResetPassword]="traefik/tools/traefik_reset_password.sh"
|
||||||
[appTraefikSkipsDefaultMiddleware_onlyoffice]="onlyoffice/scripts/onlyoffice_traefik.sh"
|
[appTraefikSkipsDefaultMiddleware_onlyoffice]="onlyoffice/scripts/onlyoffice_traefik.sh"
|
||||||
@ -184,13 +180,9 @@ declare -gA LP_FN_MAP=(
|
|||||||
[authAdapter_nextcloud_setPassword]="nextcloud/scripts/nextcloud_auth.sh"
|
[authAdapter_nextcloud_setPassword]="nextcloud/scripts/nextcloud_auth.sh"
|
||||||
[authAdapter_rocketchat_createUser]="rocketchat/scripts/rocketchat_auth.sh"
|
[authAdapter_rocketchat_createUser]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[authAdapter_rocketchat_deleteUser]="rocketchat/scripts/rocketchat_auth.sh"
|
[authAdapter_rocketchat_deleteUser]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[authAdapter_rocketchat_enableUser]="rocketchat/scripts/rocketchat_auth.sh"
|
|
||||||
[authAdapter_rocketchat_listUsers]="rocketchat/scripts/rocketchat_auth.sh"
|
[authAdapter_rocketchat_listUsers]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[authAdapter_rocketchat_setAdmin]="rocketchat/scripts/rocketchat_auth.sh"
|
[authAdapter_rocketchat_setAdmin]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[authAdapter_rocketchat_setPassword]="rocketchat/scripts/rocketchat_auth.sh"
|
[authAdapter_rocketchat_setPassword]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[authAdapter_stoat_deleteUser]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[authAdapter_stoat_enableUser]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[authAdapter_stoat_listUsers]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[authAdapter_traefik_setPassword]="traefik/scripts/traefik_auth.sh"
|
[authAdapter_traefik_setPassword]="traefik/scripts/traefik_auth.sh"
|
||||||
[authelia_install_post]="authelia/scripts/authelia_install_hooks.sh"
|
[authelia_install_post]="authelia/scripts/authelia_install_hooks.sh"
|
||||||
[authelia_install_post_compose]="authelia/scripts/authelia_install_hooks.sh"
|
[authelia_install_post_compose]="authelia/scripts/authelia_install_hooks.sh"
|
||||||
@ -874,9 +866,7 @@ declare -gA LP_FN_MAP=(
|
|||||||
[rocketchat_install_post_start]="rocketchat/scripts/rocketchat_install_hooks.sh"
|
[rocketchat_install_post_start]="rocketchat/scripts/rocketchat_install_hooks.sh"
|
||||||
[_rocketchatLogin]="rocketchat/scripts/rocketchat_auth.sh"
|
[_rocketchatLogin]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[_rocketchatOk]="rocketchat/scripts/rocketchat_auth.sh"
|
[_rocketchatOk]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[_rocketchatPassword]="rocketchat/scripts/rocketchat_auth.sh"
|
|
||||||
[_rocketchatUserId]="rocketchat/scripts/rocketchat_auth.sh"
|
[_rocketchatUserId]="rocketchat/scripts/rocketchat_auth.sh"
|
||||||
[_rocketchatUsernameOf]="rocketchat/scripts/rocketchat_auth.sh"
|
|
||||||
[runAppCfg]="docker/command/run_privileged.sh"
|
[runAppCfg]="docker/command/run_privileged.sh"
|
||||||
[runAsManager]="docker/command/run_privileged.sh"
|
[runAsManager]="docker/command/run_privileged.sh"
|
||||||
[runBackupOp]="docker/command/run_privileged.sh"
|
[runBackupOp]="docker/command/run_privileged.sh"
|
||||||
@ -945,10 +935,6 @@ declare -gA LP_FN_MAP=(
|
|||||||
[stoat_install_post_compose]="stoat/scripts/stoat_install_hooks.sh"
|
[stoat_install_post_compose]="stoat/scripts/stoat_install_hooks.sh"
|
||||||
[stoat_install_post_start]="stoat/scripts/stoat_install_hooks.sh"
|
[stoat_install_post_start]="stoat/scripts/stoat_install_hooks.sh"
|
||||||
[stoat_install_pre]="stoat/scripts/stoat_install_hooks.sh"
|
[stoat_install_pre]="stoat/scripts/stoat_install_hooks.sh"
|
||||||
[_stoatMongo]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[_stoatMongoFailed]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[_stoatMongoWho]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[_stoatSetDisabled]="stoat/scripts/stoat_auth.sh"
|
|
||||||
[_stoatWriteSecrets]="stoat/scripts/stoat_install_hooks.sh"
|
[_stoatWriteSecrets]="stoat/scripts/stoat_install_hooks.sh"
|
||||||
[_stoatWriteUrlFiles]="stoat/scripts/stoat_install_hooks.sh"
|
[_stoatWriteUrlFiles]="stoat/scripts/stoat_install_hooks.sh"
|
||||||
[stopCrowdsec]="crowdsec/crowdsec.sh"
|
[stopCrowdsec]="crowdsec/crowdsec.sh"
|
||||||
@ -1204,7 +1190,6 @@ declare -gA LP_FN_ROOT=(
|
|||||||
[_appReqServiceMsg]="scripts"
|
[_appReqServiceMsg]="scripts"
|
||||||
[appRocketchatCreateAccount]="containers"
|
[appRocketchatCreateAccount]="containers"
|
||||||
[appRocketchatDeactivateUser]="containers"
|
[appRocketchatDeactivateUser]="containers"
|
||||||
[appRocketchatEnableUser]="containers"
|
|
||||||
[appRocketchatListUsers]="containers"
|
[appRocketchatListUsers]="containers"
|
||||||
[appRocketchatResetPassword]="containers"
|
[appRocketchatResetPassword]="containers"
|
||||||
[appRocketchatSetAdmin]="containers"
|
[appRocketchatSetAdmin]="containers"
|
||||||
@ -1218,9 +1203,6 @@ declare -gA LP_FN_ROOT=(
|
|||||||
[appSetupComposeTags_vaultwarden]="containers"
|
[appSetupComposeTags_vaultwarden]="containers"
|
||||||
[appSetupComposeTags_wireguard]="containers"
|
[appSetupComposeTags_wireguard]="containers"
|
||||||
[appStatus]="scripts"
|
[appStatus]="scripts"
|
||||||
[appStoatDisableUser]="containers"
|
|
||||||
[appStoatEnableUser]="containers"
|
|
||||||
[appStoatListUsers]="containers"
|
|
||||||
[appTraefikExtraMiddlewares_onlyoffice]="containers"
|
[appTraefikExtraMiddlewares_onlyoffice]="containers"
|
||||||
[appTraefikResetPassword]="containers"
|
[appTraefikResetPassword]="containers"
|
||||||
[appTraefikSkipsDefaultMiddleware_onlyoffice]="containers"
|
[appTraefikSkipsDefaultMiddleware_onlyoffice]="containers"
|
||||||
@ -1301,13 +1283,9 @@ declare -gA LP_FN_ROOT=(
|
|||||||
[authAdapter_nextcloud_setPassword]="containers"
|
[authAdapter_nextcloud_setPassword]="containers"
|
||||||
[authAdapter_rocketchat_createUser]="containers"
|
[authAdapter_rocketchat_createUser]="containers"
|
||||||
[authAdapter_rocketchat_deleteUser]="containers"
|
[authAdapter_rocketchat_deleteUser]="containers"
|
||||||
[authAdapter_rocketchat_enableUser]="containers"
|
|
||||||
[authAdapter_rocketchat_listUsers]="containers"
|
[authAdapter_rocketchat_listUsers]="containers"
|
||||||
[authAdapter_rocketchat_setAdmin]="containers"
|
[authAdapter_rocketchat_setAdmin]="containers"
|
||||||
[authAdapter_rocketchat_setPassword]="containers"
|
[authAdapter_rocketchat_setPassword]="containers"
|
||||||
[authAdapter_stoat_deleteUser]="containers"
|
|
||||||
[authAdapter_stoat_enableUser]="containers"
|
|
||||||
[authAdapter_stoat_listUsers]="containers"
|
|
||||||
[authAdapter_traefik_setPassword]="containers"
|
[authAdapter_traefik_setPassword]="containers"
|
||||||
[authelia_install_post]="containers"
|
[authelia_install_post]="containers"
|
||||||
[authelia_install_post_compose]="containers"
|
[authelia_install_post_compose]="containers"
|
||||||
@ -1991,9 +1969,7 @@ declare -gA LP_FN_ROOT=(
|
|||||||
[rocketchat_install_post_start]="containers"
|
[rocketchat_install_post_start]="containers"
|
||||||
[_rocketchatLogin]="containers"
|
[_rocketchatLogin]="containers"
|
||||||
[_rocketchatOk]="containers"
|
[_rocketchatOk]="containers"
|
||||||
[_rocketchatPassword]="containers"
|
|
||||||
[_rocketchatUserId]="containers"
|
[_rocketchatUserId]="containers"
|
||||||
[_rocketchatUsernameOf]="containers"
|
|
||||||
[runAppCfg]="scripts"
|
[runAppCfg]="scripts"
|
||||||
[runAsManager]="scripts"
|
[runAsManager]="scripts"
|
||||||
[runBackupOp]="scripts"
|
[runBackupOp]="scripts"
|
||||||
@ -2062,10 +2038,6 @@ declare -gA LP_FN_ROOT=(
|
|||||||
[stoat_install_post_compose]="containers"
|
[stoat_install_post_compose]="containers"
|
||||||
[stoat_install_post_start]="containers"
|
[stoat_install_post_start]="containers"
|
||||||
[stoat_install_pre]="containers"
|
[stoat_install_pre]="containers"
|
||||||
[_stoatMongo]="containers"
|
|
||||||
[_stoatMongoFailed]="containers"
|
|
||||||
[_stoatMongoWho]="containers"
|
|
||||||
[_stoatSetDisabled]="containers"
|
|
||||||
[_stoatWriteSecrets]="containers"
|
[_stoatWriteSecrets]="containers"
|
||||||
[_stoatWriteUrlFiles]="containers"
|
[_stoatWriteUrlFiles]="containers"
|
||||||
[stopCrowdsec]="containers"
|
[stopCrowdsec]="containers"
|
||||||
@ -2356,7 +2328,6 @@ _appReqServiceInstalled() { unset -f _appReqServiceInstalled; __lpAutoload "${in
|
|||||||
_appReqServiceMsg() { unset -f _appReqServiceMsg; __lpAutoload "${install_scripts_dir}checks/requirements/check_app_install.sh"; _appReqServiceMsg "$@"; }
|
_appReqServiceMsg() { unset -f _appReqServiceMsg; __lpAutoload "${install_scripts_dir}checks/requirements/check_app_install.sh"; _appReqServiceMsg "$@"; }
|
||||||
appRocketchatCreateAccount() { unset -f appRocketchatCreateAccount; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_create_account.sh"; appRocketchatCreateAccount "$@"; }
|
appRocketchatCreateAccount() { unset -f appRocketchatCreateAccount; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_create_account.sh"; appRocketchatCreateAccount "$@"; }
|
||||||
appRocketchatDeactivateUser() { unset -f appRocketchatDeactivateUser; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_deactivate_user.sh"; appRocketchatDeactivateUser "$@"; }
|
appRocketchatDeactivateUser() { unset -f appRocketchatDeactivateUser; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_deactivate_user.sh"; appRocketchatDeactivateUser "$@"; }
|
||||||
appRocketchatEnableUser() { unset -f appRocketchatEnableUser; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_enable_user.sh"; appRocketchatEnableUser "$@"; }
|
|
||||||
appRocketchatListUsers() { unset -f appRocketchatListUsers; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_list_users.sh"; appRocketchatListUsers "$@"; }
|
appRocketchatListUsers() { unset -f appRocketchatListUsers; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_list_users.sh"; appRocketchatListUsers "$@"; }
|
||||||
appRocketchatResetPassword() { unset -f appRocketchatResetPassword; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_reset_password.sh"; appRocketchatResetPassword "$@"; }
|
appRocketchatResetPassword() { unset -f appRocketchatResetPassword; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_reset_password.sh"; appRocketchatResetPassword "$@"; }
|
||||||
appRocketchatSetAdmin() { unset -f appRocketchatSetAdmin; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_set_admin.sh"; appRocketchatSetAdmin "$@"; }
|
appRocketchatSetAdmin() { unset -f appRocketchatSetAdmin; __lpAutoload "${install_containers_dir}rocketchat/tools/rocketchat_set_admin.sh"; appRocketchatSetAdmin "$@"; }
|
||||||
@ -2370,9 +2341,6 @@ appSetupComposeTags_speedtest() { unset -f appSetupComposeTags_speedtest; __lpAu
|
|||||||
appSetupComposeTags_vaultwarden() { unset -f appSetupComposeTags_vaultwarden; __lpAutoload "${install_containers_dir}vaultwarden/scripts/vaultwarden_compose_tags.sh"; appSetupComposeTags_vaultwarden "$@"; }
|
appSetupComposeTags_vaultwarden() { unset -f appSetupComposeTags_vaultwarden; __lpAutoload "${install_containers_dir}vaultwarden/scripts/vaultwarden_compose_tags.sh"; appSetupComposeTags_vaultwarden "$@"; }
|
||||||
appSetupComposeTags_wireguard() { unset -f appSetupComposeTags_wireguard; __lpAutoload "${install_containers_dir}wireguard/scripts/wireguard_compose_tags.sh"; appSetupComposeTags_wireguard "$@"; }
|
appSetupComposeTags_wireguard() { unset -f appSetupComposeTags_wireguard; __lpAutoload "${install_containers_dir}wireguard/scripts/wireguard_compose_tags.sh"; appSetupComposeTags_wireguard "$@"; }
|
||||||
appStatus() { unset -f appStatus; __lpAutoload "${install_scripts_dir}app/app_status.sh"; appStatus "$@"; }
|
appStatus() { unset -f appStatus; __lpAutoload "${install_scripts_dir}app/app_status.sh"; appStatus "$@"; }
|
||||||
appStoatDisableUser() { unset -f appStoatDisableUser; __lpAutoload "${install_containers_dir}stoat/tools/stoat_disable_user.sh"; appStoatDisableUser "$@"; }
|
|
||||||
appStoatEnableUser() { unset -f appStoatEnableUser; __lpAutoload "${install_containers_dir}stoat/tools/stoat_enable_user.sh"; appStoatEnableUser "$@"; }
|
|
||||||
appStoatListUsers() { unset -f appStoatListUsers; __lpAutoload "${install_containers_dir}stoat/tools/stoat_list_users.sh"; appStoatListUsers "$@"; }
|
|
||||||
appTraefikExtraMiddlewares_onlyoffice() { unset -f appTraefikExtraMiddlewares_onlyoffice; __lpAutoload "${install_containers_dir}onlyoffice/scripts/onlyoffice_traefik.sh"; appTraefikExtraMiddlewares_onlyoffice "$@"; }
|
appTraefikExtraMiddlewares_onlyoffice() { unset -f appTraefikExtraMiddlewares_onlyoffice; __lpAutoload "${install_containers_dir}onlyoffice/scripts/onlyoffice_traefik.sh"; appTraefikExtraMiddlewares_onlyoffice "$@"; }
|
||||||
appTraefikResetPassword() { unset -f appTraefikResetPassword; __lpAutoload "${install_containers_dir}traefik/tools/traefik_reset_password.sh"; appTraefikResetPassword "$@"; }
|
appTraefikResetPassword() { unset -f appTraefikResetPassword; __lpAutoload "${install_containers_dir}traefik/tools/traefik_reset_password.sh"; appTraefikResetPassword "$@"; }
|
||||||
appTraefikSkipsDefaultMiddleware_onlyoffice() { unset -f appTraefikSkipsDefaultMiddleware_onlyoffice; __lpAutoload "${install_containers_dir}onlyoffice/scripts/onlyoffice_traefik.sh"; appTraefikSkipsDefaultMiddleware_onlyoffice "$@"; }
|
appTraefikSkipsDefaultMiddleware_onlyoffice() { unset -f appTraefikSkipsDefaultMiddleware_onlyoffice; __lpAutoload "${install_containers_dir}onlyoffice/scripts/onlyoffice_traefik.sh"; appTraefikSkipsDefaultMiddleware_onlyoffice "$@"; }
|
||||||
@ -2453,13 +2421,9 @@ authAdapter_nextcloud_setAdmin() { unset -f authAdapter_nextcloud_setAdmin; __lp
|
|||||||
authAdapter_nextcloud_setPassword() { unset -f authAdapter_nextcloud_setPassword; __lpAutoload "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; authAdapter_nextcloud_setPassword "$@"; }
|
authAdapter_nextcloud_setPassword() { unset -f authAdapter_nextcloud_setPassword; __lpAutoload "${install_containers_dir}nextcloud/scripts/nextcloud_auth.sh"; authAdapter_nextcloud_setPassword "$@"; }
|
||||||
authAdapter_rocketchat_createUser() { unset -f authAdapter_rocketchat_createUser; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_createUser "$@"; }
|
authAdapter_rocketchat_createUser() { unset -f authAdapter_rocketchat_createUser; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_createUser "$@"; }
|
||||||
authAdapter_rocketchat_deleteUser() { unset -f authAdapter_rocketchat_deleteUser; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_deleteUser "$@"; }
|
authAdapter_rocketchat_deleteUser() { unset -f authAdapter_rocketchat_deleteUser; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_deleteUser "$@"; }
|
||||||
authAdapter_rocketchat_enableUser() { unset -f authAdapter_rocketchat_enableUser; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_enableUser "$@"; }
|
|
||||||
authAdapter_rocketchat_listUsers() { unset -f authAdapter_rocketchat_listUsers; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_listUsers "$@"; }
|
authAdapter_rocketchat_listUsers() { unset -f authAdapter_rocketchat_listUsers; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_listUsers "$@"; }
|
||||||
authAdapter_rocketchat_setAdmin() { unset -f authAdapter_rocketchat_setAdmin; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_setAdmin "$@"; }
|
authAdapter_rocketchat_setAdmin() { unset -f authAdapter_rocketchat_setAdmin; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_setAdmin "$@"; }
|
||||||
authAdapter_rocketchat_setPassword() { unset -f authAdapter_rocketchat_setPassword; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_setPassword "$@"; }
|
authAdapter_rocketchat_setPassword() { unset -f authAdapter_rocketchat_setPassword; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; authAdapter_rocketchat_setPassword "$@"; }
|
||||||
authAdapter_stoat_deleteUser() { unset -f authAdapter_stoat_deleteUser; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; authAdapter_stoat_deleteUser "$@"; }
|
|
||||||
authAdapter_stoat_enableUser() { unset -f authAdapter_stoat_enableUser; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; authAdapter_stoat_enableUser "$@"; }
|
|
||||||
authAdapter_stoat_listUsers() { unset -f authAdapter_stoat_listUsers; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; authAdapter_stoat_listUsers "$@"; }
|
|
||||||
authAdapter_traefik_setPassword() { unset -f authAdapter_traefik_setPassword; __lpAutoload "${install_containers_dir}traefik/scripts/traefik_auth.sh"; authAdapter_traefik_setPassword "$@"; }
|
authAdapter_traefik_setPassword() { unset -f authAdapter_traefik_setPassword; __lpAutoload "${install_containers_dir}traefik/scripts/traefik_auth.sh"; authAdapter_traefik_setPassword "$@"; }
|
||||||
authelia_install_post() { unset -f authelia_install_post; __lpAutoload "${install_containers_dir}authelia/scripts/authelia_install_hooks.sh"; authelia_install_post "$@"; }
|
authelia_install_post() { unset -f authelia_install_post; __lpAutoload "${install_containers_dir}authelia/scripts/authelia_install_hooks.sh"; authelia_install_post "$@"; }
|
||||||
authelia_install_post_compose() { unset -f authelia_install_post_compose; __lpAutoload "${install_containers_dir}authelia/scripts/authelia_install_hooks.sh"; authelia_install_post_compose "$@"; }
|
authelia_install_post_compose() { unset -f authelia_install_post_compose; __lpAutoload "${install_containers_dir}authelia/scripts/authelia_install_hooks.sh"; authelia_install_post_compose "$@"; }
|
||||||
@ -3143,9 +3107,7 @@ rocketchat_install_post() { unset -f rocketchat_install_post; __lpAutoload "${in
|
|||||||
rocketchat_install_post_start() { unset -f rocketchat_install_post_start; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_install_hooks.sh"; rocketchat_install_post_start "$@"; }
|
rocketchat_install_post_start() { unset -f rocketchat_install_post_start; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_install_hooks.sh"; rocketchat_install_post_start "$@"; }
|
||||||
_rocketchatLogin() { unset -f _rocketchatLogin; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatLogin "$@"; }
|
_rocketchatLogin() { unset -f _rocketchatLogin; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatLogin "$@"; }
|
||||||
_rocketchatOk() { unset -f _rocketchatOk; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatOk "$@"; }
|
_rocketchatOk() { unset -f _rocketchatOk; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatOk "$@"; }
|
||||||
_rocketchatPassword() { unset -f _rocketchatPassword; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatPassword "$@"; }
|
|
||||||
_rocketchatUserId() { unset -f _rocketchatUserId; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatUserId "$@"; }
|
_rocketchatUserId() { unset -f _rocketchatUserId; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatUserId "$@"; }
|
||||||
_rocketchatUsernameOf() { unset -f _rocketchatUsernameOf; __lpAutoload "${install_containers_dir}rocketchat/scripts/rocketchat_auth.sh"; _rocketchatUsernameOf "$@"; }
|
|
||||||
runAppCfg() { unset -f runAppCfg; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runAppCfg "$@"; }
|
runAppCfg() { unset -f runAppCfg; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runAppCfg "$@"; }
|
||||||
runAsManager() { unset -f runAsManager; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runAsManager "$@"; }
|
runAsManager() { unset -f runAsManager; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runAsManager "$@"; }
|
||||||
runBackupOp() { unset -f runBackupOp; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runBackupOp "$@"; }
|
runBackupOp() { unset -f runBackupOp; __lpAutoload "${install_scripts_dir}docker/command/run_privileged.sh"; runBackupOp "$@"; }
|
||||||
@ -3214,10 +3176,6 @@ stoat_install_post() { unset -f stoat_install_post; __lpAutoload "${install_cont
|
|||||||
stoat_install_post_compose() { unset -f stoat_install_post_compose; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_post_compose "$@"; }
|
stoat_install_post_compose() { unset -f stoat_install_post_compose; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_post_compose "$@"; }
|
||||||
stoat_install_post_start() { unset -f stoat_install_post_start; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_post_start "$@"; }
|
stoat_install_post_start() { unset -f stoat_install_post_start; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_post_start "$@"; }
|
||||||
stoat_install_pre() { unset -f stoat_install_pre; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_pre "$@"; }
|
stoat_install_pre() { unset -f stoat_install_pre; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; stoat_install_pre "$@"; }
|
||||||
_stoatMongo() { unset -f _stoatMongo; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; _stoatMongo "$@"; }
|
|
||||||
_stoatMongoFailed() { unset -f _stoatMongoFailed; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; _stoatMongoFailed "$@"; }
|
|
||||||
_stoatMongoWho() { unset -f _stoatMongoWho; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; _stoatMongoWho "$@"; }
|
|
||||||
_stoatSetDisabled() { unset -f _stoatSetDisabled; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_auth.sh"; _stoatSetDisabled "$@"; }
|
|
||||||
_stoatWriteSecrets() { unset -f _stoatWriteSecrets; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; _stoatWriteSecrets "$@"; }
|
_stoatWriteSecrets() { unset -f _stoatWriteSecrets; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; _stoatWriteSecrets "$@"; }
|
||||||
_stoatWriteUrlFiles() { unset -f _stoatWriteUrlFiles; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; _stoatWriteUrlFiles "$@"; }
|
_stoatWriteUrlFiles() { unset -f _stoatWriteUrlFiles; __lpAutoload "${install_containers_dir}stoat/scripts/stoat_install_hooks.sh"; _stoatWriteUrlFiles "$@"; }
|
||||||
stopCrowdsec() { unset -f stopCrowdsec; __lpAutoload "${install_containers_dir}crowdsec/crowdsec.sh"; stopCrowdsec "$@"; }
|
stopCrowdsec() { unset -f stopCrowdsec; __lpAutoload "${install_containers_dir}crowdsec/crowdsec.sh"; stopCrowdsec "$@"; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user