feat: add documentation, alerts, cron setup and update dashboard
This commit is contained in:
1 parent
bd977da3a5
commit
b688760309
4 files changed
+57
No files matched your search
@@ -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
|
||||
```
|
||||
Executable
+11
@@ -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
|
||||
@@ -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
|
||||
Executable
+10
@@ -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."
|
||||
Reference in new issue
Block a user