Add .env credentials file support; gitignore .env and sunrise-sounds/

sky-cam.conf now sources .env from the same directory at the bottom of the
file, so RTSP URLs, Mattermost tokens, and notification credentials can live
outside version control.  Plaintext credential placeholders removed from conf.

install.sh generates .env.example on every run with the correct CAM_RTSP_*
variable names derived from the CAMERAS list, so users always know exactly
what to put in .env for their specific camera setup.

.gitignore: add .env and sunrise-sounds/ (downloaded audio library).

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
This commit is contained in:
Claude
2026-04-19 23:08:01 +00:00
parent ba1eb70436
commit a1b9ffa8ee
3 changed files with 42 additions and 5 deletions
+23
View File
@@ -186,6 +186,29 @@ for cam in "${CAMERAS[@]}"; do
fi
done
# ── Generate .env.example ────────────────────────────────────────────────────
env_example="$HERE/.env.example"
{
echo "# sky-cam credentials — copy to .env and fill in real values."
echo "# .env is gitignored and never checked in."
echo ""
echo "# RTSP stream URLs — one line per camera (variable name = CAM_RTSP_<camname>)"
for cam in "${CAMERAS[@]}"; do
echo "CAM_RTSP_${cam}=rtsp://admin:PASSWORD@192.168.1.XXX:554/stream1"
done
echo ""
echo "# Mattermost upload"
echo "mattermost_url=https://your-mattermost-server.example.com"
echo "access_token=your-access-token-here"
echo "channel_id=your-daily-upload-channel-id-here"
echo ""
echo "# Notifications (uncomment whichever you use)"
echo "#NTFY_URL=https://ntfy.sh/your-topic"
echo "#EMAIL_TO=you@example.com"
echo "#MM_NOTIFY_CHANNEL_ID=your-notify-channel-id-here"
} > "$env_example"
echo " wrote .env.example (cp .env.example .env then fill in real values)"
# ── Reload and enable ─────────────────────────────────────────────────────────
echo ""
$SC daemon-reload