From f596b36a73f8bf19226e45d9604afc133af14835 Mon Sep 17 00:00:00 2001 From: librelad Date: Tue, 18 Aug 2026 04:13:00 +0100 Subject: [PATCH] chore: remove Focalboard from the catalogue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Retired last commit, deleted now at the maintainer's call. Mattermost ended support in 2023, the community repo is asking for maintainers, and the image had not been rebuilt in 1042 days — the staleness signal's worst case after speedtest. Vikunja covers the same ground and is actively developed. Self-contained: every reference lived inside containers/focalboard/ plus its generated manifest entries, so nothing else needed touching. Git keeps the history. Anyone with it already installed keeps a running container and their data — removing the template only stops NEW installs. Their app will now report as unknown in the App Center rather than offering an update, which is the honest state for software with no upstream. Co-Authored-By: Claude Opus 5 --- containers/focalboard/docker-compose.yml | 48 ----------- containers/focalboard/focalboard.config | 69 --------------- containers/focalboard/focalboard.svg | 1 - .../focalboard/scripts/focalboard_auth.sh | 67 --------------- .../scripts/focalboard_set_admin.sh | 6 -- .../scripts/focalboard_update_specifics.sh | 12 --- .../focalboard/tools/focalboard.tools.json | 83 ------------------- .../tools/focalboard_create_account.sh | 6 -- .../tools/focalboard_delete_user.sh | 6 -- .../focalboard/tools/focalboard_list_users.sh | 5 -- .../tools/focalboard_reset_password.sh | 8 -- .../source/files/arrays/function_manifest.sh | 39 --------- 12 files changed, 350 deletions(-) delete mode 100755 containers/focalboard/docker-compose.yml delete mode 100755 containers/focalboard/focalboard.config delete mode 100755 containers/focalboard/focalboard.svg delete mode 100644 containers/focalboard/scripts/focalboard_auth.sh delete mode 100644 containers/focalboard/scripts/focalboard_set_admin.sh delete mode 100644 containers/focalboard/scripts/focalboard_update_specifics.sh delete mode 100644 containers/focalboard/tools/focalboard.tools.json delete mode 100644 containers/focalboard/tools/focalboard_create_account.sh delete mode 100644 containers/focalboard/tools/focalboard_delete_user.sh delete mode 100644 containers/focalboard/tools/focalboard_list_users.sh delete mode 100644 containers/focalboard/tools/focalboard_reset_password.sh diff --git a/containers/focalboard/docker-compose.yml b/containers/focalboard/docker-compose.yml deleted file mode 100755 index 06c3185..0000000 --- a/containers/focalboard/docker-compose.yml +++ /dev/null @@ -1,48 +0,0 @@ -networks: - DOCKER_NETWORK_DATA: #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA - external: true - -services: - focalboard-service: #LIBREPORTAL|SERVICE_TAG_1|focalboard-service - image: mattermost/focalboard:latest #LIBREPORTAL|FOCALBOARD_VERSION_TAG|latest - container_name: focalboard-service - # GLUETUN_OFF_BEGIN - ports: - - "PORTS_DATA_1" #LIBREPORTAL|PORTS_TAG_1|PORTS_DATA_1 - # GLUETUN_OFF_END - volumes: - - ./data:/opt/focalboard/data - environment: - - VIRTUAL_HOST:DOMAINSUBNAME_DATA #LIBREPORTAL|DOMAINSUBNAME_TAG|DOMAINSUBNAME_DATA - - VIRTUAL_PORT:8000 - - TZ:TIMEZONE_DATA #LIBREPORTAL|TIMEZONE_TAG|TIMEZONE_DATA - restart: unless-stopped - healthcheck: - disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA - labels: - libreportal.category: "CATEGORY_DATA" #LIBREPORTAL|CATEGORY_TAG|CATEGORY_DATA - libreportal.title: "TITLE_DATA" #LIBREPORTAL|TITLE_TAG|TITLE_DATA - libreportal.backup.db: "sqlite:::data/focalboard.db" - libreportal.backup.files: "focalboard-service:/opt/focalboard/data:data" - traefik.enable: TRAEFIK_ENABLE_DATA #LIBREPORTAL|TRAEFIK_ENABLE_TAG|TRAEFIK_ENABLE_DATA - # TRAEFIK_PORT_1_BEGIN - traefik.http.routers.focalboard-service.entrypoints: web,websecure - traefik.http.routers.focalboard-service.rule: Host(`DOMAINSUBNAME_DATA_1`) #LIBREPORTAL|DOMAINSUBNAME_TAG_1|DOMAINSUBNAME_DATA_1 - traefik.http.routers.focalboard-service.tls: true - traefik.http.routers.focalboard-service.tls.certresolver: production - traefik.http.services.focalboard-service.loadbalancer.server.port: PORT_INTERNAL_DATA_1 #LIBREPORTAL|PORT_INTERNAL_TAG_1|PORT_INTERNAL_DATA_1 - traefik.http.routers.focalboard-service.middlewares: MIDDLEWARE_DATA_1 #LIBREPORTAL|MIDDLEWARE_TAG_1|MIDDLEWARE_DATA_1 - # TRAEFIK_PORT_1_END - traefik.docker.network: DOCKER_NETWORK_DATA #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA - # GLUETUN_OFF_BEGIN - networks: - DOCKER_NETWORK_DATA: #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA - ipv4_address: IP_DATA_1 #LIBREPORTAL|IP_TAG_1|IP_DATA_1 - # GLUETUN_OFF_END - # GLUETUN_ON_BEGIN - # network_mode: "container:gluetun-service" - # GLUETUN_ON_END - logging: - driver: "json-file" - options: - max-size: "1m" diff --git a/containers/focalboard/focalboard.config b/containers/focalboard/focalboard.config deleted file mode 100755 index 9a6032c..0000000 --- a/containers/focalboard/focalboard.config +++ /dev/null @@ -1,69 +0,0 @@ -# -# ============================================================================= -# GENERAL CONFIGURATION -# ============================================================================= -# APP_NAME = name of application for use in scripts -# COMPOSE_FILE = default for no app_name in docker-compose file name, app if there is -# BACKUP = if true, include this application in backup operations -# UPDATE_TYPE = auto: new image builds are applied automatically (a recovery snapshot is taken first), manual: only when you press Update -# HEALTHCHECK = if true, default docker health checks for that container will be enabled -# AUTHELIA = if true, use Authelia authentication, if false turned off. -# HEADSCALE = options : false, local, remote (see general config). e.g false or local,remote -# -CFG_FOCALBOARD_APP_NAME=focalboard -CFG_FOCALBOARD_BACKUP=true -CFG_FOCALBOARD_BACKUP_STRATEGY=auto -CFG_FOCALBOARD_UPDATE_TYPE=manual -CFG_FOCALBOARD_COMPOSE_FILE=default -CFG_FOCALBOARD_HEALTHCHECK=true -CFG_FOCALBOARD_AUTHELIA=false -CFG_FOCALBOARD_HEADSCALE=false - -# ============================================================================= -# METADATA -# ============================================================================= -# CATEGORY = application category for grouping -# TITLE = display name for the application -# DESCRIPTION = short description of the application -# LONG_DESCRIPTION = detailed description of the application -# URL = source repository or documentation URL -# ACTIONS = available actions for this application -# -CFG_FOCALBOARD_CATEGORY="productivity" -CFG_FOCALBOARD_TITLE="Focalboard" -CFG_FOCALBOARD_DESCRIPTION="Project Management (unmaintained)" -CFG_FOCALBOARD_LONG_DESCRIPTION="NO LONGER MAINTAINED. Mattermost ended support in 2023 and the community repository is asking for maintainers; the image has not been rebuilt since October 2023, so it receives no security updates. Existing installs keep working and your data is untouched, but for a new board use Vikunja instead. Kept in the catalogue only so current users are not stranded" -CFG_FOCALBOARD_URL="https://github.com/mattermost/focalboard" -CFG_FOCALBOARD_ACTIONS="configure|install|restart|shutdown|uninstall" - -# ============================================================================= -# NETWORK CONFIGURATION -# ============================================================================= -# DOMAIN = number of domain from the general config, useful when using multiple domains -# WHITELIST = if true only allow whitelisted ips (see general config), if false allow all -# -CFG_FOCALBOARD_DOMAIN=1 -CFG_FOCALBOARD_WHITELIST=false -CFG_FOCALBOARD_NETWORK=default - -# ============================================================================= -# PORT CONFIGURATION -# ============================================================================= -# PORT_ = port configuration: app|name|external:internal|access|protocol|login|traefik|webui|description -# - app: application name -# - name: service identifier (webui, dns, ssh, etc.) -# - external:internal: port mapping (external can be 'random' for auto-allocation) -# - access: 'public' (internet accessible), 'private' (local network only), 'disabled' (not running) -# - protocol: 'tcp' or 'udp' -# - login: if true, this port requires basic-auth via Traefik (only meaningful when traefik=true) -# - traefik: if true, Traefik handles this port (reverse proxy) -# - webui: if true, this port serves the main web interface -# - description: human-readable description of the service -# -CFG_FOCALBOARD_PORT_1="focalboard-service|webui|random:8000|public|tcp|false|true|true|Web Interface||board" - -# AUTH_PROFILE = capability tier for the WebUI auth tools (single_password | user_password | multi_user) -CFG_FOCALBOARD_AUTH_PROFILE=multi_user -CFG_FOCALBOARD_ADMIN_USER= -CFG_FOCALBOARD_ADMIN_EMAIL= -CFG_FOCALBOARD_ADMIN_PASSWORD=RANDOMIZEDPASSWORD1 diff --git a/containers/focalboard/focalboard.svg b/containers/focalboard/focalboard.svg deleted file mode 100755 index b78e7e3..0000000 --- a/containers/focalboard/focalboard.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/containers/focalboard/scripts/focalboard_auth.sh b/containers/focalboard/scripts/focalboard_auth.sh deleted file mode 100644 index 35a9268..0000000 --- a/containers/focalboard/scripts/focalboard_auth.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash - -_focalboardSqlite() { - # The compose mount is ./data:/opt/focalboard/data — focalboard writes its - # sqlite db at /opt/focalboard/data/focalboard.db, so the auth tools must - # reach it there (the bare /data inside the container isn't mounted). - runFileOp docker exec -i focalboard-service sqlite3 /opt/focalboard/data/focalboard.db "$1" 2>&1 -} - -_focalboardBcrypt() { - if ! command -v htpasswd >/dev/null 2>&1; then - isError "htpasswd is required to bcrypt the password."; return 1 - fi - htpasswd -bnBC 10 "" "$1" | tr -d ':\n' -} - -authAdapter_focalboard_setPassword() { - local user="$1" password="$2" - [[ -z "$user" ]] && { isError "Username is required."; return 1; } - [[ -z "$password" ]] && password=$(generateRandomPassword) - local hash; hash=$(_focalboardBcrypt "$password") || return 1 - local out; out=$(_focalboardSqlite "UPDATE users SET password = '${hash//\'/\'\'}' WHERE username = '${user//\'/\'\'}'; SELECT changes();") - if [[ "$out" != "1" ]]; then isError "Focalboard reset failed (no user '$user'): $out"; return 1; fi - - if [[ "$user" == "${CFG_FOCALBOARD_ADMIN_USER:-}" ]]; then - authPersistCfg focalboard ADMIN_PASSWORD "$password" - fi - isSuccessful "Focalboard password set for $user — New password: $password" -} - -authAdapter_focalboard_createUser() { - local user="$1" password="$2" email="$3" isAdmin="$4" - [[ -z "$user" || -z "$email" ]] && { isError "Username and email are required."; return 1; } - [[ -z "$password" ]] && password=$(generateRandomPassword) - local hash; hash=$(_focalboardBcrypt "$password") || return 1 - local id="ez_$(date +%s)_${RANDOM}" - local now=$(date +%s%N | cut -c1-13) - local sql="INSERT INTO users (id, username, email, password, props, create_at, update_at, delete_at) VALUES ('$id','${user//\'/\'\'}','${email//\'/\'\'}','${hash//\'/\'\'}','{}',$now,$now,0);" - local out; out=$(_focalboardSqlite "$sql") - if [[ -n "$out" && "$out" != *"changes"* ]]; then isError "Focalboard create failed: $out"; return 1; fi - - if [[ "$isAdmin" == "true" && -z "${CFG_FOCALBOARD_ADMIN_USER:-}" ]]; then - authPersistCfg focalboard ADMIN_USER "$user" - authPersistCfg focalboard ADMIN_PASSWORD "$password" - fi - isSuccessful "Focalboard user created — User: $user — Email: $email — Password: $password" -} - -authAdapter_focalboard_listUsers() { - _focalboardSqlite ".mode tabs -SELECT 'EZ_USER', email, username, '' FROM users WHERE delete_at = 0 ORDER BY username;" -} - -authAdapter_focalboard_deleteUser() { - local user="$1" - [[ -z "$user" ]] && { isError "Username is required."; return 1; } - local now=$(date +%s%N | cut -c1-13) - local out; out=$(_focalboardSqlite "UPDATE users SET delete_at = $now WHERE username = '${user//\'/\'\'}'; SELECT changes();") - [[ "$out" != "1" ]] && { isError "Focalboard delete failed (no user '$user')."; return 1; } - isSuccessful "Focalboard user '$user' deleted (soft-delete)." -} - -authAdapter_focalboard_setAdmin() { - local user="$1" isAdmin="$2" - isNotice "Focalboard admin toggle is not exposed via SQL — set in the workspace UI." - return 1 -} diff --git a/containers/focalboard/scripts/focalboard_set_admin.sh b/containers/focalboard/scripts/focalboard_set_admin.sh deleted file mode 100644 index 7bf1378..0000000 --- a/containers/focalboard/scripts/focalboard_set_admin.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appFocalboardSetAdmin() { - local args="$1" - authAdapterCall focalboard setAdmin "$(authToolArg "$args" username)" "$(authToolArg "$args" admin)" -} diff --git a/containers/focalboard/scripts/focalboard_update_specifics.sh b/containers/focalboard/scripts/focalboard_update_specifics.sh deleted file mode 100644 index 31597b0..0000000 --- a/containers/focalboard/scripts/focalboard_update_specifics.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# Post-install/update specifics for Focalboard — dispatched by appUpdateSpecifics. -appUpdateSpecifics_focalboard() { - local app_name="$1" - # Focalboard runs as nobody (65534) and writes its sqlite db + uploads under - # its mounted data dir; fixPermissionsBeforeStart hands the dir to the install - # user, so give it to 65534 here or the server can't open the database. - # Setting shouldrestart (not local) requests the restart in appUpdateSpecifics. - runOwnership app-data-nobody "$app_name" - shouldrestart="true" -} diff --git a/containers/focalboard/tools/focalboard.tools.json b/containers/focalboard/tools/focalboard.tools.json deleted file mode 100644 index 89e9701..0000000 --- a/containers/focalboard/tools/focalboard.tools.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "tools": [ - { - "id": "reset_password", - "category": "users", - "label": "Reset User Password", - "description": "Set a new password for an existing user. Leave blank to generate one.", - "icon": "🔑", - "fields": [ - { - "name": "username", - "label": "Username", - "type": "text", - "required": true - }, - { - "name": "password", - "label": "New password", - "type": "password", - "placeholder": "Leave blank to generate" - } - ] - }, - { - "id": "create_account", - "category": "users", - "label": "Create User Account", - "description": "Add a new user. Tick \"Make admin\" for full rights.", - "icon": "👤", - "fields": [ - { - "name": "username", - "label": "Username", - "type": "text", - "required": true - }, - { - "name": "email", - "label": "Email", - "type": "text", - "required": true - }, - { - "name": "password", - "label": "Password", - "type": "password", - "placeholder": "Leave blank to generate" - }, - { - "name": "admin", - "label": "Make admin", - "type": "checkbox", - "default": false - } - ] - }, - { - "id": "list_users", - "category": "users", - "label": "List Users", - "description": "List every user.", - "icon": "📋", - "fields": [] - }, - { - "id": "delete_user", - "category": "users", - "label": "Delete User Account", - "description": "Permanently remove a user.", - "icon": "🗑", - "destructive": true, - "confirm": "This cannot be undone.", - "fields": [ - { - "name": "username", - "label": "Username", - "type": "text", - "required": true - } - ] - } - ] -} diff --git a/containers/focalboard/tools/focalboard_create_account.sh b/containers/focalboard/tools/focalboard_create_account.sh deleted file mode 100644 index 8ac1892..0000000 --- a/containers/focalboard/tools/focalboard_create_account.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appFocalboardCreateAccount() { - local args="$1" - authAdapterCall focalboard createUser "$(authToolArg "$args" username)" "$(authToolArg "$args" password)" "$(authToolArg "$args" email)" "$(authToolArg "$args" admin)" -} diff --git a/containers/focalboard/tools/focalboard_delete_user.sh b/containers/focalboard/tools/focalboard_delete_user.sh deleted file mode 100644 index 0d6f8e4..0000000 --- a/containers/focalboard/tools/focalboard_delete_user.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -appFocalboardDeleteUser() { - local args="$1" - authAdapterCall focalboard deleteUser "$(authToolArg "$args" username)" -} diff --git a/containers/focalboard/tools/focalboard_list_users.sh b/containers/focalboard/tools/focalboard_list_users.sh deleted file mode 100644 index d849346..0000000 --- a/containers/focalboard/tools/focalboard_list_users.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -appFocalboardListUsers() { - authAdapterCall focalboard listUsers -} diff --git a/containers/focalboard/tools/focalboard_reset_password.sh b/containers/focalboard/tools/focalboard_reset_password.sh deleted file mode 100644 index 4e18b83..0000000 --- a/containers/focalboard/tools/focalboard_reset_password.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -appFocalboardResetPassword() { - local args="$1" - authAdapterCall focalboard setPassword \ - "$(authToolArg "$args" username)" \ - "$(authToolArg "$args" password)" -} diff --git a/scripts/source/files/arrays/function_manifest.sh b/scripts/source/files/arrays/function_manifest.sh index 1ac9cd8..36d6dbc 100644 --- a/scripts/source/files/arrays/function_manifest.sh +++ b/scripts/source/files/arrays/function_manifest.sh @@ -37,11 +37,6 @@ declare -gA LP_FN_MAP=( [appCrowdSecVerifyFirewall]="crowdsec/scripts/crowdsec_verify_firewall.sh" [appDashyManageShortcuts]="dashy/tools/dashy_manage_shortcuts.sh" [appDashyUpdateConf]="dashy/scripts/dashy_update_conf.sh" - [appFocalboardCreateAccount]="focalboard/tools/focalboard_create_account.sh" - [appFocalboardDeleteUser]="focalboard/tools/focalboard_delete_user.sh" - [appFocalboardListUsers]="focalboard/tools/focalboard_list_users.sh" - [appFocalboardResetPassword]="focalboard/tools/focalboard_reset_password.sh" - [appFocalboardSetAdmin]="focalboard/scripts/focalboard_set_admin.sh" [appGetKeyData]="app/app_get_key_data.sh" [appGiteaCreateAccount]="gitea/tools/gitea_create_account.sh" [appGiteaDeleteUser]="gitea/tools/gitea_delete_user.sh" @@ -97,7 +92,6 @@ declare -gA LP_FN_MAP=( [appUpdateSpecifics]="app/app_update_specifics.sh" [appUpdateSpecifics_adguard]="adguard/scripts/adguard_update_specifics.sh" [appUpdateSpecifics_dashy]="dashy/scripts/dashy_update_specifics.sh" - [appUpdateSpecifics_focalboard]="focalboard/scripts/focalboard_update_specifics.sh" [appUpdateSpecifics_libreportal]="libreportal/scripts/libreportal_update_specifics.sh" [appUpdateSpecifics_nextcloud]="nextcloud/scripts/nextcloud_update_specifics.sh" [appUpdateSpecifics_pihole]="pihole/scripts/pihole_update_specifics.sh" @@ -138,11 +132,6 @@ declare -gA LP_FN_MAP=( [authAdapter_bookstack_setPassword]="bookstack/scripts/bookstack_auth.sh" [authAdapterCall]="app/auth_adapter.sh" [authAdapterCanDo]="app/auth_adapter.sh" - [authAdapter_focalboard_createUser]="focalboard/scripts/focalboard_auth.sh" - [authAdapter_focalboard_deleteUser]="focalboard/scripts/focalboard_auth.sh" - [authAdapter_focalboard_listUsers]="focalboard/scripts/focalboard_auth.sh" - [authAdapter_focalboard_setAdmin]="focalboard/scripts/focalboard_auth.sh" - [authAdapter_focalboard_setPassword]="focalboard/scripts/focalboard_auth.sh" [authAdapter_gitea_createUser]="gitea/scripts/gitea_auth.sh" [authAdapter_gitea_deleteUser]="gitea/scripts/gitea_auth.sh" [authAdapter_gitea_listUsers]="gitea/scripts/gitea_auth.sh" @@ -473,8 +462,6 @@ declare -gA LP_FN_MAP=( [fixConfigPermissions]="function/permission/config.sh" [fixFolderPermissions]="function/permission/libreportal_folders.sh" [fixPermissionsBeforeStart]="function/permission/before_start.sh" - [_focalboardBcrypt]="focalboard/scripts/focalboard_auth.sh" - [_focalboardSqlite]="focalboard/scripts/focalboard_auth.sh" [generateHealthReport]="task/crontab_check_processor.sh" [generateInstallName]="checks/generate_install_name.sh" [generateRandomPassword]="config/password/password_generate.sh" @@ -1085,11 +1072,6 @@ declare -gA LP_FN_ROOT=( [appCrowdSecVerifyFirewall]="containers" [appDashyManageShortcuts]="containers" [appDashyUpdateConf]="containers" - [appFocalboardCreateAccount]="containers" - [appFocalboardDeleteUser]="containers" - [appFocalboardListUsers]="containers" - [appFocalboardResetPassword]="containers" - [appFocalboardSetAdmin]="containers" [appGetKeyData]="scripts" [appGiteaCreateAccount]="containers" [appGiteaDeleteUser]="containers" @@ -1145,7 +1127,6 @@ declare -gA LP_FN_ROOT=( [appUpdateSpecifics]="scripts" [appUpdateSpecifics_adguard]="containers" [appUpdateSpecifics_dashy]="containers" - [appUpdateSpecifics_focalboard]="containers" [appUpdateSpecifics_libreportal]="containers" [appUpdateSpecifics_nextcloud]="containers" [appUpdateSpecifics_pihole]="containers" @@ -1186,11 +1167,6 @@ declare -gA LP_FN_ROOT=( [authAdapter_bookstack_setPassword]="containers" [authAdapterCall]="scripts" [authAdapterCanDo]="scripts" - [authAdapter_focalboard_createUser]="containers" - [authAdapter_focalboard_deleteUser]="containers" - [authAdapter_focalboard_listUsers]="containers" - [authAdapter_focalboard_setAdmin]="containers" - [authAdapter_focalboard_setPassword]="containers" [authAdapter_gitea_createUser]="containers" [authAdapter_gitea_deleteUser]="containers" [authAdapter_gitea_listUsers]="containers" @@ -1521,8 +1497,6 @@ declare -gA LP_FN_ROOT=( [fixConfigPermissions]="scripts" [fixFolderPermissions]="scripts" [fixPermissionsBeforeStart]="scripts" - [_focalboardBcrypt]="containers" - [_focalboardSqlite]="containers" [generateHealthReport]="scripts" [generateInstallName]="scripts" [generateRandomPassword]="scripts" @@ -2167,11 +2141,6 @@ appCrowdSecUpdate() { unset -f appCrowdSecUpdate; __lpAutoload "${install_contai appCrowdSecVerifyFirewall() { unset -f appCrowdSecVerifyFirewall; __lpAutoload "${install_containers_dir}crowdsec/scripts/crowdsec_verify_firewall.sh"; appCrowdSecVerifyFirewall "$@"; } appDashyManageShortcuts() { unset -f appDashyManageShortcuts; __lpAutoload "${install_containers_dir}dashy/tools/dashy_manage_shortcuts.sh"; appDashyManageShortcuts "$@"; } appDashyUpdateConf() { unset -f appDashyUpdateConf; __lpAutoload "${install_containers_dir}dashy/scripts/dashy_update_conf.sh"; appDashyUpdateConf "$@"; } -appFocalboardCreateAccount() { unset -f appFocalboardCreateAccount; __lpAutoload "${install_containers_dir}focalboard/tools/focalboard_create_account.sh"; appFocalboardCreateAccount "$@"; } -appFocalboardDeleteUser() { unset -f appFocalboardDeleteUser; __lpAutoload "${install_containers_dir}focalboard/tools/focalboard_delete_user.sh"; appFocalboardDeleteUser "$@"; } -appFocalboardListUsers() { unset -f appFocalboardListUsers; __lpAutoload "${install_containers_dir}focalboard/tools/focalboard_list_users.sh"; appFocalboardListUsers "$@"; } -appFocalboardResetPassword() { unset -f appFocalboardResetPassword; __lpAutoload "${install_containers_dir}focalboard/tools/focalboard_reset_password.sh"; appFocalboardResetPassword "$@"; } -appFocalboardSetAdmin() { unset -f appFocalboardSetAdmin; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_set_admin.sh"; appFocalboardSetAdmin "$@"; } appGetKeyData() { unset -f appGetKeyData; __lpAutoload "${install_scripts_dir}app/app_get_key_data.sh"; appGetKeyData "$@"; } appGiteaCreateAccount() { unset -f appGiteaCreateAccount; __lpAutoload "${install_containers_dir}gitea/tools/gitea_create_account.sh"; appGiteaCreateAccount "$@"; } appGiteaDeleteUser() { unset -f appGiteaDeleteUser; __lpAutoload "${install_containers_dir}gitea/tools/gitea_delete_user.sh"; appGiteaDeleteUser "$@"; } @@ -2227,7 +2196,6 @@ appUninstallMenu() { unset -f appUninstallMenu; __lpAutoload "${install_scripts_ appUpdateSpecifics() { unset -f appUpdateSpecifics; __lpAutoload "${install_scripts_dir}app/app_update_specifics.sh"; appUpdateSpecifics "$@"; } appUpdateSpecifics_adguard() { unset -f appUpdateSpecifics_adguard; __lpAutoload "${install_containers_dir}adguard/scripts/adguard_update_specifics.sh"; appUpdateSpecifics_adguard "$@"; } appUpdateSpecifics_dashy() { unset -f appUpdateSpecifics_dashy; __lpAutoload "${install_containers_dir}dashy/scripts/dashy_update_specifics.sh"; appUpdateSpecifics_dashy "$@"; } -appUpdateSpecifics_focalboard() { unset -f appUpdateSpecifics_focalboard; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_update_specifics.sh"; appUpdateSpecifics_focalboard "$@"; } appUpdateSpecifics_libreportal() { unset -f appUpdateSpecifics_libreportal; __lpAutoload "${install_containers_dir}libreportal/scripts/libreportal_update_specifics.sh"; appUpdateSpecifics_libreportal "$@"; } appUpdateSpecifics_nextcloud() { unset -f appUpdateSpecifics_nextcloud; __lpAutoload "${install_containers_dir}nextcloud/scripts/nextcloud_update_specifics.sh"; appUpdateSpecifics_nextcloud "$@"; } appUpdateSpecifics_pihole() { unset -f appUpdateSpecifics_pihole; __lpAutoload "${install_containers_dir}pihole/scripts/pihole_update_specifics.sh"; appUpdateSpecifics_pihole "$@"; } @@ -2268,11 +2236,6 @@ authAdapter_bookstack_setAdmin() { unset -f authAdapter_bookstack_setAdmin; __lp authAdapter_bookstack_setPassword() { unset -f authAdapter_bookstack_setPassword; __lpAutoload "${install_containers_dir}bookstack/scripts/bookstack_auth.sh"; authAdapter_bookstack_setPassword "$@"; } authAdapterCall() { unset -f authAdapterCall; __lpAutoload "${install_scripts_dir}app/auth_adapter.sh"; authAdapterCall "$@"; } authAdapterCanDo() { unset -f authAdapterCanDo; __lpAutoload "${install_scripts_dir}app/auth_adapter.sh"; authAdapterCanDo "$@"; } -authAdapter_focalboard_createUser() { unset -f authAdapter_focalboard_createUser; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; authAdapter_focalboard_createUser "$@"; } -authAdapter_focalboard_deleteUser() { unset -f authAdapter_focalboard_deleteUser; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; authAdapter_focalboard_deleteUser "$@"; } -authAdapter_focalboard_listUsers() { unset -f authAdapter_focalboard_listUsers; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; authAdapter_focalboard_listUsers "$@"; } -authAdapter_focalboard_setAdmin() { unset -f authAdapter_focalboard_setAdmin; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; authAdapter_focalboard_setAdmin "$@"; } -authAdapter_focalboard_setPassword() { unset -f authAdapter_focalboard_setPassword; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; authAdapter_focalboard_setPassword "$@"; } authAdapter_gitea_createUser() { unset -f authAdapter_gitea_createUser; __lpAutoload "${install_containers_dir}gitea/scripts/gitea_auth.sh"; authAdapter_gitea_createUser "$@"; } authAdapter_gitea_deleteUser() { unset -f authAdapter_gitea_deleteUser; __lpAutoload "${install_containers_dir}gitea/scripts/gitea_auth.sh"; authAdapter_gitea_deleteUser "$@"; } authAdapter_gitea_listUsers() { unset -f authAdapter_gitea_listUsers; __lpAutoload "${install_containers_dir}gitea/scripts/gitea_auth.sh"; authAdapter_gitea_listUsers "$@"; } @@ -2603,8 +2566,6 @@ fixAppFolderPermissions() { unset -f fixAppFolderPermissions; __lpAutoload "${in fixConfigPermissions() { unset -f fixConfigPermissions; __lpAutoload "${install_scripts_dir}function/permission/config.sh"; fixConfigPermissions "$@"; } fixFolderPermissions() { unset -f fixFolderPermissions; __lpAutoload "${install_scripts_dir}function/permission/libreportal_folders.sh"; fixFolderPermissions "$@"; } fixPermissionsBeforeStart() { unset -f fixPermissionsBeforeStart; __lpAutoload "${install_scripts_dir}function/permission/before_start.sh"; fixPermissionsBeforeStart "$@"; } -_focalboardBcrypt() { unset -f _focalboardBcrypt; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardBcrypt "$@"; } -_focalboardSqlite() { unset -f _focalboardSqlite; __lpAutoload "${install_containers_dir}focalboard/scripts/focalboard_auth.sh"; _focalboardSqlite "$@"; } generateHealthReport() { unset -f generateHealthReport; __lpAutoload "${install_scripts_dir}task/crontab_check_processor.sh"; generateHealthReport "$@"; } generateInstallName() { unset -f generateInstallName; __lpAutoload "${install_scripts_dir}checks/generate_install_name.sh"; generateInstallName "$@"; } generateRandomPassword() { unset -f generateRandomPassword; __lpAutoload "${install_scripts_dir}config/password/password_generate.sh"; generateRandomPassword "$@"; }