7f0bcd60ad
- Rust-based DDNS updater for nginx allow list management - Comprehensive GitHub Actions workflows (CI/CD, nightly, docs, release) - Debian package creation with systemd integration - Cross-platform builds (AMD64, ARM64, MUSL) - Security auditing and dependency management - Complete documentation and testing suite - Systemd service files with advanced configuration - Interactive and automated installation scripts
6.3 KiB
6.3 KiB
DDNS Updater - Debian Package Installation Guide
🎉 Enhanced Debian Package Successfully Created!
I've successfully created a professional Debian package (.deb) with automatic interactive setup for your DDNS updater! Here's what was accomplished:
✅ Package Details
- File:
ddns-updater_0.1.0-1_amd64.deb - Size: ~400KB
- Architecture: amd64 (x86_64)
- Dependencies:
systemd,curl,ca-certificates - Recommends:
nginx
🚀 Installation
Method 1: APT with Dependency Resolution (Recommended)
sudo apt install ./ddns-updater_0.1.0-1_amd64.deb
Method 2: Direct Installation
sudo dpkg -i ddns-updater_0.1.0-1_amd64.deb
⚙️ Post-Installation Setup
After installation, the package automatically:
- ✅ Creates
ddns-updatersystem user and group - ✅ Sets up proper directories with secure permissions
- ✅ Installs all systemd service files
- ✅ Registers services with systemd
- ✅ Prompts for interactive setup (new feature!)
Automatic Setup Prompt
The package will automatically ask after installation:
Would you like to run the interactive setup script now? [Y/n]:
- Choose 'Y' (default): Runs the interactive setup immediately
- Choose 'N': Skip setup, configure manually later
Manual Setup (if skipped)
Interactive Setup
sudo /usr/share/ddns-updater/install-systemd.sh
Advanced Multi-Host Setup
sudo /usr/share/ddns-updater/install-systemd-advanced.sh
📁 Installed Files
The package installs files to:
/usr/bin/ddns-updater # Main binary
/usr/bin/ddns-backup-cleanup # Backup cleanup utility
/usr/share/ddns-updater/ # Installation scripts
├── install-systemd.sh # Interactive setup
├── install-systemd-advanced.sh # Advanced setup
├── uninstall-systemd.sh # Removal script
└── test-interactive.sh # Test prompts
/lib/systemd/system/ # Systemd service files
├── ddns-updater.service # Main service
├── ddns-updater.timer # Service timer
├── ddns-updater@.service # Template service
├── ddns-updater@.timer # Template timer
├── ddns-backup-cleanup.service # Cleanup service
├── ddns-backup-cleanup.timer # Cleanup timer
└── ddns-updater.target # Service group
/etc/ddns-updater/ # Configuration directory
/var/lib/ddns-updater/ # Data directory
/var/log/ddns-updater/ # Log directory
/usr/share/doc/ddns-updater/ # Documentation
├── README.md # Main documentation
├── systemd-README.md # Systemd guide
├── SYSTEMD.md # Service details
├── SERVICE_GROUPING.md # Group management
├── BACKUP_CLEANUP.md # Cleanup features
└── INTEGRATION_SUMMARY.md # Feature overview
🎛️ Service Management
Individual Services
# Main DDNS service
sudo systemctl start ddns-updater.service
sudo systemctl enable ddns-updater.timer
# Backup cleanup service
sudo systemctl start ddns-backup-cleanup.timer
sudo systemctl enable ddns-backup-cleanup.timer
Service Group Management
# Manage all services together
sudo systemctl start ddns-updater.target
sudo systemctl enable ddns-updater.target
sudo systemctl status ddns-updater.target
🔧 Configuration
Place your DDNS configuration files in:
/etc/ddns-updater/
Example configuration can be found in:
/usr/share/ddns-updater/examples/
📊 Monitoring
View Logs
# Service logs
sudo journalctl -u ddns-updater.service -f
# Cleanup logs
sudo journalctl -u ddns-backup-cleanup.service -f
# All DDNS logs
sudo journalctl -t ddns-updater -f
Check Service Status
# Individual service status
sudo systemctl status ddns-updater.service
sudo systemctl status ddns-backup-cleanup.service
# Service group status
sudo systemctl status ddns-updater.target
🗑️ Package Management
Check Installation
dpkg -l ddns-updater # List package info
dpkg -L ddns-updater # List installed files
dpkg -s ddns-updater # Show package status
Remove Package
sudo apt remove ddns-updater # Remove (keep config)
sudo apt purge ddns-updater # Remove everything
🎯 Features Included
✅ Professional Installation
- System user/group creation
- Secure directory permissions
- Systemd integration
- Dependency management
- Clean removal support
✅ Service Integration
- Main DDNS updater service
- Automated backup cleanup
- Service grouping for unified management
- Timer-based scheduling
- Template services for multiple hosts
✅ Management Tools
- Interactive installation scripts
- Advanced multi-host configuration
- Testing and validation utilities
- Comprehensive documentation
- Example configurations
✅ Production Ready
- Security hardening
- Proper logging
- Service monitoring
- Backup management
- Professional packaging standards
🚀 Quick Start
-
Install the package:
sudo apt install ./ddns-updater_0.1.0-1_amd64.deb -
Run interactive setup:
sudo /usr/share/ddns-updater/install-systemd.sh -
Check service status:
sudo systemctl status ddns-updater.target -
Monitor logs:
sudo journalctl -u ddns-updater.service -f
🎉 Success!
Your DDNS updater is now packaged as a professional Debian package with:
- Complete systemd integration
- Automated installation and setup
- Professional service management
- Production-ready configuration
- Comprehensive documentation
The package follows Debian packaging standards and provides enterprise-grade deployment capabilities! 🎯