Skip to content

Commit d2cce38

Browse files
DiscoPanel (#9847)
* Add discopanel (ct) * Update date_created and logo in discopanel.json * Update discopanel-install.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <[email protected]>
1 parent 59fa15a commit d2cce38

File tree

3 files changed

+166
-0
lines changed

3 files changed

+166
-0
lines changed

ct/discopanel.sh

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#!/usr/bin/env bash
2+
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: DragoQC
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://discopanel.app/
7+
8+
APP="DiscoPanel"
9+
var_tags="${var_tags:-gaming}"
10+
var_cpu="${var_cpu:-4}"
11+
var_ram="${var_ram:-4096}"
12+
var_disk="${var_disk:-15}"
13+
var_os="${var_os:-debian}"
14+
var_version="${var_version:-13}"
15+
var_unprivileged="${var_unprivileged:-1}"
16+
17+
header_info "$APP"
18+
variables
19+
color
20+
catch_errors
21+
22+
function update_script() {
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -d "/opt/discopanel" ]]; then
28+
msg_error "No ${APP} Installation Found!"
29+
exit
30+
fi
31+
32+
setup_docker
33+
34+
if check_for_gh_release "discopanel" "nickheyer/discopanel"; then
35+
msg_info "Stopping Service"
36+
systemctl stop discopanel
37+
msg_ok "Stopped Service"
38+
39+
msg_info "Creating Backup"
40+
mkdir -p /opt/discopanel_backup_temp
41+
cp -r /opt/discopanel/data/discopanel.db \
42+
/opt/discopanel/data/.recovery_key \
43+
/opt/discopanel_backup_temp/
44+
if [[ -d /opt/discopanel/data/servers ]]; then
45+
cp -r /opt/discopanel/data/servers /opt/discopanel_backup_temp/
46+
fi
47+
msg_ok "Created Backup"
48+
49+
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "tarball" "latest" "/opt/discopanel"
50+
51+
msg_info "Setting up DiscoPanel"
52+
cd /opt/discopanel/web/discopanel
53+
$STD npm install
54+
$STD npm run build
55+
cd /opt/discopanel
56+
$STD go build -o discopanel cmd/discopanel/main.go
57+
msg_ok "Setup DiscoPanel"
58+
59+
msg_info "Restoring Data"
60+
mkdir -p /opt/discopanel/data
61+
cp -a /opt/discopanel_backup_temp/. /opt/discopanel/data/
62+
rm -rf /opt/discopanel_backup_temp
63+
msg_ok "Restored Data"
64+
65+
msg_info "Starting Service"
66+
systemctl start discopanel
67+
msg_ok "Started Service"
68+
msg_ok "Updated Successfully!"
69+
fi
70+
exit
71+
}
72+
73+
start
74+
build_container
75+
description
76+
77+
msg_ok "Completed Successfully!\n"
78+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
79+
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
80+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "DiscoPanel",
3+
"slug": "discopanel",
4+
"categories": [
5+
24
6+
],
7+
"date_created": "2025-12-10",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 8080,
12+
"documentation": "https://discopanel.app/docs/",
13+
"config_path": "",
14+
"website": "https://discopanel.app/",
15+
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/discopanel.webp",
16+
"description": "The Minecraft Server Manager That *Actually* Works\nBuilt by someone who was done with bloated panels, endless menus, and tools that break the moment you need them most.\nSpin up servers in minutes, configure your proxy without headaches, and link your own DNS name effortlessly.\nFast setup, clean controls, zero nonsense—just a manager that gets out of your way and lets you play.",
17+
"install_methods": [
18+
{
19+
"type": "default",
20+
"script": "ct/discopanel.sh",
21+
"resources": {
22+
"cpu": 4,
23+
"ram": 4096,
24+
"hdd": 15,
25+
"os": "Debian",
26+
"version": "13"
27+
}
28+
}
29+
],
30+
"default_credentials": {
31+
"username": null,
32+
"password": null
33+
},
34+
"notes": []
35+
}

install/discopanel-install.sh

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env bash
2+
# Copyright (c) 2021-2025 community-scripts ORG
3+
# Author: DragoQC
4+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
5+
# Source: https://discopanel.app/
6+
7+
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
8+
color
9+
verb_ip6
10+
catch_errors
11+
setting_up_container
12+
network_check
13+
update_os
14+
15+
msg_info "Installing Dependencies"
16+
$STD apt install -y build-essential
17+
msg_ok "Installed Dependencies"
18+
19+
NODE_VERSION="22" setup_nodejs
20+
setup_go
21+
fetch_and_deploy_gh_release "discopanel" "nickheyer/discopanel" "tarball" "latest" "/opt/discopanel"
22+
setup_docker
23+
24+
msg_info "Setting up DiscoPanel"
25+
cd /opt/discopanel/web/discopanel
26+
$STD npm install
27+
$STD npm run build
28+
cd /opt/discopanel
29+
$STD go build -o discopanel cmd/discopanel/main.go
30+
msg_ok "Setup DiscoPanel"
31+
32+
msg_info "Creating Service"
33+
cat <<EOF >/etc/systemd/system/discopanel.service
34+
[Unit]
35+
Description=DiscoPanel Service
36+
After=network.target
37+
38+
[Service]
39+
WorkingDirectory=/opt/discopanel
40+
ExecStart=/opt/discopanel/discopanel
41+
Restart=always
42+
43+
[Install]
44+
WantedBy=multi-user.target
45+
EOF
46+
systemctl enable -q --now discopanel
47+
msg_ok "Created Service"
48+
49+
motd_ssh
50+
customize
51+
cleanup_lxc

0 commit comments

Comments
 (0)