Update README with complete feature list and tech stack
- Add timezone support and Docker support to features - Update Docker deployment instructions with proper commands - Add comprehensive Technology Stack section - Update project structure to reflect current codebase - Add note about automatic GitHub Container Registry builds
This commit is contained in:
1 parent
264bdaf668
commit
49d31d4810
1 file changed
+50
-5
@@ -10,6 +10,8 @@ A comprehensive monitoring system for tracking the uptime and performance of you
|
|||||||
- 📝 **Incident Tracking** - Track when resources go down and recover
|
- 📝 **Incident Tracking** - Track when resources go down and recover
|
||||||
- ⚙️ **Configurable Checks** - Set custom check intervals and timeouts
|
- ⚙️ **Configurable Checks** - Set custom check intervals and timeouts
|
||||||
- 🗄️ **Historical Data** - 7 days of check history with detailed statistics
|
- 🗄️ **Historical Data** - 7 days of check history with detailed statistics
|
||||||
|
- 🌍 **Timezone Support** - All timestamps automatically display in your local timezone
|
||||||
|
- 🐳 **Docker Support** - Pre-built images available on GitHub Container Registry
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -190,14 +192,28 @@ Docker setup is now fully integrated! See [DOCKER.md](./DOCKER.md) for complete
|
|||||||
|
|
||||||
Quick start:
|
Quick start:
|
||||||
```bash
|
```bash
|
||||||
# Local deployment
|
# Local deployment with Docker Compose
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
|
||||||
# Using pre-built image from GitHub Container Registry
|
# Or using pre-built image from GitHub Container Registry
|
||||||
docker pull ghcr.io/nmemmert/monitor:latest
|
docker pull ghcr.io/nmemmert/monitor:latest
|
||||||
docker run -d -p 3001:3001 --env-file .env ghcr.io/nmemmert/monitor:latest
|
docker run -d \
|
||||||
|
-p 3001:3001 \
|
||||||
|
--name skywatch \
|
||||||
|
-e PORT=3001 \
|
||||||
|
-e NODE_ENV=production \
|
||||||
|
ghcr.io/nmemmert/monitor:latest
|
||||||
|
|
||||||
|
# To add email/webhook notifications, create a .env file and mount it:
|
||||||
|
docker run -d \
|
||||||
|
-p 3001:3001 \
|
||||||
|
--name skywatch \
|
||||||
|
--env-file .env \
|
||||||
|
ghcr.io/nmemmert/monitor:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**Note:** The Docker image is automatically built and published to GitHub Container Registry on every push to the main branch.
|
||||||
|
|
||||||
### Deployment Workflow (Critical!)
|
### Deployment Workflow (Critical!)
|
||||||
|
|
||||||
**⚠️ IMPORTANT: Always use `npm run build:commit` when deploying changes:**
|
**⚠️ IMPORTANT: Always use `npm run build:commit` when deploying changes:**
|
||||||
@@ -347,22 +363,51 @@ server {
|
|||||||
## Project Structure
|
## Project Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
mon/
|
monitor/
|
||||||
├── server/ # Backend Node.js/Express
|
├── server/ # Backend Node.js/Express
|
||||||
│ ├── index.js # Main server file
|
│ ├── index.js # Main server file
|
||||||
│ ├── database.js # SQLite database setup
|
│ ├── database.js # SQLite database setup
|
||||||
│ ├── monitorService.js
|
│ ├── monitorService.js
|
||||||
│ ├── notificationService.js
|
│ ├── notificationService.js
|
||||||
│ └── scheduler.js
|
│ ├── scheduler.js
|
||||||
|
│ └── cache.js
|
||||||
├── client/ # React frontend
|
├── client/ # React frontend
|
||||||
│ └── src/
|
│ └── src/
|
||||||
│ ├── App.js # Main React component
|
│ ├── App.js # Main React component
|
||||||
|
│ ├── History.js # Historical data view
|
||||||
|
│ ├── SLA.js # SLA dashboard
|
||||||
|
│ ├── SettingsWizard.js
|
||||||
|
│ ├── utils/
|
||||||
|
│ │ └── timeUtils.js # Timezone formatting utilities
|
||||||
│ └── App.css # Styles
|
│ └── App.css # Styles
|
||||||
├── data/ # SQLite database (auto-created)
|
├── data/ # SQLite database (auto-created)
|
||||||
├── .env # Environment configuration
|
├── .env # Environment configuration
|
||||||
|
├── Dockerfile # Docker image definition
|
||||||
|
├── docker-compose.yml # Docker Compose configuration
|
||||||
└── package.json
|
└── package.json
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Technology Stack
|
||||||
|
|
||||||
|
**Backend:**
|
||||||
|
- Node.js with Express
|
||||||
|
- SQLite (better-sqlite3) for data storage
|
||||||
|
- node-cron for scheduled monitoring
|
||||||
|
- Axios for HTTP checks
|
||||||
|
- Nodemailer for email notifications
|
||||||
|
- WebSocket (ws) for real-time updates
|
||||||
|
|
||||||
|
**Frontend:**
|
||||||
|
- React 19
|
||||||
|
- React Router for navigation
|
||||||
|
- Recharts for data visualization
|
||||||
|
- Axios for API calls
|
||||||
|
|
||||||
|
**DevOps:**
|
||||||
|
- Docker with multi-stage builds
|
||||||
|
- GitHub Actions for CI/CD
|
||||||
|
- GitHub Container Registry (GHCR) for image hosting
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### Check Intervals
|
### Check Intervals
|
||||||
|
|||||||
Reference in new issue
Block a user