Configure and save installation settings for reusable container deployments
The defaults system provides a three-tier configuration hierarchy that allows you to save and reuse installation settings across container deployments. This eliminates repetitive configuration and ensures consistency across your infrastructure.
# Run installation with Advanced Settingsbash pihole-install.sh# Select: 2) Advanced Settings# Configure all options# At the end, when prompted:# "Save as App Defaults for PiHole?" → Yes# Settings saved to:# /usr/local/community-scripts/defaults/pihole.vars
For advanced users who want to create defaults without running installation:
User Defaults
App Defaults
sudo tee /usr/local/community-scripts/default.vars > /dev/null << 'EOF'# Global User Defaultsvar_cpu=4var_ram=2048var_disk=20var_unprivileged=1var_brg=vmbr0var_gateway=192.168.1.1var_timezone=Europe/Berlinvar_ssh=yesvar_container_storage=localvar_template_storage=localEOF
sudo tee /usr/local/community-scripts/defaults/pihole.vars > /dev/null << 'EOF'# App-specific defaults for PiHolevar_unprivileged=1var_cpu=2var_ram=1024var_disk=10var_brg=vmbr0var_gateway=192.168.1.1var_hostname=piholevar_container_storage=localvar_template_storage=localEOF
Defaults files use a simple key=value format with specific syntax rules
# Comments start with #var_name=value# No spaces around =var_cpu=4 # ✓ Correctvar_cpu = 4 # ✗ Wrong# String values don't need quotesvar_hostname=mycontainer # ✓ Correctvar_hostname='mycontainer' # ✓ Also correct# Values with spaces or special chars need quotesvar_tags="docker,production,testing" # ✓ Correct