Skip to content

etescartz/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

PiHoleVault provides a comprehensive, secure, and visually appealing solution to manage Pi‑hole backups. It combines automation, security, community analytics, and modern UI to offer a seamless experience. Whether you’re a casual user or managing multiple Pi‑holes, this tool simplifies setup and ongoing maintenance.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 91.3%
  • Shell 5.2%
  • Dockerfile 2.1%
  • CSS 1.2%
  • HTML 0.2%