Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Script: The Lounge IRC #571

Merged
merged 21 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from 16 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions ct/thelounge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2024 tteck
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
# Author: kristocopani
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE

function header_info {
clear
cat <<"EOF"
________ __
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
/_ __/ /_ ___ / / ____ __ ______ ____ ____
/ / / __ \/ _ \ / / / __ \/ / / / __ \/ __ `/ _ \
/ / / / / / __/ / /___/ /_/ / /_/ / / / / /_/ / __/
/_/ /_/ /_/\___/ /_____/\____/\__,_/_/ /_/\__, /\___/
/____/
EOF
}
header_info
echo -e "Loading..."
APP="The Lounge"
var_disk="4"
var_cpu="2"
var_ram="2048"
var_os="ubuntu"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
var_version="24.04"
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
check_container_storage
check_container_resources

if [[ ! -f /usr/lib/systemd/system/thelounge.service ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "v${RELEASE}" != "$(sudo -u thelounge thelounge -v)" ]]; then
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
msg_info "Stopping ${APP} Services"
systemctl stop thelounge
msg_ok "Stopped ${APP} Services"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved

msg_info "Updating ${APP} to ${RELEASE}"
apt-get install --only-upgrade \
nodejs
cd /opt
wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb
dpkg -i ./thelounge_${RELEASE}_all.deb
msg_ok "Updated ${APP} to ${RELEASE}"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved

msg_info "Starting ${APP} Services"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
systemctl daemon-reload
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
systemctl start thelounge
msg_ok "Started ${APP}"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved

msg_info "Cleaning up"
rm -rf "/opt/thelounge_${RELEASE}_all.deb"
apt-get -y autoremove
apt-get -y autoclean
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
fi
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}:9000${CL} \n"
43 changes: 43 additions & 0 deletions install/thelounge-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env bash

# Copyright (c) 2021-2024 tteck
# Author: kristocopani
# License: MIT
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE

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 \
curl \
wget
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
cd /opt
curl -fsSL https://deb.nodesource.com/setup_23.x -o nodesource_setup.sh
$STD bash nodesource_setup.sh
$STD apt-get update
$STD apt-get install -y \
nodejs
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
msg_ok "Installed Dependencies"

msg_info "Installing The Lounge"
cd /opt
RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb
$STD dpkg -i ./thelounge_${RELEASE}_all.deb
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
msg_ok "Installed The Lounge"

motd_ssh
customize

msg_info "Cleaning up"
rm -rf "/opt/thelounge_${RELEASE}_all.deb"
rm -rf "/opt/nodesource_setup.sh"
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"
39 changes: 39 additions & 0 deletions json/thelounge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"name": "The Lounge",
"slug": "thelounge, the-lounge",
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
"categories": [
0
],
"date_created": "2024-11-28",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 9000,
"documentation": "https://thelounge.chat/docs",
"website": "https://thelounge.chat/",
"logo": "https://raw.githubusercontent.com/thelounge/thelounge.github.io/master/assets/logos/logo/TL_Grey%26Yellow_Vertical_logotype_Transparent_Bg/TL_Grey%26Yellow_Vertical_logotype_Transparent_Bg.png",
"description": "Modern web IRC client designed for self-hosting ",
"install_methods": [
{
"type": "default",
"script": "/ct/thelounge, the-lounge.sh",
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
"resources": {
"cpu": 2,
"ram": 2048,
"hdd": 4,
"os": "Ubuntu",
"version": 24.04
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": [
{
"text": "The Lounge is now up and running in private mode. You will have to create a user by using \"sudo -u thelounge thelounge add name\"",
MickLesk marked this conversation as resolved.
Show resolved Hide resolved
"type": "info"
}
]
}