Skip to content

A modern web-based Pi-hole backup manager with automated scheduling, Discord notifications, and support for Docker-based Pi-hole installations.

License

Notifications You must be signed in to change notification settings

TheInfamousToTo/PiHoleVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

92 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

PiHoleVault

A modern web-based Pi-hole backup manager with automated scheduling, Discord notifications, and support for Docker-based Pi-hole installations.

PiHoleVault Logo

PiHoleVault Dashboard

πŸš€ Key Features

  • 🌐 Web-Only Mode: No SSH required - perfect for Docker Pi-hole installations
  • 🎨 Modern UI: Responsive React interface with Material-UI components
  • ⏰ Automated Backups: Configurable cron-based scheduling with timezone support
  • πŸ“Š Dashboard: Real-time backup statistics and job history
  • πŸ”” Discord Notifications: Rich webhook notifications for backup events
  • πŸ”§ Easy Setup: Step-by-step configuration wizard
  • 🐳 Docker Ready: Single-container deployment with nginx + Node.js

πŸ“¦ Quick Start

Using Docker (Recommended)

# Using Docker Compose
curl -o docker-compose.yml https://raw.githubusercontent.com/TheInfamousToTo/PiHoleVault/main/docker-compose.yml
docker-compose up -d

# Access at http://localhost:3000

Environment Variables

Create a .env file for optional configuration:

# Discord notifications (optional)
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/your-webhook-url

# Debug mode (optional)
DEBUG_MODE=true
LOG_LEVEL=debug

πŸ”§ Configuration

  1. Open http://localhost:3000
  2. Follow the setup wizard to configure:
    • Pi-hole connection (Web-only, SSH, or Hybrid)
    • Backup settings and retention
    • Schedule configuration
    • Discord notifications (optional)

Connection Methods

  • Web-Only: https://your-pihole/admin/ - No SSH needed (recommended for Docker)
  • SSH: Traditional method requiring SSH access
  • Hybrid: Combines web API for monitoring with SSH for backups

πŸ“‹ API Endpoints

  • GET /health - Health check
  • POST /api/backup/run - Manual backup
  • GET /api/backups/ - List backups
  • POST /api/pihole/test-connection - Test Pi-hole connection

πŸ› οΈ Development

# Clone and build locally
git clone https://github.com/TheInfamousToTo/PiHoleVault.git
cd PiHoleVault
docker-compose -f docker-compose.local.yml up -d --build

πŸ› Troubleshooting

Debug mode: Set DEBUG_MODE=true in .env and restart container

View logs: docker-compose logs -f piholevault

Common issues:

  • Web-only connection fails: Ensure Pi-hole admin password is correct
  • SSH connection fails: Verify SSH credentials and Pi-hole accessibility
  • Backup fails: Check Pi-hole API endpoints and authentication

πŸ“„ License

MIT License - see LICENSE file

❀️ Support


Docker Hub: theinfamoustoto/piholevault
Latest Release: GitHub Releases

Star History

Star History Chart

About

A modern web-based Pi-hole backup manager with automated scheduling, Discord notifications, and support for Docker-based Pi-hole installations.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published