https://github.com/ruhtra/backupmonitoring
BackupMonitoring is a web application developed with TypeScript and React to schedule and execute daily backups automatically. It uses a clean architecture to ensure maintainability and allows flexible configuration of directories, remote paths, and backup schedules.
https://github.com/ruhtra/backupmonitoring
Last synced: 3 months ago
JSON representation
BackupMonitoring is a web application developed with TypeScript and React to schedule and execute daily backups automatically. It uses a clean architecture to ensure maintainability and allows flexible configuration of directories, remote paths, and backup schedules.
- Host: GitHub
- URL: https://github.com/ruhtra/backupmonitoring
- Owner: Ruhtra
- Created: 2024-10-14T15:12:19.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-12T16:54:41.000Z (3 months ago)
- Last Synced: 2025-03-12T17:39:35.816Z (3 months ago)
- Language: TypeScript
- Homepage:
- Size: 3.45 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BackupMonitoring
BackupMonitoring is a web application designed to schedule and perform automatic daily backups. It uses TypeScript, React, and a clean architecture, ensuring best practices and maintainability. The focus is on creating daily schedules to execute backups in specific locations with defined costs.
## Technologies
- **React with TypeScript** for the front-end
- **Node.js** for scheduling and executing backups
- **Clean Architecture**: clear separation of layers## How to Run
1. Clone the repository:
```bash
git clone https://github.com/Ruhtra/BackupMonitoring.git
cd BackupMonitoring
```2. Install dependencies:
```bash
npm install
```3. Configure your `.env` file according to the environment (development or production).
4. To run in development mode:
```bash
npm run dev
```5. To run in production mode:
```bash
npm run start
```## Environment Configuration
The project relies on environment variables. Create a `.env` file with the following settings:
```bash
# Application Settings
PORT= # The port where the application will run
DATABASE_URL= # URL for the database connection# Backup Directories
DB_DIR= # Comma-separated directories for backups
OUTPUT_DIR= # Output directory for the backup files# Backup Configuration
BACKUP_NAMES= # List of backup names separated by commas
BACKUP_CRON= # CRON expression for backup scheduling
DAYS_TO_KEEP= # Number of days to keep backups# File Transfer Settings
SEND_FILE= # Whether to send the backup files remotely
PATH_REMOTE= # Remote path for storing backups
SFTP_USER= # Username for SFTP connection
SFTP_HOST= # Host for SFTP connection
SFTP_PORT= # Port for SFTP connection# SSH Configuration
SSH_KEY_PATH= # Path to the SSH private key for SCP connection# Node Environment
NODE_ENV= # Set as 'development', 'production', or 'test'
```Ensure that the `BACKUP_NAMES` do not contain duplicate names as this will cause an error.