Skip to content
Merged

Stylus #7588

Show file tree
Hide file tree
Changes from all 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
6 changes: 6 additions & 0 deletions ct/headers/stylus
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
_____ __ __
/ ___// /___ __/ /_ _______
\__ \/ __/ / / / / / / / ___/
___/ / /_/ /_/ / / /_/ (__ )
/____/\__/\__, /_/\__,_/____/
/____/
54 changes: 54 additions & 0 deletions ct/stylus.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: luismco
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mmastrac/stylus

APP="Stylus"
var_tags="${var_tags:-network}"
var_cpu="${var_cpu:-1}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-2}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
var_fuse="${var_fuse:-1}"

header_info "$APP"
variables
color
catch_errors

function update_script() {
header_info
check_container_storage
check_container_resources

if [[ ! -d /opt/stylus ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "stylus" "mmastrac/stylus"; then
msg_info "Stopping $APP"
systemctl stop stylus
msg_ok "Stopped $APP"

fetch_and_deploy_gh_release "stylus" "mmastrac/stylus" "singlefile" "latest" "/usr/bin/" "*_linux_amd64"

msg_info "Starting $APP"
systemctl start stylus
msg_ok "Started $APP"
msg_ok "Update Successful"
fi
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} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"
35 changes: 35 additions & 0 deletions frontend/public/json/stylus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "Stylus",
"slug": "stylus",
"categories": [
4
],
"date_created": "2025-09-06",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 8000,
"documentation": "https://mmastrac.github.io/stylus/",
"website": "https://github.com/mmastrac/stylus",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/stylus.webp",
"config_path": "/opt/stylus/config.yaml",
"description": "Stylus (style + status) is a lightweight status page for infrastructure and networks. Configure a set of bash scripts that test the various parts of your infrastructure, set up visualizations with minimal configuration, and Stylus will generate you a dashboard for your system.",
"install_methods": [
{
"type": "default",
"script": "ct/stylus.sh",
"resources": {
"cpu": 1,
"ram": 1024,
"hdd": 2,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}
46 changes: 46 additions & 0 deletions install/stylus-install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/usr/bin/env bash

# Copyright (c) 2021-2025 community-scripts ORG
# Author: luismco
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/mmastrac/stylus

source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os

fetch_and_deploy_gh_release "stylus" "mmastrac/stylus" "singlefile" "latest" "/usr/bin/" "*_linux_amd64"

msg_info "Configuring Stylus"
$STD stylus init /opt/stylus/
msg_ok "Configured Stylus"

msg_info "Creating service"
cat <<EOF >/etc/systemd/system/stylus.service
[Unit]
Description=Stylus Service
After=network.target

[Service]
Type=simple
ExecStart=stylus run /opt/stylus/
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now stylus
msg_ok "Created service"

motd_ssh
customize

msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned up"