Skip to content

A modern web interface for managing SnapRAID installations. Easily execute commands, monitor disks, and automate tasks through an intuitive UI.

Notifications You must be signed in to change notification settings

firsttris/snapraid-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapRAID Web Manager

Docker Deno React TypeScript

A modern, user-friendly web interface for managing SnapRAID installations. Allows you to execute SnapRAID commands, manage configurations, monitor disks, and more – all through a web browser.

Note: This project is currently in early development.

🚀 Overview

SnapRAID Web Manager is a complete toolkit for SnapRAID users that replaces command-line complexity with an intuitive web UI. The project consists of a Deno-based backend and a React frontend that can be deployed in a Docker container.

Key Features

  • Configuration Management: Easy management of multiple SnapRAID configurations
  • Disk Monitoring: Real-time status of data and parity disks
  • Automated Tasks: Schedulable SnapRAID operations (Sync, Scrub, Check)
  • Log Management: Centralized logs with filter and search functions
  • Reports and Analytics: Detailed reports on disk status and fragmentation
  • SMART Monitoring: Monitoring of disk health
  • File Browser: Navigate and restore files
  • Docker Integration: Easy deployment with Docker Compose or Podman

📋 Prerequisites

  • Docker and Docker Compose (recommended)
  • Node.js 18+ and Deno 2.5.6+ (for local development)
  • SnapRAID installed on the host system
  • Access to SnapRAID configuration files and disks

🛠️ Installation

Local Development (Recommended for Development)

  1. Clone the repository:

    git clone https://github.com/firsttris/snapraid-ui
    cd snapraid-ui
  2. Install dependencies: (requires Node.js and Deno)

    ./install.sh
  3. Start the application:

    ./start.sh

    This will start both the backend (Deno) and frontend (React/Vite) servers in the background.

  4. Access the application:

With Docker (For Production Deployment)

  1. Clone the repository:

    git clone https://github.com/firsttris/snapraid-ui
    cd snapraid-ui
  2. Adjust configuration: Edit docker/docker-compose.yml to adjust the paths to your SnapRAID configurations and disks.

  3. Start the container:

    docker-compose -f docker/docker-compose.yml up --build -d
  4. Access the application:

📖 Usage

After installation:

  1. Open http://localhost:3000 in your browser
  2. Add your SnapRAID configurations
  3. Monitor your disks and perform maintenance tasks
  4. Schedule automatic sync and scrub operations

Getting Started

  • Add Configuration: Use the Config Manager to import your snapraid.conf files
  • Scan Disks: Perform an initial status check
  • Set Up Schedules: Automate regular SnapRAID operations

🏗️ Architecture

  • Backend: Deno with Hono framework, WebSocket support
  • Frontend: React with TanStack Router, Tailwind CSS for styling
  • Database: File-based (no external DB required)
  • Containerization: Docker with Nginx as reverse proxy

📸 Screenshots

Dashboard

Dashboard

Logs

Logs

Scheduler

Scheduler

🤝 Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Use TypeScript for all new code
  • Run tests before committing
  • Adhere to existing code styles (Biome for linting)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

For questions or issues:

  • Open an issue on GitHub
  • Check the logs in the Docker container
  • Ensure SnapRAID is correctly installed

Note: This tool is not officially affiliated with SnapRAID and is developed by the community. /home/tristan/Projects/snapraid/README.md

About

A modern web interface for managing SnapRAID installations. Easily execute commands, monitor disks, and automate tasks through an intuitive UI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages