New Script: LinkStack (#472)
* Testing linkstack * linkstack * removed unecessary warning. * cleanup * getting ahead of the code reviews * Update install/linkstack-install.sh Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * Update install/linkstack-install.sh Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * Update install/linkstack-install.sh Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * Update install/linkstack-install.sh Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * updating as requested. * updating as requested. * Update linkstack.sh * Update install/linkstack-install.sh * Update ct/linkstack.sh * fixing module list error following ampache example. * fixing module list error following ampache example. * Update frontend/public/json/linkstack.json Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * added .env file to config_path * Update install/linkstack-install.sh --------- Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com>
This commit is contained in:
parent
58a1c01daa
commit
6778d2538f
47
ct/linkstack.sh
Normal file
47
ct/linkstack.sh
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Omar Minaya
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://linkstack.org/
|
||||||
|
|
||||||
|
APP="LinkStack"
|
||||||
|
var_tags="${var_tags:-os}"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-2048}"
|
||||||
|
var_disk="${var_disk:-10}"
|
||||||
|
var_os="${var_os:-debian}"
|
||||||
|
var_version="${var_version:-12}"
|
||||||
|
var_unprivileged="${var_unprivileged:-1}"
|
||||||
|
|
||||||
|
header_info "$APP"
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
check_container_storage
|
||||||
|
check_container_resources
|
||||||
|
|
||||||
|
if [[ ! -d /var ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
msg_info "Updating $APP LXC"
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get -y upgrade
|
||||||
|
msg_ok "Updated $APP LXC"
|
||||||
|
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
msg_ok "Completed Successfully!\n"
|
||||||
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
|
echo -e "${INFO}${YW} Complete setup at:${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
44
frontend/public/json/linkstack.json
Normal file
44
frontend/public/json/linkstack.json
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"name": "LinkStack",
|
||||||
|
"slug": "linkstack",
|
||||||
|
"categories": [
|
||||||
|
9
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-21",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": false,
|
||||||
|
"privileged": false,
|
||||||
|
"config_path": "/var/www/html/linkstack/linkstack/.env",
|
||||||
|
"interface_port": 80,
|
||||||
|
"documentation": "https://docs.linkstack.org/",
|
||||||
|
"website": "https://linkstack.org/",
|
||||||
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linkstack.webp",
|
||||||
|
"description": "LinkStack is an open-source, self-hosted alternative to Linktree, allowing users to create a customizable profile page to share multiple links, hosted on their own server.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/linkstack.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 2048,
|
||||||
|
"hdd": 10,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "LinkStack can be updated via the user interface.",
|
||||||
|
"type": "info"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Complete setup via the web interface at http://<container-ip>/. Check installation logs: `cat ~/linkstack-install.log`",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
63
install/linkstack-install.sh
Normal file
63
install/linkstack-install.sh
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: Omar Minaya
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://linkstack.org/
|
||||||
|
|
||||||
|
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 \
|
||||||
|
software-properties-common \
|
||||||
|
ca-certificates \
|
||||||
|
lsb-release \
|
||||||
|
apt-transport-https \
|
||||||
|
apache2
|
||||||
|
unzip
|
||||||
|
msg_ok "Installed dependencies"
|
||||||
|
|
||||||
|
PHP_VERSION="8.2" PHP_MODULE="sqlite3, mysql, fileinfo" PHP_APACHE="YES" install_php
|
||||||
|
|
||||||
|
msg_info "Installing LinkStack"
|
||||||
|
$STD a2enmod rewrite
|
||||||
|
|
||||||
|
ZIP_URL="https://github.com/linkstackorg/linkstack/releases/latest/download/linkstack.zip"
|
||||||
|
ZIP_FILE="/tmp/linkstack.zip"
|
||||||
|
curl -fsSL -o "$ZIP_FILE" "$ZIP_URL"
|
||||||
|
unzip -q "$ZIP_FILE" -d /var/www/html/linkstack
|
||||||
|
chown -R www-data:www-data /var/www/html/linkstack
|
||||||
|
chmod -R 755 /var/www/html/linkstack
|
||||||
|
|
||||||
|
cat <<EOF > /etc/apache2/sites-available/linkstack.conf
|
||||||
|
<VirtualHost *:80>
|
||||||
|
ServerAdmin webmaster@localhost
|
||||||
|
DocumentRoot /var/www/html/linkstack/linkstack
|
||||||
|
ErrorLog /var/log/apache2/linkstack-error.log
|
||||||
|
CustomLog /var/log/apache2/linkstack-access.log combined
|
||||||
|
<Directory /var/www/html/linkstack/linkstack>
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
</VirtualHost>
|
||||||
|
EOF
|
||||||
|
$STD a2dissite 000-default.conf
|
||||||
|
$STD a2ensite linkstack.conf
|
||||||
|
$STD systemctl restart apache2
|
||||||
|
msg_ok "Installed LinkStack"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD rm -f "$ZIP_FILE"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
Loading…
x
Reference in New Issue
Block a user