Add README.md documentation
This commit is contained in:
85
README.md
Normal file
85
README.md
Normal file
@@ -0,0 +1,85 @@
|
||||
# Backstor UI
|
||||
|
||||
**Backstor UI** is a modern, web-based interface for managing the **Bacula Backup System**. It provides a dashboard for job statistics, client management, and detailed job reporting, connected directly to your Bacula PostgreSQL database and Bacula Director.
|
||||
|
||||
## Features
|
||||
|
||||
- 📊 **Dashboard**: Real-time overview of backup jobs, success rates, and storage usage.
|
||||
- 📝 **Jobs List**: Detailed history of backup jobs with status and duration.
|
||||
- 🖥️ **Client Management**: View connected clients and easily add new clients via the UI.
|
||||
- ⚙️ **Automated Configuration**: Generates and pushes client configuration files to the Bacula server via SSH.
|
||||
- 🌓 **Modern Design**: Clean, responsive interface.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- **Linux Server** (tested on Ubuntu/Debian/CentOS).
|
||||
- **Node.js** (v16+ recommended).
|
||||
- **Bacula** installed with **PostgreSQL** backend.
|
||||
- **SSH Access** to the Bacula Director server (for client management features).
|
||||
|
||||
## Installation
|
||||
|
||||
We provide an automated installer script that sets up dependencies, configuration, and a systemd service.
|
||||
|
||||
1. **Clone the repository**:
|
||||
```bash
|
||||
git clone ssh://git@gitea.avt.data-center.id:2525/othman.suseno/backstor-ui.git
|
||||
cd backstor-ui
|
||||
```
|
||||
|
||||
2. **Run the Installer**:
|
||||
```bash
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
3. **Configuration**:
|
||||
The installer will prompt you for the following details:
|
||||
- **Database**: Host, User, Password, DB Name (default: `bacula`), Port.
|
||||
- **SSH (Remote Admin)**: Host IP, User (usually `root`), Password OR Key Path.
|
||||
- **App**: Port to run the UI on (default: `3000`).
|
||||
|
||||
4. **Access the UI**:
|
||||
Open your browser and navigate to:
|
||||
`http://<your-server-ip>:3000`
|
||||
|
||||
## Uninstallation
|
||||
|
||||
To remove the application and service:
|
||||
|
||||
```bash
|
||||
sudo ./uninstall.sh
|
||||
```
|
||||
This script will:
|
||||
- Stop and disable the `backstor` service.
|
||||
- Remove the systemd service file.
|
||||
- Optionally remove configuration (`.env`) and dependencies (`node_modules`) upon confirmation.
|
||||
|
||||
## Manual Setup (Development)
|
||||
|
||||
If you prefer to run it manually for development:
|
||||
|
||||
1. **Install Dependencies**:
|
||||
```bash
|
||||
cd server
|
||||
npm install
|
||||
```
|
||||
|
||||
2. **Configure Environment**:
|
||||
Copy `.env.example` to `.env` and edit it:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
nano .env
|
||||
```
|
||||
|
||||
3. **Run Server**:
|
||||
```bash
|
||||
node index.js
|
||||
```
|
||||
The frontend is served statically by the Node.js server.
|
||||
|
||||
## Architecture
|
||||
|
||||
- **Frontend**: HTML5, Vanilla CSS, Vanilla JS (No build step required).
|
||||
- **Backend**: Node.js, Express.
|
||||
- **Database**: `pg` (PostgreSQL client).
|
||||
- **Remote Mgmt**: `ssh2` (For executing commands on Bacula server).
|
||||
Reference in New Issue
Block a user