2023-03-22 20:48:20 -04:00
#!/usr/bin/env bash
2026-09-01 13:28:55 +02:00
_cs_boot = " ${ COMMUNITY_SCRIPTS_CORE_DIR :-$( dirname " ${ BASH_SOURCE [0] } " ) /../../core } /core/build.func"
source " $_cs_boot " 2>/dev/null || source <( curl -fsSL " ${ COMMUNITY_SCRIPTS_CORE_URL :- https ://raw.githubusercontent.com/community-scripts/core/main } /core/build.func" )
2026-01-06 13:28:12 +01:00
# Copyright (c) 2021-2026 tteck
2023-03-22 20:48:20 -04:00
# Author: tteck (tteckster)
2024-12-16 12:42:51 +01:00
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.tp-link.com/us/support/download/omada-software-controller/
2023-03-22 20:48:20 -04:00
APP = "Omada"
2025-04-10 11:56:52 +02:00
var_tags = " ${ var_tags :- tp -link;controller } "
var_cpu = " ${ var_cpu :- 2 } "
2025-04-14 21:04:40 +02:00
var_ram = " ${ var_ram :- 3072 } "
2025-04-10 11:56:52 +02:00
var_disk = " ${ var_disk :- 8 } "
var_os = " ${ var_os :- debian } "
2026-08-20 14:32:42 +02:00
var_version = " ${ var_version :- 13 } "
2026-06-22 04:45:41 +10:00
var_arm64 = " ${ var_arm64 :- yes } "
2025-04-10 11:56:52 +02:00
var_unprivileged = " ${ var_unprivileged :- 1 } "
2024-12-16 12:42:51 +01:00
header_info " $APP "
2023-03-22 20:48:20 -04:00
variables
color
catch_errors
function update_script() {
2024-12-16 12:42:51 +01:00
header_info
check_container_storage
check_container_resources
if [[ ! -d /opt/tplink ]] ; then
msg_error "No ${ APP } Installation Found!"
exit
fi
2025-02-24 14:50:09 +01:00
msg_info "Updating MongoDB"
2026-06-22 04:45:41 +10:00
if [[ " $( arch_resolve) " == "arm64" ]] || lscpu | grep -q 'avx' ; then
2026-08-24 11:37:43 -07:00
MONGO_VERSION = "8.0" setup_mongodb
2025-10-31 01:47:22 -07:00
else
2025-11-20 13:01:41 +01:00
msg_error "No AVX detected (CPU-Flag)! We have discontinued support for this. You are welcome to try it manually with a Debian LXC, but due to the many issues with Omada, we currently only support AVX CPUs."
exit 10
2025-02-24 14:50:09 +01:00
fi
2025-11-20 13:01:41 +01:00
JAVA_VERSION = "21" setup_java
2025-03-21 20:36:01 +01:00
2026-06-29 07:02:08 +10:00
OMADA_URL = $( curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" "https://support.omadanetworks.com/en/download/software/omada-controller/" |
2025-04-14 21:04:40 +02:00
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1)
2026-05-11 23:17:04 -07:00
OMADA_PKG = $( basename " ${ OMADA_URL } " )
2026-07-20 11:43:34 +02:00
VERSION = $( sed -n 's/.*_v\([0-9.]*\)_linux.*/\1/p' <<< " ${ OMADA_PKG } " )
2026-05-11 23:17:04 -07:00
CURRENT_VERSION = $( cat $HOME /.omada 2>/dev/null || echo "0" )
if dpkg --compare-versions " ${ VERSION } " gt " ${ CURRENT_VERSION } " ; then
msg_info "Updating Omada Controller"
if [ -z " ${ OMADA_PKG } " ] ; then
msg_error "Could not retrieve Omada package – server may be down."
exit
fi
curl -fsSL " ${ OMADA_URL } " -o " ${ OMADA_PKG } "
export DEBIAN_FRONTEND = noninteractive
$STD dpkg -i " ${ OMADA_PKG } "
rm -f " ${ OMADA_PKG } "
echo " ${ VERSION } " >$HOME /.omada
msg_ok "Updated Omada Controller to ${ VERSION } "
msg_ok "Updated successfully!"
else
msg_ok "No update available: ${ APP } ( ${ CURRENT_VERSION } )"
2024-12-16 12:42:51 +01:00
fi
2025-10-30 09:24:16 -07:00
exit
2023-03-22 20:48:20 -04:00
}
start
build_container
description
2026-01-06 22:57:40 +01:00
msg_ok "Completed successfully!\n"
2024-12-16 12:42:51 +01:00
echo -e " ${ CREATING }${ GN }${ APP } setup has been successfully initialized! ${ CL } "
2026-06-03 11:03:13 +02:00
echo -e " ${ INFO }${ YW } Access it using the following URL: ${ CL } "
echo -e " ${ GATEWAY }${ BGN } https:// ${ IP } :8043 ${ CL } "