mirror of https://github.com/tteck/Proxmox.git
Compare commits
7 Commits
dc222ec251
...
a5c5628bed
Author | SHA1 | Date |
---|---|---|
|
a5c5628bed | |
|
831d62390d | |
|
3c463d4ce1 | |
|
410794f055 | |
|
b9cc6a09a3 | |
|
e4d8b62452 | |
|
43ee7501ad |
|
@ -10,6 +10,13 @@
|
|||
- All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
|
||||
- 🚨 **The scripts in the repository will no longer provide support for Proxmox VE 7 starting from July 2024 (scripts will not execute on PVE7). Subsequent <a href='https://forum.proxmox.com/threads/proxmox-ve-support-lifecycle.35755/' target='_blank' rel='noopener noreferrer'>Proxmox VE - Support Lifecycle</a>**
|
||||
|
||||
## 2024-05-05
|
||||
|
||||
### Changed
|
||||
|
||||
- **Fenrus LXC**
|
||||
- NEW Script
|
||||
|
||||
## 2024-05-02
|
||||
|
||||
### Changed
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021-2023 tteck
|
||||
Copyright (c) 2021-2024 tteck
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/tteck/Proxmox/main/misc/build.func)
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: Scorpoon
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
|
||||
function header_info {
|
||||
clear
|
||||
cat <<"EOF"
|
||||
______
|
||||
/ ____/__ ____ _______ _______
|
||||
/ /_ / _ \/ __ \/ ___/ / / / ___/
|
||||
/ __/ / __/ / / / / / /_/ (__ )
|
||||
/_/ \___/_/ /_/_/ \__,_/____/
|
||||
|
||||
EOF
|
||||
}
|
||||
header_info
|
||||
echo -e "Loading..."
|
||||
APP="Fenrus"
|
||||
var_disk="4"
|
||||
var_cpu="1"
|
||||
var_ram="512"
|
||||
var_os="debian"
|
||||
var_version="12"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function default_settings() {
|
||||
CT_TYPE="1"
|
||||
PW=""
|
||||
CT_ID=$NEXTID
|
||||
HN=$NSAPP
|
||||
DISK_SIZE="$var_disk"
|
||||
CORE_COUNT="$var_cpu"
|
||||
RAM_SIZE="$var_ram"
|
||||
BRG="vmbr0"
|
||||
NET="dhcp"
|
||||
GATE=""
|
||||
APT_CACHER=""
|
||||
APT_CACHER_IP=""
|
||||
DISABLEIP6="no"
|
||||
MTU=""
|
||||
SD=""
|
||||
NS=""
|
||||
MAC=""
|
||||
VLAN=""
|
||||
SSH="no"
|
||||
VERB="no"
|
||||
echo_default
|
||||
}
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
if [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
|
||||
msg_error "There is currently no update path available."
|
||||
exit
|
||||
msg_info "Updating ${APP}"
|
||||
systemctl stop ${APP}
|
||||
git clone https://github.com/revenz/Fenrus.git
|
||||
cd Fenrus || exit
|
||||
gitVersionNumber=$(git rev-parse HEAD)
|
||||
|
||||
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
mkdir /opt/fenrus-data-backup
|
||||
cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
|
||||
if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
|
||||
cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
|
||||
echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
|
||||
rm -r /opt/fenrus-data-backup/
|
||||
msg_ok "Updated $APP"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already up to date"
|
||||
fi
|
||||
cd ..
|
||||
rm -r Fenrus/
|
||||
|
||||
systemctl start ${APP}
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${APP} should be reachable by going to the following URL.
|
||||
${BL}http://${IP}:5000${CL} \n"
|
|
@ -0,0 +1,68 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2024 tteck
|
||||
# Author: tteck (tteckster)
|
||||
# Co-Author: Scorpoon
|
||||
# License: MIT
|
||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
|
||||
# Source: https://github.com/revenz/Fenrus
|
||||
|
||||
|
||||
|
||||
source /dev/stdin <<< "$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt-get install -y sudo
|
||||
$STD apt-get install -y mc
|
||||
$STD apt-get install -y curl
|
||||
$STD apt-get install -y git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing ASP.NET Core 7 SDK"
|
||||
var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
|
||||
var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"')
|
||||
if [ "${var_os}" = "debian" ]; then
|
||||
wget -q "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb"
|
||||
$STD dpkg -i packages-microsoft-prod.deb
|
||||
rm packages-microsoft-prod.deb
|
||||
fi
|
||||
$STD apt-get update
|
||||
$STD apt-get install -y dotnet-sdk-7.0
|
||||
msg_ok "Installed ASP.NET Core 7 SDK"
|
||||
|
||||
msg_info "Installing ${APPLICATION}"
|
||||
git clone -q https://github.com/revenz/Fenrus.git /opt/${APPLICATION}
|
||||
cd /opt/${APPLICATION}
|
||||
$STD dotnet publish -c Release -o "/opt/${APPLICATION}/" Fenrus.csproj
|
||||
msg_ok "Installed ${APPLICATION}"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/"${APPLICATION}".service
|
||||
[Unit]
|
||||
Description=${APPLICATION}
|
||||
|
||||
[Service]
|
||||
WorkingDirectory=/opt/${APPLICATION}
|
||||
ExecStart=/usr/bin/dotnet Fenrus.dll --urls=http://*:5000
|
||||
SyslogIdentifier=${APPLICATION}
|
||||
User=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
$STD systemctl enable -q --now ${APPLICATION}
|
||||
msg_ok "Created Service"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
Loading…
Reference in New Issue