From e394dd08b07156de809cc8f97f355b17f4a1b9cb Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:38:47 +0100 Subject: [PATCH] Alpine MariaDB (#3456) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Alpine-MariaDB * fix deps * Update install/alpine-mariadb-install.sh Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * space --------- Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/alpine-mariadb.sh | 46 ++++++++++++++++++++++++ frontend/public/json/mariadb.json | 11 ++++++ install/alpine-mariadb-install.sh | 59 +++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 ct/alpine-mariadb.sh create mode 100644 install/alpine-mariadb-install.sh diff --git a/ct/alpine-mariadb.sh b/ct/alpine-mariadb.sh new file mode 100644 index 000000000..aa6337283 --- /dev/null +++ b/ct/alpine-mariadb.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://mariadb.org + +APP="Alpine-MariaDB" +var_tags="${var_tags:-alpine;database}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk update + $STD apk upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating MariaDB" + $STD apk upgrade mariadb mariadb-client + msg_ok "Updated MariaDB" + + msg_info "Restarting MariaDB" + $STD rc-service mariadb restart + msg_ok "Restarted MariaDB" + + exit 0 +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}" diff --git a/frontend/public/json/mariadb.json b/frontend/public/json/mariadb.json index 886b76784..f4d656b1e 100644 --- a/frontend/public/json/mariadb.json +++ b/frontend/public/json/mariadb.json @@ -24,6 +24,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-mariadb.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { diff --git a/install/alpine-mariadb-install.sh b/install/alpine-mariadb-install.sh new file mode 100644 index 000000000..5e49d3ade --- /dev/null +++ b/install/alpine-mariadb-install.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://mariadb.org/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apk add \ + gpg \ + sudo +msg_ok "Installed Dependencies" + +msg_info "Installing MariaDB" +$STD apk add --no-cache mariadb mariadb-client +$STD rc-update add mariadb default +$STD rc-service mariadb start +msg_ok "Installed MariaDB" + +msg_info "Configuring MariaDB" +mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1 +$STD rc-service mariadb restart +msg_ok "MariaDB Configured" + +read -r -p "Would you like to install Adminer with lighthttpd? : " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + msg_info "Installing Adminer" + $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq + sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf + echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf + ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//') + wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" + chown lighttpd:lighttpd /var/www/adminer.php + chmod 755 /var/www/adminer.php + msg_ok "Adminer Installed" + + msg_info "Starting Lighttpd" + $STD rc-update add lighttpd default + $STD rc-service lighttpd restart + msg_ok "Lighttpd Started" + + echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}" +else + echo -e "Skipped Adminer Installation..." +fi + +motd_ssh +customize + +msg_info "Cleaning up" +msg_ok "Cleaned"