Sign inSign up

casparjones/rdumper

By casparjones

β€’Updated 12 months ago

Rust-powered GUI wrapper for Mydumper/Myloader for managing MySQL backups.

Image
Developer tools
0

5.0K

casparjones/rdumper repository overview

rDumper Logo

⁠rDumper

A modern web-based GUI wrapper for mydumper⁠ and myloader⁠ β€” built with Rust (backend) and Vue 3 + TailwindCSS + DaisyUI (frontend).


⁠✨ Features

  • πŸ—„οΈ Database Management: Configure and manage multiple MySQL database connections
  • ⏰ Scheduled Backups: Create recurring tasks with cron-like scheduling
  • πŸ“Š Job Monitoring: Real-time tracking of backup and restore operations
  • πŸ’Ύ Backup Management: Browse, restore, and manage your database backups
  • 🧹 Automatic Cleanup: Remove old backups after a configurable retention period
  • 🎨 Modern UI: Responsive interface built with Vue 3, TailwindCSS v4, and DaisyUI v5
  • 🐳 Docker Ready: Multi-stage Docker build for easy deployment
  • πŸ”’ Secure: Non-root container execution with proper permission handling

β πŸ› οΈ Technology Stack

⁠Backend (Rust)
⁠Frontend (Vue 3)
  • Framework: Vue 3 (Composition API)
  • Build Tool: Vite
  • Styling: TailwindCSS v4 + DaisyUI v5
  • Routing: Vue Router
  • HTTP Client: Axios

β πŸš€ Quick Start (Docker)

  1. Clone the repository:
mkdir -p ./data
docker run -d \
  --name rdumper \
  -p 3000:3000 \
  -v $(pwd)/data:/app/data \
  casparjones/rdumper:latest
  1. Access the application:

β βš™οΈ Configuration

⁠Environment Variables
  • RUST_LOG: Logging level (default: info)
  • DATABASE_URL: SQLite database path (default: sqlite:rdumper.db)
  • BACKUP_DIR: Backup storage directory (default: /data/backups)
  • STATIC_DIR: Frontend static files directory (default: ../frontend/dist)
⁠Command Line Arguments
./rdumper-backend --help

β πŸ“– API Endpoints

  • GET /api/database-configs β†’ List database configs
  • POST /api/database-configs β†’ Create database config
  • GET /api/tasks β†’ List backup tasks
  • POST /api/tasks β†’ Create backup task
  • GET /api/jobs β†’ List jobs
  • GET /api/backups β†’ List backups
  • GET /api/system β†’ System information

β πŸ”’ Security Notes

  • Database credentials stored encrypted
  • All file operations restricted to backup directory
  • Container includes only required dependencies

⁠πŸ‘₯ Authors

  • Frank - Project Owner & Lead Developer
  • Claude (Anthropic) - AI Assistant & Code Contributor
  • ChatGPT (OpenAI) - AI Assistant & Code Contributor

β€œGive credit where credit is due.”
β€œHonor should be given to whom honor is due.” 😊


⁠🀝 Contributing

  1. Fork the git repository on GitHub⁠
  2. Create a feature branch
  3. Commit and push your changes
  4. Open a Pull Request

β πŸ“„ License

MIT License


β πŸ› οΈ Support

If you encounter any bugs or have feature requests, please open an issue on GitHub⁠. Your feedback helps improve rDumper for everyone. πŸš€

Tag summary

Content type

Image

Digest

sha256:fbaab8109…

Size

31.1 MB

Last updated

12 months ago

docker pull casparjones/rdumper