diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index b0d5aea43..931ce4345 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -72,12 +72,6 @@ sudo armbian-config - ### Manage device tree overlays - - ### ZFS filesystem - enable support - - - - ### ZFS filesystem - remove support - - - ## **Network** @@ -143,18 +137,6 @@ sudo armbian-config - ### Remove Readarr - ### Install Prowlarr - ### Remove Prowlarr - - ### Jellyseerr install - - ### Jellyseerr remove - - ### Jellyseerr purge data folder - - - - ### Database - - ### Mariadb install - - ### Mariadb remove - - ### Mariadb purge - - ### phpMyAdmin install - - ### phpMyAdmin remove - - ### phpMyAdmin purge - ### DNS blockers @@ -185,8 +167,6 @@ sudo armbian-config - ### Purge all Docker images, containers, and volumes - ### Install Portainer - ### Remove Portainer - - ### Watchtower install - - ### Watchtower remove - ### Media Servers and Editors @@ -194,18 +174,11 @@ sudo armbian-config - ### Remove Plex Media server - ### Install Emby server - ### Remove Emby server - - ### Stirling-PDF Install - - ### Stirling-PDF Remove - - ### Stirling-PDF Purge data folder - ### Monitoring - - ### Uptime Kuma install - - ### Uptime Kuma remove - - ### Uptime Kuma purge data folder - - ### Netdata Install - - ### Netdata remove - - ### Netdata purge data folder + - ### Install Uptime Kuma + - ### Uninstall Uptime Kuma - ### Remote Management tools @@ -282,8 +255,6 @@ Outputs: --cmd SY014 - Adjust welcome screen (motd) --cmd SY015 - Install alternative kernels --cmd SY017 - Manage device tree overlays - --cmd SY018 - ZFS filesystem - enable support - --cmd SY019 - ZFS filesystem - remove support Network - Fixed and wireless network settings (eth0) NE001 - Configure network interfaces @@ -310,37 +281,27 @@ Outputs: --cmd NET008 - Remove hostname broadcast via mDNS (avahi-daemon) Downloaders - Download tools --cmd DOW001 - Install qBittorrent - --cmd DOW002 - Remove qBittorrent (http://10.1.0.149:8090 6881) + --cmd DOW002 - Remove qBittorrent (http://10.1.0.7:8090 6881) --cmd DOW003 - Install Deluge - --cmd DOW004 - Remove Deluge (http://10.1.0.149:8112 6181 58846) + --cmd DOW004 - Remove Deluge (http://10.1.0.7:8112 6181 58846) --cmd DOW005 - Install Transmission - --cmd DOW006 - Remove Transmission (http://10.1.0.149:9091) + --cmd DOW006 - Remove Transmission (http://10.1.0.7:9091) --cmd DOW011 - Install SABnzbd - --cmd DOW012 - Remove SABnzbd (http://10.1.0.149:8080) + --cmd DOW012 - Remove SABnzbd (http://10.1.0.7:8080) --cmd DOW013 - Install Medusa - --cmd DOW014 - Remove Medusa (http://10.1.0.149:8081) + --cmd DOW014 - Remove Medusa (http://10.1.0.7:8081) --cmd DOW015 - Install Sonarr - --cmd DOW016 - Remove Sonarr (http://10.1.0.149:8989) + --cmd DOW016 - Remove Sonarr (http://10.1.0.7:8989) --cmd DOW017 - Install Radarr - --cmd DOW018 - Remove Radarr (http://10.1.0.149:7878) + --cmd DOW018 - Remove Radarr (http://10.1.0.7:7878) --cmd DOW019 - Install Bazarr - --cmd DOW020 - Remove Bazarr (http://10.1.0.149:6767) + --cmd DOW020 - Remove Bazarr (http://10.1.0.7:6767) --cmd DOW021 - Install Lidarr - --cmd DOW022 - Remove Lidarr (http://10.1.0.149:8686) + --cmd DOW022 - Remove Lidarr (http://10.1.0.7:8686) --cmd DOW023 - Install Readarr - --cmd DOW024 - Remove Readarr (http://10.1.0.149:8787) + --cmd DOW024 - Remove Readarr (http://10.1.0.7:8787) --cmd DOW025 - Install Prowlarr - --cmd DOW026 - Remove Prowlarr (http://10.1.0.149:9696) - --cmd DOW040 - Jellyseerr install - --cmd DOW041 - Jellyseerr remove (http://10.1.0.149:5055) - --cmd DOW042 - Jellyseerr purge data folder - Database - Database - --cmd DAT001 - Mariadb install - --cmd DAT002 - Mariadb remove (Server: 10.1.0.149) - --cmd DAT003 - Mariadb purge - --cmd DAT005 - phpMyAdmin install - --cmd DAT006 - phpMyAdmin remove (http://10.1.0.149:8071) - --cmd DAT007 - phpMyAdmin purge + --cmd DOW026 - Remove Prowlarr (http://10.1.0.7:9696) DNS - DNS blockers --cmd DNS001 - Install Pi-hole DNS ad blocker --cmd DNS002 - Set Pi-hole web admin password @@ -352,7 +313,7 @@ Outputs: --cmd HA001 - Install openHAB --cmd HA002 - Remove openHAB --cmd HA003 - Install Home Assistant - --cmd HA004 - Remove Home Assistant (http://10.1.0.149:8123) + --cmd HA004 - Remove Home Assistant (http://10.1.0.7:8123) --cmd Benchy - System benchmaking and diagnostics Containers - Containerlization and Virtual Machines --cmd CON001 - Install Docker Minimal @@ -360,24 +321,15 @@ Outputs: --cmd CON003 - Remove Docker --cmd CON004 - Purge all Docker images, containers, and volumes --cmd CON005 - Install Portainer - --cmd CON006 - Remove Portainer (http://10.1.0.149:9000) - --cmd CON007 - Watchtower install - --cmd CON008 - Watchtower remove + --cmd CON006 - Remove Portainer (http://10.1.0.7:9000) Media - Media Servers and Editors --cmd MED001 - Install Plex Media server --cmd MED002 - Remove Plex Media server --cmd MED003 - Install Emby server --cmd MED004 - Remove Emby server - --cmd MED010 - Stirling-PDF Install - --cmd MED011 - Stirling-PDF Remove - --cmd MED012 - Stirling-PDF Purge data folder Monitoring - Monitoring - --cmd MON001 - Uptime Kuma install - --cmd MON002 - Uptime Kuma remove - --cmd MON003 - Uptime Kuma purge data folder - --cmd MON005 - Netdata Install - --cmd MON006 - Netdata remove - --cmd MON007 - Netdata purge data folder + --cmd MON001 - Install Uptime Kuma + --cmd MON002 - Uninstall Uptime Kuma Management - Remote Management tools --cmd MAN001 - Install Cockpit web-based management tool --cmd MAN002 - Purge Cockpit web-based management tool @@ -581,26 +533,6 @@ Jobs: manage_dtoverlays ~~~ -### SY018 - -ZFS filesystem - enable support - -Jobs: - -~~~ -module_zfs install -~~~ - -### SY019 - -ZFS filesystem - remove support - -Jobs: - -~~~ -module_zfs remove -~~~ - ### NE001 Configure network interfaces @@ -674,16 +606,6 @@ Jobs: No commands available ~~~ -### Database - -Database - -Jobs: - -~~~ -No commands available -~~~ - ### DNS DNS blockers @@ -795,18 +717,14 @@ These helper functions facilitate various operations related to job management, | Hos container install and configure | help install uninstall | @igorpecovnik | Set Armbian root filesystem to read only | manage_overlayfs enable/disable | @igorpecovnik | Display a menu from pipe | show_menu <<< armbianmonitor -h ; | @Tearran -| Install watchtower container | install remove status help | @armbian | Build the main menu from a object | generate_top_menu 'json_data' | @Tearran | Install bazarr container | install remove status help | @igorpecovnik | Install headers container | install remove status help | @armbian | Migrated procedures from Armbian config. | is_package_manager_running | @armbian | Migrated procedures from Armbian config. | check_desktop | @armbian -| Install phpmyadmin container | install remove purge status help | -| Install stirling container | install remove purge status help | @Frooodle | Install sonarr container | install remove status help | @armbian | Generate Document files. | generate_readme | @Tearran | Storing netplan config to tmp | store_netplan_config | @igorpecovnik -| Install jellyseerr container | install remove purge status help | @armbian | Needed by generate_menu | execute_command 'id' | @Tearran | Display a Yes/No dialog box and process continue/exit | get_user_continue 'Do you wish to continue?' process_input | @Tearran | Migrated procedures from Armbian config. | connect_bt_interface | @armbian @@ -819,7 +737,6 @@ These helper functions facilitate various operations related to job management, | Install/uninstall/check status of portainer container | help install uninstall status | @armbian | Migrated procedures from Armbian config. | check_if_installed nano | @armbian | Generate 'Armbian CPU logo' SVG for document file. | generate_svg | @Tearran -| Install zfs filesystem support | install remove status kernel_max zfs_version help | @armbian | Update submenu descriptions based on conditions | update_submenu_data | @Tearran | sanitize input cli | sanitize_input | @Tearran | Install lidarr container | install remove status help | @armbian @@ -840,14 +757,13 @@ These helper functions facilitate various operations related to job management, | Uses Avalible (Whiptail, DIALOG, READ) for the menu interface | | Tearran | Netplan wrapper | network_config | @igorpecovnik | Install medusa container | install remove status help | @armbian -| Install netdata container | install remove purge status help | @armbian | Change the background color of the terminal or dialog box | set_colors 0-7 | @Tearran | Show general information about this tool | about_armbian_configng | @igorpecovnik | Serve the edit and debug server. | serve_doc | @Tearran | Update JSON data with system information | update_json_data | @Tearran | pipeline strings to an infobox | show_infobox <<< 'hello world' ; | @Tearran | Install readarr container | install remove status help | @armbian -| Install uptimekuma container | install remove purge status help | @armbian +| Install/uninstall/check status of uptime kuma container | install uninstall status | @armbian | Stop hostapd, clean config | default_wireless_network_config | @igorpecovnik | Update sub-submenu descriptions based on conditions | update_sub_submenu_data "MenuID" "SubID" "SubSubID" "CMD" | @Tearran | Parse json to get list of desired menu or submenu items | parse_menu_items 'menu_options_array' | @viraniac @@ -856,7 +772,6 @@ These helper functions facilitate various operations related to job management, | Set system shell to BASH | manage_zsh enable|disable | @igorpecovnik | Install sabnzbd container | install remove status help | @armbian | Generate a Help message for cli commands. | see_cmd_list [category] | @Tearran -| Install mariadb container | install remove purge status help | | Revert network config back to Armbian defaults | default_network_config | @igorpecovnik | Install prowlarr container | install remove status help | @armbian | freeze, unhold, reinstall armbian related packages. | armbian_fw_manipulate unhold/freeze/reinstall | @igorpecovnik diff --git a/tools/include/images/CON007.png b/tools/include/images/CON007.png deleted file mode 100644 index 30495268d..000000000 Binary files a/tools/include/images/CON007.png and /dev/null differ diff --git a/tools/include/images/DAT001.png b/tools/include/images/DAT001.png deleted file mode 100644 index 8d99844c9..000000000 Binary files a/tools/include/images/DAT001.png and /dev/null differ diff --git a/tools/include/images/DAT005.png b/tools/include/images/DAT005.png deleted file mode 100644 index 10d5269d0..000000000 Binary files a/tools/include/images/DAT005.png and /dev/null differ diff --git a/tools/include/images/DOW040.png b/tools/include/images/DOW040.png deleted file mode 100644 index 6bda23dea..000000000 Binary files a/tools/include/images/DOW040.png and /dev/null differ diff --git a/tools/include/images/MED010.png b/tools/include/images/MED010.png deleted file mode 100644 index 5edc6eae2..000000000 Binary files a/tools/include/images/MED010.png and /dev/null differ diff --git a/tools/include/images/MON005.png b/tools/include/images/MON005.png deleted file mode 100644 index 42eeebce5..000000000 Binary files a/tools/include/images/MON005.png and /dev/null differ diff --git a/tools/include/images/SY018.png b/tools/include/images/SY018.png deleted file mode 100644 index 32fd3e21e..000000000 Binary files a/tools/include/images/SY018.png and /dev/null differ diff --git a/tools/include/markdown/CON007-footer.md b/tools/include/markdown/CON007-footer.md deleted file mode 100644 index cb2741fed..000000000 --- a/tools/include/markdown/CON007-footer.md +++ /dev/null @@ -1 +0,0 @@ -Every day watchtower will pull the latest images and compare it to the one that was used to run the certain container. If it sees that the image has changed it will stop/remove containers and then restart it using the new image and the same docker run options that were used to start the container initially. diff --git a/tools/include/markdown/CON007-header.md b/tools/include/markdown/CON007-header.md deleted file mode 100644 index 392b4e797..000000000 --- a/tools/include/markdown/CON007-header.md +++ /dev/null @@ -1 +0,0 @@ -Watchtower is an application that will monitor your running Docker containers and watch for changes to the images that those containers were originally started from. If watchtower detects that an image has changed, it will automatically restart the container using the new image. diff --git a/tools/include/markdown/DAT001-footer.md b/tools/include/markdown/DAT001-footer.md deleted file mode 100644 index 0a2467e30..000000000 --- a/tools/include/markdown/DAT001-footer.md +++ /dev/null @@ -1,20 +0,0 @@ -=== "Configuration" - - Database access configuration is done at first install: - - create root password - - create database - - create normal user - - create password for normal user - - - Database host: `` - -=== "Directories" - - - Install directory: `/armbian/mariadb` - - Site configuration directory: `/armbian/mariadb/config` - -=== "View logs" - - ```sh - docker logs -f mariadb - ``` diff --git a/tools/include/markdown/DAT001-header.md b/tools/include/markdown/DAT001-header.md deleted file mode 100644 index 8ea11f735..000000000 --- a/tools/include/markdown/DAT001-header.md +++ /dev/null @@ -1 +0,0 @@ -Mariadb is one of the most popular database servers. Made by the original developers of MySQL. diff --git a/tools/include/markdown/DAT005-footer.md b/tools/include/markdown/DAT005-footer.md deleted file mode 100644 index 7374532dd..000000000 --- a/tools/include/markdown/DAT005-footer.md +++ /dev/null @@ -1,19 +0,0 @@ -=== "Access to the web interface" - - The web interface is accessible via port **8071**: - - - URL: `https://:8071` - - Server: IP from server you are connecting to. If you have installed MariaDB via this tool, then this is `` - - Username: defined at SQL server install (MariaDb) - - Password: defined at SQL server install (MariaDb) - -=== "Directories" - - - Install directory: `/armbian/phpmyadmin` - - Site configuration directory: `/armbian/phpmyadmin/config` - -=== "View logs" - - ```sh - docker logs -f phpmyadmin - ``` diff --git a/tools/include/markdown/DAT005-header.md b/tools/include/markdown/DAT005-header.md deleted file mode 100644 index 646d482fd..000000000 --- a/tools/include/markdown/DAT005-header.md +++ /dev/null @@ -1 +0,0 @@ -Phpmyadmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. diff --git a/tools/include/markdown/DOW040-header.md b/tools/include/markdown/DOW040-header.md deleted file mode 100644 index 5cf4c7d24..000000000 --- a/tools/include/markdown/DOW040-header.md +++ /dev/null @@ -1 +0,0 @@ -Jellyseerr is a free and open source software application for managing requests for your media library. It is a fork of Overseerr built to bring support for Jellyfin & Emby media servers! diff --git a/tools/include/markdown/MED010-footer.md b/tools/include/markdown/MED010-footer.md deleted file mode 100644 index 3d9d4d3b5..000000000 --- a/tools/include/markdown/MED010-footer.md +++ /dev/null @@ -1,15 +0,0 @@ -=== "Access to the web interface" - - The web interface is accessible via port **8077**: - - - URL: `https://:8077` - -=== "Directories" - - - Install directory: `/armbian/stirling` - -=== "View logs" - - ```sh - docker logs -f stirling-pdf - ``` diff --git a/tools/include/markdown/MED010-header.md b/tools/include/markdown/MED010-header.md deleted file mode 100644 index e90bf20d3..000000000 --- a/tools/include/markdown/MED010-header.md +++ /dev/null @@ -1 +0,0 @@ -Stirling-PDF is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements. diff --git a/tools/include/markdown/MON005-header.md b/tools/include/markdown/MON005-header.md deleted file mode 100644 index da615cb8e..000000000 --- a/tools/include/markdown/MON005-header.md +++ /dev/null @@ -1 +0,0 @@ -Netdata is a partially open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts. diff --git a/tools/json/config.software.json b/tools/json/config.software.json index 335aae7cf..b270d9c07 100644 --- a/tools/json/config.software.json +++ b/tools/json/config.software.json @@ -580,102 +580,6 @@ "status": "Stable", "author": "@armbian", "condition": "module_prowlarr status" - }, - { - "id": "DOW040", - "description": "Jellyseerr install", - "command": [ - "module_jellyseerr install" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_jellyseerr status" - }, - { - "id": "DOW041", - "description": "Jellyseerr remove ", - "command": [ - "module_jellyseerr remove" - ], - "status": "Stable", - "author": "@armbian", - "condition": "module_jellyseerr status" - }, - { - "id": "DOW042", - "description": "Jellyseerr purge data folder", - "command": [ - "module_jellyseerr purge" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_jellyseerr status && [[ -d \"${SOFTWARE_FOLDER}/jellyseerr\" ]]" - } - ] - }, - { - "id": "Database", - "description": "Database", - "sub": [ - { - "id": "DAT001", - "description": "Mariadb install", - "command": [ - "module_mariadb install" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_mariadb status" - }, - { - "id": "DAT002", - "description": "Mariadb remove", - "command": [ - "module_mariadb remove" - ], - "status": "Stable", - "author": "@armbian", - "condition": "module_mariadb status" - }, - { - "id": "DAT003", - "description": "Mariadb purge", - "command": [ - "module_mariadb purge" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_mariadb status && [[ -d \"${SOFTWARE_FOLDER}/mariadb\" ]]" - }, - { - "id": "DAT005", - "description": "phpMyAdmin install", - "command": [ - "module_phpmyadmin install" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_phpmyadmin status" - }, - { - "id": "DAT006", - "description": "phpMyAdmin remove", - "command": [ - "module_phpmyadmin remove" - ], - "status": "Stable", - "author": "@armbian", - "condition": "module_phpmyadmin status" - }, - { - "id": "DAT007", - "description": "phpMyAdmin purge", - "command": [ - "module_phpmyadmin purge" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_phpmyadmin status && [[ -d \"${SOFTWARE_FOLDER}/phpmyadmin\" ]]" } ] }, @@ -869,26 +773,6 @@ "status": "Stable", "author": "@armbian", "condition": "module_portainer status" - }, - { - "id": "CON007", - "description": "Watchtower install", - "command": [ - "module_watchtower install" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_watchtower status" - }, - { - "id": "CON008", - "description": "Watchtower remove", - "command": [ - "module_watchtower remove" - ], - "status": "Stable", - "author": "@armbian", - "condition": "module_watchtower status" } ] }, @@ -940,38 +824,7 @@ "status": "Stable", "author": "@schwar3kat", "condition": "check_if_installed emby-server" - }, - { - "id": "MED010", - "description": "Stirling-PDF Install", - "command": [ - "module_stirling install" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "! module_stirling status" - }, - { - "id": "MED011", - "description": "Stirling-PDF Remove", - "command": [ - "module_stirling remove" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "module_stirling status" - }, - { - "id": "MED012", - "description": "Stirling-PDF Purge data folder", - "command": [ - "module_stirling purge" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "! module_stirling status && [[ -d \"${SOFTWARE_FOLDER}/stirling\" ]]" } - ] }, { @@ -980,7 +833,8 @@ "sub": [ { "id": "MON001", - "description": "Uptime Kuma install ", + "description": "Install Uptime Kuma", + "about": "Uptime Kuma is an easy-to-use self-hosted monitoring tool.", "command": [ "module_uptimekuma install" ], @@ -990,55 +844,14 @@ }, { "id": "MON002", - "description": "Uptime Kuma remove", + "description": "Uninstall Uptime Kuma", "command": [ - "module_uptimekuma remove" + "module_uptimekuma uninstall" ], "status": "Stable", "author": "@igorpecovnik", "condition": "module_uptimekuma status" - }, - { - "id": "MON003", - "description": "Uptime Kuma purge data folder", - "command": [ - "module_uptimekuma purge" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "! module_uptimekuma status && [[ -d \"${SOFTWARE_FOLDER}/uptimekuma\" ]]" - }, - { - "id": "MON005", - "description": "Netdata Install", - "command": [ - "module_netdata install" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "! module_netdata status" - }, - { - "id": "MON006", - "description": "Netdata remove", - "command": [ - "module_netdata remove" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "module_netdata status" - }, - { - "id": "MON007", - "description": "Netdata purge data folder", - "command": [ - "module_netdata purge" - ], - "status": "Stable", - "author": "@igorpecovnik", - "condition": "! module_netdata status && [[ -d \"${SOFTWARE_FOLDER}/netdata\" ]]" } - ] }, { diff --git a/tools/json/config.system.json b/tools/json/config.system.json index a35b99ca0..fae77c844 100644 --- a/tools/json/config.system.json +++ b/tools/json/config.system.json @@ -334,34 +334,14 @@ "condition": "[ -d /boot/dtb/ ] && [ -f /boot/armbianEnv.txt ]" }, { - "id": "SY018", - "description": "ZFS filesystem - enable support", - "command": [ - "module_zfs install" - ], - "status": "Stable", - "author": "@armbian", - "condition": "! module_zfs status && linux-version compare ${KERNELID} le $(module_zfs kernel_max)" - }, - { - "id": "SY019", - "description": "ZFS filesystem - remove support", - "command": [ - "module_zfs remove" - ], - "status": "Stable", - "author": "@armbian", - "condition": "module_zfs status" - }, - { - "id": "SY020", + "id": "SYODD", "description": "Select Odroid board configuration", "command": [ - "manage_odroid_board select" + "module_select_xuodroid" ], "status": "Preview", "author": "", - "condition": "[ $BOARDFAMILY == odroidxu4 ]" + "condition": "[ -f /etc/armbian-release ] && grep -q \"^BOARDFAMILY=odroidxu4\" /etc/armbian-release" } ] } diff --git a/tools/modules/runtime/config.runtime.sh b/tools/modules/runtime/config.runtime.sh index 3cd755d0d..77d72fc31 100644 --- a/tools/modules/runtime/config.runtime.sh +++ b/tools/modules/runtime/config.runtime.sh @@ -87,19 +87,20 @@ fi # # Sub sub menu updates -#cockpit_port="$(systemctl cat cockpit.socket | grep ListenStream | awk -F= '{print $2}' | awk '{print $1}')" -#update_sub_submenu_data "Software" "Management" "M03" "https://localhost:$cockpit_port" -#emby_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'emby' | awk -F: '{print $2}' | awk '{print $1}')" -#update_sub_submenu_data "Software" "Media" "SW24" "https://localhost:$emby_media_port" -#plex_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'plex' | awk -F: '{print $2}' | awk '{print $1}' | head -n 1)" -#update_sub_submenu_data "Software" "Media" "SW22" "https://localhost:$plex_media_port" - -update_sub_submenu_data "Software" "Database" "DAT002" "Server: $LOCALIPADD" -update_sub_submenu_data "Software" "Database" "DAT006" "http://$LOCALIPADD:${module_options["module_phpmyadmin,port"]}" -update_sub_submenu_data "Software" "Media" "MED006" "http://$LOCALIPADD:${module_options["module_stirling,port"]}" + +cockpit_port="$(systemctl cat cockpit.socket | grep ListenStream | awk -F= '{print $2}' | awk '{print $1}')" +update_sub_submenu_data "Software" "Management" "M03" "https://localhost:$cockpit_port" + +emby_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'emby' | awk -F: '{print $2}' | awk '{print $1}')" +update_sub_submenu_data "Software" "Media" "SW24" "https://localhost:$emby_media_port" + +plex_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'plex' | awk -F: '{print $2}' | awk '{print $1}' | head -n 1)" +update_sub_submenu_data "Software" "Media" "SW22" "https://localhost:$plex_media_port" + update_sub_submenu_data "Software" "Containers" "CON006" "http://$LOCALIPADD:${module_options["module_portainer,port"]}" update_sub_submenu_data "Software" "HomeAutomation" "HA004" "http://$LOCALIPADD:${module_options["module_haos,port"]}" -update_sub_submenu_data "Software" "Monitoring" "MON004" "http://$LOCALIPADD:${module_options["module_netdata,port"]}" + + update_sub_submenu_data "Software" "Downloaders" "DOW002" "http://$LOCALIPADD:${module_options["module_qbittorrent,port"]}" update_sub_submenu_data "Software" "Downloaders" "DOW004" "http://$LOCALIPADD:${module_options["module_deluge,port"]}" update_sub_submenu_data "Software" "Downloaders" "DOW006" "http://$LOCALIPADD:${module_options["module_transmission,port"]}" @@ -111,5 +112,4 @@ update_sub_submenu_data "Software" "Downloaders" "DOW020" "http://$LOCALIPADD:${ update_sub_submenu_data "Software" "Downloaders" "DOW022" "http://$LOCALIPADD:${module_options["module_lidarr,port"]}" update_sub_submenu_data "Software" "Downloaders" "DOW024" "http://$LOCALIPADD:${module_options["module_readarr,port"]}" update_sub_submenu_data "Software" "Downloaders" "DOW026" "http://$LOCALIPADD:${module_options["module_prowlarr,port"]}" -update_sub_submenu_data "Software" "Downloaders" "DOW041" "http://$LOCALIPADD:${module_options["module_jellyseerr,port"]}" diff --git a/tools/modules/software/install_jellyseerr.sh b/tools/modules/software/install_jellyseerr.sh deleted file mode 100644 index 21609c34e..000000000 --- a/tools/modules/software/install_jellyseerr.sh +++ /dev/null @@ -1,79 +0,0 @@ -module_options+=( - ["module_jellyseerr,author"]="@armbian" - ["module_jellyseerr,feature"]="module_jellyseerr" - ["module_jellyseerr,desc"]="Install jellyseerr container" - ["module_jellyseerr,example"]="install remove purge status help" - ["module_jellyseerr,port"]="5055" - ["module_jellyseerr,status"]="Active" - ["module_jellyseerr,arch"]="x86-64,arm64" -) -# -# Module jellyseerr -# -function module_jellyseerr () { - local title="jellyseerr" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/jellyseerr?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/jellyseerr?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_jellyseerr,example"]}" - - JELLYSEERR_BASE="${SOFTWARE_FOLDER}/jellyseerr" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - [[ -d "$JELLYSEERR_BASE" ]] || mkdir -p "$JELLYSEERR_BASE" || { echo "Couldn't create storage directory: $JELLYSEERR_BASE"; exit 1; } - docker run -d \ - --name jellyseerr \ - -e LOG_LEVEL=debug \ - -e TZ="$(cat /etc/timezone)" \ - -e PORT=5055 `#optional` \ - -p 5055:5055 \ - -v "${JELLYSEERR_BASE}/config:/app/config" \ - --restart unless-stopped \ - fallenbagel/jellyseerr - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyseerr >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs jellyseerr\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - [[ -n "${JELLYSEERR_BASE}" && "${JELLYSEERR_BASE}" != "/" ]] && rm -rf "${JELLYSEERR_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_jellyseerr,feature"]} " - echo -e "Commands: ${module_options["module_jellyseerr,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tstatus\t- Installation status $title." - echo -e "\tremove\t- Remove $title." - echo - ;; - *) - ${module_options["module_jellyseerr,feature"]} ${commands[4]} - ;; - esac -} diff --git a/tools/modules/software/install_mariadb.sh b/tools/modules/software/install_mariadb.sh deleted file mode 100644 index 5d391a07c..000000000 --- a/tools/modules/software/install_mariadb.sh +++ /dev/null @@ -1,93 +0,0 @@ -module_options+=( - ["module_mariadb,author"]="" - ["module_mariadb,maintainer"]="@igorpecovnik" - ["module_mariadb,testers"]="@igorpecovnik" - ["module_mariadb,feature"]="module_mariadb" - ["module_mariadb,desc"]="Install mariadb container" - ["module_mariadb,example"]="install remove purge status help" - ["module_mariadb,port"]="3306" - ["module_mariadb,status"]="Active" - ["module_mariadb,arch"]="" -) -# -# Module mariadb-PDF -# -function module_mariadb () { - local title="mariadb" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/mariadb?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/mariadb?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_mariadb,example"]}" - - MARIADB_BASE="${SOFTWARE_FOLDER}/mariadb" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - [[ -d "$MARIADB_BASE" ]] || mkdir -p "$MARIADB_BASE" || { echo "Couldn't create storage directory: $MARIADB_BASE"; exit 1; } - - # get parameters - MYSQL_ROOT_PASSWORD=$($DIALOG --title "Enter root password for Mariadb SQL server" --inputbox "\nHit enter for defaults" 9 50 "armbian" 3>&1 1>&2 2>&3) - MYSQL_DATABASE=$($DIALOG --title "Enter database name for Mariadb SQL server" --inputbox "\nHit enter for defaults" 9 50 "armbian" 3>&1 1>&2 2>&3) - MYSQL_USER=$($DIALOG --title "Enter user name for Mariadb SQL server" --inputbox "\nHit enter for defaults" 9 50 "armbian" 3>&1 1>&2 2>&3) - MYSQL_PASSWORD=$($DIALOG --title "Enter new password for ${MYSQL_USER}" --inputbox "\nHit enter for defaults" 9 50 "armbian" 3>&1 1>&2 2>&3) - docker run -d \ - --name=mariadb \ - -e PUID=1000 \ - -e PGID=1000 \ - -e TZ="$(cat /etc/timezone)" \ - -e "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" \ - -e "MYSQL_DATABASE=${MYSQL_DATABASE}" \ - -e "MYSQL_USER=${MYSQL_USER}" \ - -e "MYSQL_PASSWORD=${MYSQL_PASSWORD}" \ - -p 3306:3306 \ - -v "${MARIADB_BASE}/config:/config" \ - --restart unless-stopped \ - lscr.io/linuxserver/mariadb:latest - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' mariadb >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs mariadb\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - [[ -n "${MARIADB_BASE}" && "${MARIADB_BASE}" != "/" ]] && rm -rf "${MARIADB_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_mariadb,feature"]} " - echo -e "Commands: ${module_options["module_mariadb,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tremove\t- Remove $title." - echo -e "\tpurge\t- Purge $title data folder." - echo -e "\tstatus\t- Installation status $title." - - echo - ;; - *) - ${module_options["module_mariadb,feature"]} ${commands[4]} - ;; - esac -} diff --git a/tools/modules/software/install_netdata.sh b/tools/modules/software/install_netdata.sh deleted file mode 100644 index b845b62c4..000000000 --- a/tools/modules/software/install_netdata.sh +++ /dev/null @@ -1,90 +0,0 @@ -module_options+=( - ["module_netdata,author"]="@armbian" - ["module_netdata,feature"]="module_netdata" - ["module_netdata,desc"]="Install netdata container" - ["module_netdata,example"]="install remove purge status help" - ["module_netdata,port"]="19999" - ["module_netdata,status"]="Active" - ["module_netdata,arch"]="x86-64,arm64" -) -# -# Module netdata -# -function module_netdata () { - local title="netdata" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/netdata?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/netdata?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_netdata,example"]}" - - NETDATA_BASE="${SOFTWARE_FOLDER}/netdata" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - [[ -d "$NETDATA_BASE" ]] || mkdir -p "$NETDATA_BASE" || { echo "Couldn't create storage directory: $NETDATA_BASE"; exit 1; } - docker run -d --name=netdata \ - --pid=host \ - --network=host \ - -v "${NETDATA_BASE}/netdataconfig:/etc/netdata" \ - -v "${NETDATA_BASE}/netdatalib:/var/lib/netdata" \ - -v "${NETDATA_BASE}/netdatacache:/var/cache/netdata" \ - -v /:/host/root:ro,rslave \ - -v /etc/passwd:/host/etc/passwd:ro \ - -v /etc/group:/host/etc/group:ro \ - -v /etc/localtime:/etc/localtime:ro \ - -v /proc:/host/proc:ro \ - -v /sys:/host/sys:ro \ - -v /etc/os-release:/host/etc/os-release:ro \ - -v /var/log:/host/var/log:ro \ - -v /var/run/docker.sock:/var/run/docker.sock:ro \ - --restart unless-stopped \ - --cap-add SYS_PTRACE \ - --cap-add SYS_ADMIN \ - --security-opt apparmor=unconfined \ - netdata/netdata - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' netdata >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs netdata\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - [[ -n "${NETDATA_BASE}" && "${NETDATA_BASE}" != "/" ]] && rm -rf "${NETDATA_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_netdata,feature"]} " - echo -e "Commands: ${module_options["module_netdata,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tstatus\t- Installation status $title." - echo -e "\tremove\t- Remove $title." - echo - ;; - *) - ${module_options["module_netdata,feature"]} ${commands[4]} - ;; - esac -} diff --git a/tools/modules/software/install_phpmyadmin.sh b/tools/modules/software/install_phpmyadmin.sh deleted file mode 100644 index 1ab6e0b2c..000000000 --- a/tools/modules/software/install_phpmyadmin.sh +++ /dev/null @@ -1,84 +0,0 @@ -module_options+=( - ["module_phpmyadmin,author"]="" - ["module_phpmyadmin,maintainer"]="@igorpecovnik" - ["module_phpmyadmin,testers"]="@igorpecovnik" - ["module_phpmyadmin,feature"]="module_phpmyadmin" - ["module_phpmyadmin,desc"]="Install phpmyadmin container" - ["module_phpmyadmin,example"]="install remove purge status help" - ["module_phpmyadmin,port"]="8071" - ["module_phpmyadmin,status"]="Active" - ["module_phpmyadmin,arch"]="" -) -# -# Module phpmyadmin-PDF -# -function module_phpmyadmin () { - local title="phpmyadmin" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/phpmyadmin?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/phpmyadmin?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_phpmyadmin,example"]}" - - PHPMYADMIN_BASE="${SOFTWARE_FOLDER}/phpmyadmin" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - [[ -d "$PHPMYADMIN_BASE" ]] || mkdir -p "$PHPMYADMIN_BASE" || { echo "Couldn't create storage directory: $PHPMYADMIN_BASE"; exit 1; } - docker run -d \ - --name=phpmyadmin \ - -e PUID=1000 \ - -e PGID=1000 \ - -e TZ="$(cat /etc/timezone)" \ - -e PMA_ARBITRARY=1 \ - -p 8071:80 \ - -v "${PHPMYADMIN_BASE}/config:/config" \ - --restart unless-stopped \ - lscr.io/linuxserver/phpmyadmin:latest - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' phpmyadmin >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs phpmyadmin\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - [[ -n "${PHPMYADMIN_BASE}" && "${PHPMYADMIN_BASE}" != "/" ]] && rm -rf "${PHPMYADMIN_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_phpmyadmin,feature"]} " - echo -e "Commands: ${module_options["module_phpmyadmin,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tremove\t- Remove $title." - echo -e "\tpurge\t- Purge $title data folder." - echo -e "\tstatus\t- Installation status $title." - - echo - ;; - *) - ${module_options["module_phpmyadmin,feature"]} ${commands[4]} - ;; - esac -} diff --git a/tools/modules/software/install_stirling.sh b/tools/modules/software/install_stirling.sh deleted file mode 100644 index a058d31f6..000000000 --- a/tools/modules/software/install_stirling.sh +++ /dev/null @@ -1,85 +0,0 @@ -module_options+=( - ["module_stirling,author"]="@Frooodle" - ["module_stirling,maintainer"]="@armbian @igorpecovnik" - ["module_stirling,testers"]="@igorpecovnik" - ["module_stirling,feature"]="module_stirling" - ["module_stirling,desc"]="Install stirling container" - ["module_stirling,example"]="install remove purge status help" - ["module_stirling,port"]="8077" - ["module_stirling,status"]="Active" - ["module_stirling,arch"]="" -) -# -# Module stirling-PDF -# -function module_stirling () { - local title="stirling" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/stirling-pdf?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/stirling-pdf?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_stirling,example"]}" - - STIRLING_BASE="${SOFTWARE_FOLDER}/stirling" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - [[ -d "$STIRLING_BASE" ]] || mkdir -p "$STIRLING_BASE" || { echo "Couldn't create storage directory: $STIRLING_BASE"; exit 1; } - docker run -d \ - -p 8077:8080 \ - -v "${STIRLING_BASE}/trainingData:/usr/share/tessdata" \ - -v "${STIRLING_BASE}/extraConfigs:/configs" \ - -v "${STIRLING_BASE}/logs:/logs" \ - -v "${STIRLING_BASE}/customFiles:/customFiles" \ - -e DOCKER_ENABLE_SECURITY=false \ - -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \ - -e LANGS=en_GB \ - --name stirling-pdf \ - stirlingtools/stirling-pdf:latest - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' stirling-pdf >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs stirling-pdf\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - [[ -n "${STIRLING_BASE}" && "${STIRLING_BASE}" != "/" ]] && rm -rf "${STIRLING_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_stirling,feature"]} " - echo -e "Commands: ${module_options["module_stirling,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tremove\t- Remove $title." - echo -e "\tpurge\t- Purge $title data folder." - echo -e "\tstatus\t- Installation status $title." - - echo - ;; - *) - ${module_options["module_stirling,feature"]} ${commands[4]} - ;; - esac -} diff --git a/tools/modules/software/install_uptime-kuma.sh b/tools/modules/software/install_uptime-kuma.sh index d0605efa6..7c8e50683 100644 --- a/tools/modules/software/install_uptime-kuma.sh +++ b/tools/modules/software/install_uptime-kuma.sh @@ -1,76 +1,34 @@ module_options+=( ["module_uptimekuma,author"]="@armbian" + ["module_uptimekuma,ref_link"]="" ["module_uptimekuma,feature"]="module_uptimekuma" - ["module_uptimekuma,desc"]="Install uptimekuma container" - ["module_uptimekuma,example"]="install remove purge status help" - ["module_uptimekuma,port"]="3001" + ["module_uptimekuma,desc"]="Install/uninstall/check status of uptime kuma container" + ["module_uptimekuma,example"]="install uninstall status" ["module_uptimekuma,status"]="Active" - ["module_uptimekuma,arch"]="x86-64,arm64" ) # -# Module uptimekuma +# Install uptime kuma # -function module_uptimekuma () { - local title="uptimekuma" - local condition=$(which "$title" 2>/dev/null) +module_uptimekuma() { if check_if_installed docker-ce; then local container=$(docker container ls -a | mawk '/uptime-kuma?( |$)/{print $1}') local image=$(docker image ls -a | mawk '/uptime-kuma?( |$)/{print $3}') fi - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_uptimekuma,example"]}" - - UPTIMEKUMA_BASE="${SOFTWARE_FOLDER}/uptimekuma" - case "$1" in - "${commands[0]}") + install) check_if_installed docker-ce || install_docker - [[ -d "$UPTIMEKUMA_BASE" ]] || mkdir -p "$UPTIMEKUMA_BASE" || { echo "Couldn't create storage directory: $UPTIMEKUMA_BASE"; exit 1; } - docker run -d --name uptime-kuma \ - --restart=always \ - -p 3001:3001 \ - -v "${UPTIMEKUMA_BASE}:/app/data" \ - louislam/uptime-kuma:1 - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' uptime-kuma >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs uptimekuma\`)" - exit 1 - fi - done + #docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 >/dev/null + docker run -d --quiet --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 >/dev/null + $DIALOG --msgbox "Uptime Kuma service has been installed successfully!\n\nIn a web browser go to http://localhost:3001 or \nhttp://127.0.0.1:3001 on this computer." 10 70 ;; - "${commands[1]}") + uninstall) [[ "${container}" ]] && docker container rm -f "$container" >/dev/null [[ "${image}" ]] && docker image rm "$image" >/dev/null ;; - "${commands[2]}") - [[ -n "${UPTIMEKUMA_BASE}" && "${UPTIMEKUMA_BASE}" != "/" ]] && rm -rf "${UPTIMEKUMA_BASE}" - ;; - "${commands[3]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[4]}") - echo -e "\nUsage: ${module_options["module_uptimekuma,feature"]} " - echo -e "Commands: ${module_options["module_uptimekuma,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tremove\t- Remove $title." - echo -e "\tpurge\t- Purge $title data folder." - echo -e "\tstatus\t- Installation status $title." - echo - ;; - *) - ${module_options["module_uptimekuma,feature"]} ${commands[4]} + status) + [[ "${container}" ]] || [[ "${image}" ]] && return 0 ;; esac } diff --git a/tools/modules/software/install_watchtower.sh b/tools/modules/software/install_watchtower.sh deleted file mode 100644 index 933d00715..000000000 --- a/tools/modules/software/install_watchtower.sh +++ /dev/null @@ -1,68 +0,0 @@ -module_options+=( - ["module_watchtower,author"]="@armbian" - ["module_watchtower,feature"]="module_watchtower" - ["module_watchtower,desc"]="Install watchtower container" - ["module_watchtower,example"]="install remove status help" - ["module_watchtower,port"]="" - ["module_watchtower,status"]="Active" - ["module_watchtower,arch"]="" -) -# -# Module watchtower -# -function module_watchtower () { - local title="watchtower" - local condition=$(which "$title" 2>/dev/null) - - if check_if_installed docker-ce; then - local container=$(docker container ls -a | mawk '/watchtower?( |$)/{print $1}') - local image=$(docker image ls -a | mawk '/watchtower?( |$)/{print $3}') - fi - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_watchtower,example"]}" - - case "$1" in - "${commands[0]}") - check_if_installed docker-ce || install_docker - docker run -d \ - --name watchtower \ - -v /var/run/docker.sock:/var/run/docker.sock \ - containrrr/watchtower - for i in $(seq 1 20); do - if docker inspect -f '{{ index .Config.Labels "build_version" }}' watchtower >/dev/null 2>&1 ; then - break - else - sleep 3 - fi - if [ $i -eq 20 ] ; then - echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs watchtower\`)" - exit 1 - fi - done - ;; - "${commands[1]}") - [[ "${container}" ]] && docker container rm -f "$container" >/dev/null - [[ "${image}" ]] && docker image rm "$image" >/dev/null - ;; - "${commands[2]}") - if [[ "${container}" && "${image}" ]]; then - return 0 - else - return 1 - fi - ;; - "${commands[3]}") - echo -e "\nUsage: ${module_options["module_watchtower,feature"]} " - echo -e "Commands: ${module_options["module_watchtower,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tstatus\t- Installation status $title." - echo -e "\tremove\t- Remove $title." - echo - ;; - *) - ${module_options["module_watchtower,feature"]} ${commands[3]} - ;; - esac -} diff --git a/tools/modules/system/install_zfs.sh b/tools/modules/system/install_zfs.sh deleted file mode 100644 index f374132c3..000000000 --- a/tools/modules/system/install_zfs.sh +++ /dev/null @@ -1,59 +0,0 @@ -module_options+=( - ["module_zfs,author"]="@armbian" - ["module_zfs,feature"]="module_zfs" - ["module_zfs,desc"]="Install zfs filesystem support" - ["module_zfs,example"]="install remove status kernel_max zfs_version help" - ["module_zfs,port"]="" - ["module_zfs,status"]="Active" - ["module_zfs,arch"]="" -) -# -# Mmodule_zfs -# -function module_zfs () { - local title="zfs" - local condition=$(which "$title" 2>/dev/null) - - local commands - IFS=' ' read -r -a commands <<< "${module_options["module_zfs,example"]}" - - # determine if our kernel is not too recent - local zfs_dkms=$(LC_ALL=C apt-cache policy zfs-dkms | grep Candidate | xargs | cut -d" " -f2 | cut -c-5) - local kernel_max=$(wget -qO- https://github.com/openzfs/zfs/raw/refs/tags/zfs-${zfs_dkms}/META | grep Maximum | cut -d" " -f2) - - case "$1" in - "${commands[0]}") - module_headers install - apt_install_wrapper apt-get -y install zfsutils-linux zfs-dkms || exit 1 - ;; - "${commands[1]}") - module_headers remove - apt_install_wrapper apt-get -y autopurge zfsutils-linux zfs-dkms || exit 1 - ;; - "${commands[2]}") - if check_if_installed zfsutils-linux; then - return 0 - else - return 1 - fi - ;; - "${commands[3]}") - echo "${kernel_max}" - ;; - "${commands[4]}") - echo "v${zfs_dkms}" - ;; - "${commands[5]}") - echo -e "\nUsage: ${module_options["module_zfs,feature"]} " - echo -e "Commands: ${module_options["module_zfs,example"]}" - echo "Available commands:" - echo -e "\tinstall\t- Install $title." - echo -e "\tstatus\t- Installation status $title." - echo -e "\tremove\t- Remove $title." - echo - ;; - *) - ${module_options["module_zfs,feature"]} ${commands[3]} - ;; - esac -} diff --git a/tools/modules/system/manage_dtoverlays.sh b/tools/modules/system/manage_dtoverlays.sh index c402ec402..d2b89fd38 100644 --- a/tools/modules/system/manage_dtoverlays.sh +++ b/tools/modules/system/manage_dtoverlays.sh @@ -30,7 +30,7 @@ function manage_dtoverlays () { fi for overlay in ${available_overlays}; do local status="OFF" - grep '^overlays' ${overlayconf} | grep -qw ${overlay} && status=ON + grep '^fdt_overlays' ${overlayconf} | grep -qw ${overlay} && status=ON options+=( "$overlay" "" "$status") done selection=$($DIALOG --title "Manage devicetree overlays" --cancel-button "Back" \ @@ -41,8 +41,8 @@ function manage_dtoverlays () { 0) changes="true" newoverlays=$(echo $selection | sed 's/"//g') - sed -i "s/^overlays=.*/overlays=$newoverlays/" ${overlayconf} - if ! grep -q "^overlays" ${overlayconf}; then echo "overlays=$newoverlays" >> ${overlayconf}; fi + sed -i "s/^fdt_overlays=.*/fdt_overlays=$newoverlays/" ${overlayconf} + if ! grep -q "^fdt_overlays" ${overlayconf}; then echo "fdt_overlays=$newoverlays" >> ${overlayconf}; fi sync ;; 1) diff --git a/tools/modules/system/manage_odroid_board.sh b/tools/modules/system/manage_odroid_board.sh index d2aea3f56..bbf6af463 100644 --- a/tools/modules/system/manage_odroid_board.sh +++ b/tools/modules/system/manage_odroid_board.sh @@ -1,10 +1,10 @@ module_options+=( - ["manage_odroid_board,author"]="@GeoffClements" - ["manage_odroid_board,ref_link"]="" - ["manage_odroid_board,feature"]="Odroid board" - ["manage_odroid_board,desc"]="Select optimised Odroid board configuration" - ["manage_odroid_board,example"]="select" - ["manage_odroid_board,status"]="Stable" + ["manage_odroid_board,author"]="Geoff Clements" + ["manage_odroid_board,ref_link"]="" + ["manage_odroid_board,feature"]="Odroid board" + ["manage_odroid_board,desc"]="Select optimised Odroid board configuration" + ["manage_odroid_board,example"]="module_select_xuodroid" + ["manage_odroid_board,status"]="review" ) # # @description Select optimised board configuration @@ -19,14 +19,14 @@ function module_select_xuodroid() { current_board=$(grep -oP '^board_name=\K.*' ${env_file}) local target_board=${current_board} - for board_num in $(seq 0 $((${#board_list[@]} - 1))); do - if [[ "${board_id[${board_num}]}" == "${current_board}" ]]; then - state=on - else - state=off - fi - list+=("${board_id[${board_num}]}" "${board_list[${board_num}]}" "${state}") - done + for board_num in $(seq 0 $((${#board_list[@]} - 1))); do + if [[ "${board_id[${board_num}]}" == "${current_board}" ]]; then + state=on + else + state=off + fi + list+=("${board_id[${board_num}]}" "${board_list[${board_num}]}" "${state}") + done if target_board=$($DIALOG --notags --title "Select optimised board configuration" \ --radiolist "" 10 42 4 "${list[@]}" 3>&1 1>&2 2>&3); then