feat: add documentation, alerts, cron setup and update dashboard
CI / check (push) Successful in 4m6s
CI / deploy (push) Successful in 19s
CI / publish-container (push) Successful in 1m15s

This commit is contained in:
openhands committed 2026-09-13 21:16:08 +02:00
1 parent bd977da3a5
commit b688760309
4 files changed
+57

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
# Scripts Documentation
This directory contains utility scripts for managing the EpicNext-Cms project.
## Scripts Overview
| Script | Description |
| :--- | :--- |
| `dashboard.sh` | Main interactive menu to run all other scripts. |
| `deploy.sh` | Safely redeploys the application by freeing the port first. |
| `logs.sh` | View logs for cms and mariadb services. |
| `backup.sh` | Creates a database backup in `/backups`. |
| `db-restore.sh` | Restores a database backup. |
| `db-optimize.sh` | Optimizes database tables. |
| `docker-prune.sh` | Cleans up unused Docker resources. |
| `verify-deploy.sh` | Checks if the CMS is reachable after deployment. |
| `check-env.sh` | Validates `.env` against `.env.example`. |
| `check-security.sh` | Runs `pnpm audit` and checks for image updates. |
| `monitor.sh` | Shows system disk/container resource usage. |
| `perf-report.sh` | Runs performance profiling. |
| `setup-dev.sh` | Configures development environment. |
| `check-updates.sh` | Checks for package and image updates. |
| `maintenance.sh` | Toggles maintenance mode flag. |
| `doctor.sh` | Runs a system diagnostic report. |
| `setup-cron.sh` | Configures automated cron jobs. |
| `alert.sh` | Sends notifications to a configured webhook. |
## Usage
Run any script directly, or use the dashboard:
```bash
./scripts/dashboard.sh
```
+11
View File
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Script to send alerts via Webhook
# Usage: ./alert.sh "Your message"
WEBHOOK_URL="https://discord.com/api/webhooks/your_webhook_id/your_webhook_token" # Replace with actual URL
if [ -z "$1" ]; then
echo "Usage: ./alert.sh 'Message'"
exit 1
fi
curl -H "Content-Type: application/json" -d "{\"content\": \"$1\"}" $WEBHOOK_URL
+4
View File
@@ -19,6 +19,8 @@ echo "12) Check Updates (./scripts/check-updates.sh)"
echo "13) Restore DB (./scripts/db-restore.sh)"
echo "14) Maintenance Mode (./scripts/maintenance.sh)"
echo "15) Doctor (./scripts/doctor.sh)"
echo "16) Setup Cron (./scripts/setup-cron.sh)"
echo "17) Send Alert (./scripts/alert.sh)"
echo "q) Quit"
read -p "Choice: " choice
@@ -39,6 +41,8 @@ case $choice in
13) $SCRIPT_DIR/db-restore.sh ;;
14) $SCRIPT_DIR/maintenance.sh ;;
15) $SCRIPT_DIR/doctor.sh ;;
16) $SCRIPT_DIR/setup-cron.sh ;;
17) $SCRIPT_DIR/alert.sh ;;
q) exit 0 ;;
*) echo "Invalid choice" ;;
esac
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Setup cron jobs for maintenance
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Run backup every day at 03:00
echo "0 3 * * * $SCRIPT_DIR/backup.sh" | crontab -
# Run prune every Sunday at 04:00
echo "0 4 * * 0 $SCRIPT_DIR/docker-prune.sh" | crontab -
echo "Cron jobs configured."