Environment Files
Overview
Environment files (.env) store sensitive configuration like passwords and API keys. They should never be committed to Git.
Security: Always set file permissions to 600 (owner read/write only):
chmod 600 /opt/<stack>/.envProxMoxBox Environment Files
/opt/homelab-tools/.env
SECRET_ENCRYPTION_KEY=<your-key-here>/opt/monitoring/.env
GRAFANA_PASSWORD=<your-password>
DISCORD_WEBHOOK=<your-webhook-url>Pi5 Environment Files
/opt/pi5-stacks/infra/.env.example
PIHOLE_PASSWORD=your_password_here
TS_AUTHKEY=tskey-auth-xxxxx/opt/pi5-stacks/nebula-sync/.env.example
NEBULA_PRIMARY=http://192.168.1.XXX|your_password
NEBULA_REPLICAS=http://192.168.1.XXX:8080|your_passwordNAS Credentials
/root/.smbcredentials (Proxmox host and Pi5)
username=HomeLab
password=<your-password>Security: Must be mode 600:
chmod 600 /root/.smbcredentialsBest Practices
- Never commit
.envfiles to Git - Add to.gitignore - Use
.env.exampletemplates - Document required variables without values - Set restrictive permissions -
chmod 600for all env files - Backup securely - Encrypted backup only (not in plain Git repos)
- Rotate credentials - Change passwords periodically