From e363ddead1c6d7c2a60d3fd28de65621294f3e35 Mon Sep 17 00:00:00 2001 From: Igor Pecovnik Date: Tue, 3 Dec 2024 19:05:46 +0100 Subject: [PATCH] Software title: MariaDb and phpMyAdmin --- tools/include/images/DAT001.png | Bin 0 -> 12751 bytes tools/include/images/DAT005.png | Bin 0 -> 12079 bytes tools/include/markdown/DAT001-footer.md | 20 ++++ tools/include/markdown/DAT001-header.md | 1 + tools/include/markdown/DAT005-footer.md | 19 ++++ tools/include/markdown/DAT005-header.md | 1 + tools/json/config.software.json | 66 +++++++++++++ tools/modules/runtime/config.runtime.sh | 2 + tools/modules/software/install_mariadb.sh | 93 +++++++++++++++++++ tools/modules/software/install_phpmyadmin.sh | 84 +++++++++++++++++ 10 files changed, 286 insertions(+) create mode 100644 tools/include/images/DAT001.png create mode 100644 tools/include/images/DAT005.png create mode 100644 tools/include/markdown/DAT001-footer.md create mode 100644 tools/include/markdown/DAT001-header.md create mode 100644 tools/include/markdown/DAT005-footer.md create mode 100644 tools/include/markdown/DAT005-header.md create mode 100644 tools/modules/software/install_mariadb.sh create mode 100644 tools/modules/software/install_phpmyadmin.sh diff --git a/tools/include/images/DAT001.png b/tools/include/images/DAT001.png new file mode 100644 index 0000000000000000000000000000000000000000..8d99844c96e743607e6e46051d4f9fefd46a62d6 GIT binary patch literal 12751 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 Pc>oGBs?zn6<`Mr31(wkH literal 0 HcmV?d00001 diff --git a/tools/include/markdown/DAT001-footer.md b/tools/include/markdown/DAT001-footer.md new file mode 100644 index 00000000..0a2467e3 --- /dev/null +++ b/tools/include/markdown/DAT001-footer.md @@ -0,0 +1,20 @@ +=== "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 new file mode 100644 index 00000000..8ea11f73 --- /dev/null +++ b/tools/include/markdown/DAT001-header.md @@ -0,0 +1 @@ +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 new file mode 100644 index 00000000..7374532d --- /dev/null +++ b/tools/include/markdown/DAT005-footer.md @@ -0,0 +1,19 @@ +=== "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 new file mode 100644 index 00000000..646d482f --- /dev/null +++ b/tools/include/markdown/DAT005-header.md @@ -0,0 +1 @@ +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/json/config.software.json b/tools/json/config.software.json index 63a2f6ee..335aae7c 100644 --- a/tools/json/config.software.json +++ b/tools/json/config.software.json @@ -613,6 +613,72 @@ } ] }, + { + "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\" ]]" + } + ] + }, { "id": "DNS", "description": "DNS blockers", diff --git a/tools/modules/runtime/config.runtime.sh b/tools/modules/runtime/config.runtime.sh index ac845321..3cd755d0 100644 --- a/tools/modules/runtime/config.runtime.sh +++ b/tools/modules/runtime/config.runtime.sh @@ -94,6 +94,8 @@ fi #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"]}" 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"]}" diff --git a/tools/modules/software/install_mariadb.sh b/tools/modules/software/install_mariadb.sh new file mode 100644 index 00000000..5d391a07 --- /dev/null +++ b/tools/modules/software/install_mariadb.sh @@ -0,0 +1,93 @@ +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_phpmyadmin.sh b/tools/modules/software/install_phpmyadmin.sh new file mode 100644 index 00000000..1ab6e0b2 --- /dev/null +++ b/tools/modules/software/install_phpmyadmin.sh @@ -0,0 +1,84 @@ +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 +}