- Add prerequisite checks before backup operations
- Validate container status before attempting backups
- Load .env file for database credentials (security improvement)
- Remove hardcoded default password from Nextcloud backup
- Use centralized config for container names
- Add --single-transaction flag for database dumps
- Improve cleanup with better reporting of removed files
- Add help command and environment variable documentation
- Add config.sh with centralized container names and ports
- Update healthcheck.sh to use config variables (avoid hardcoding)
- Add health check targets to Makefile (health, health-*)
- Add backup utility targets to Makefile (backup, backup-*)
- Reorganize Makefile help output by service category
Standardize shebang to #!/usr/bin/env bash
Add descriptive headers to all scripts
Make all scripts executable
Consistent with Unix best practices:
- Portable shebang usage
- Self-documenting code
- Proper file permissions
Add healthcheck.sh for service status monitoring
- Check container health and port accessibility
- Support individual service or all-services check
Add backup.sh for data protection
- Backup service data and configurations
- List existing backups
- Cleanup old backups with retention policy
Unix philosophy: small sharp tools that do one thing well
Provide consistent interface for all operations
Simplify common tasks across services
Support both individual and batch operations
Unix philosophy: composable tools with standard interface
Make targets: help, status, up, down, logs, restart per service
Document project philosophy and structure
Provide clear usage instructions for all services
Follow documentation-as-code principle
Unix philosophy: be clear about what tools do