Which server automation tools do you run with Cloudron?
-
Hey everyone!
I'm curious about the kinds of tools you're running alongside Cloudron to help with sysadmin tasks, especially those related to automation and orchestration.
Are you integrating external tools for things like:
Server patching?
Config backups?
Scripted provisioning?
Multi-app deployment?
Would love to learn what works best for your setup — CLI tools, platforms, custom scripts, anything goes!
-
- ci/cd pipelines my app custom scripts, configs and cron jobs are managed via ci/cd pipelines using Cloudron CLI/API. That's what I'm most happy with.
- auto-repair scripts for application that can crash (without restarting) in Cloudron, so this will in fact monitor some apps every x minutes and restart them if they timeout for too often/long.
- monitoring of UI notifications via changedetection because it works best than monitoring via API.
- monitoring of my apps via uptime kuma
other stuff I do
- automated server backups of course
- manual backups before/after big configuration changes
stuff I want to improve
- deployment of custom apps : still via CLI for now whereas I want to use ci/cd
- monitoring of remaining disk space (still manual)
- monitoring of app logs (still manual for now) to check for weird behaviors
-
Cool topic! I’ve tried a bunch of stuff to streamline my infra, especially when juggling multiple servers.
Some things I rely on:
Puppet: still my go-to for config management and app bootstrapping.
Cronicle: great for scheduling and logging tasks that don’t need a full CI/CD pipeline.
Attune: lets you write scripts and orchestrate them across machines.
Restic for backups, especially when paired with rclone.
Would be awesome if Cloudron supported hooks into these kinds of tools natively someday!
-
- ci/cd pipelines my app custom scripts, configs and cron jobs are managed via ci/cd pipelines using Cloudron CLI/API. That's what I'm most happy with.
- auto-repair scripts for application that can crash (without restarting) in Cloudron, so this will in fact monitor some apps every x minutes and restart them if they timeout for too often/long.
- monitoring of UI notifications via changedetection because it works best than monitoring via API.
- monitoring of my apps via uptime kuma
other stuff I do
- automated server backups of course
- manual backups before/after big configuration changes
stuff I want to improve
- deployment of custom apps : still via CLI for now whereas I want to use ci/cd
- monitoring of remaining disk space (still manual)
- monitoring of app logs (still manual for now) to check for weird behaviors
@SansGuidon said in Which server automation tools do you run with Cloudron?:
monitoring of remaining disk space (still manual)
I use
ntfy
(here on Cloudron) and a small script run via cron. -
@SansGuidon said in Which server automation tools do you run with Cloudron?:
monitoring of remaining disk space (still manual)
I use
ntfy
(here on Cloudron) and a small script run via cron.@timconsidine said in Which server automation tools do you run with Cloudron?:
@SansGuidon said in Which server automation tools do you run with Cloudron?:
monitoring of remaining disk space (still manual)
I use
ntfy
(here on Cloudron) and a small script run via cron.Yes that looks like a good idea, I would need to spend some time to glue all this in a proper script.
-
@timconsidine said in Which server automation tools do you run with Cloudron?:
@SansGuidon said in Which server automation tools do you run with Cloudron?:
monitoring of remaining disk space (still manual)
I use
ntfy
(here on Cloudron) and a small script run via cron.Yes that looks like a good idea, I would need to spend some time to glue all this in a proper script.
@SansGuidon I have a basic script (nb basic) which I will dig out
-
Thanks, in the meantime I cooked something like this that I put under some /app/data/scripts/cloudron folder in some LAMP server
check_storage.sh --- #!/usr/bin/env bash set -euo pipefail CONFIG_FILE="/app/data/scripts/cloudron/cloudron_monitor.env" [ -f "$CONFIG_FILE" ] || { echo "Missing config file: $CONFIG_FILE" >&2; exit 1; } source "$CONFIG_FILE" CLOUDRON_URL="https://my.cloudronsrv.tld" NTFY_URL="https://ntfy.cloudronsrv.tld" ALERT_THRESHOLD=75 # % # get raw JSON from Cloudron disk_json=$(curl -sS -H "Authorization: Bearer ${CLOUDRON_TOKEN}" \ -H "Content-Type: application/json" \ "$CLOUDRON_URL/api/v1/system/disk_usage") # parse and alert if needed alerted=0 echo "$disk_json" | jq -r ' .usage.filesystems | to_entries[] | {fs: .key, cap: (.value.capacity * 100 | floor)} | select(.cap >= '"$ALERT_THRESHOLD"') | "\(.fs): \(.cap)% used" ' | while read -r line; do # Send alert via ntfy curl -sS -u "$NTFY_USER:$NTFY_PASS" \ -H "Title: Disk usage alert" \ -H "Tags: warning,disk" \ -d "$line" \ "$NTFY_URL/disk-alert" alerted=1 done exit "$alerted" --- cloudron_monitor.env.template --- NTFY_PASS='xxxxxxxxx' NTFY_USER='yyyyyyyyy' CLOUDRON_TOKEN='xxxx'
which does the job