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 "$@"; }