NEVER commit WiFi credentials to git. This project uses environment variables for all sensitive configuration.
Set credentials via environment variables before building:
export WIFI_SSID="YourNetwork"
export WIFI_PASSWORD="YourPassword"
export DEVICE_ID="esp32-001"
# Then build
cd esp32-client/
./build.shTo override the server URL for local development:
# For Good Display board (ESP-IDF)
export SERVER_URL="http://192.168.1.x:3000"
# For Feather ESP32 (Arduino)
export SERVER_HOST="192.168.1.x:3000"The following patterns are ignored to prevent credential leaks:
.env*files (except.env.example)**/flash-*.shscripts**/*credentials*.shscripts**/*secrets*.shscripts
Previous commits contain exposed WiFi credentials. If this repository was public:
- Change your WiFi password immediately
- Consider the old password permanently compromised
- Review your network security settings
- ✅ Use environment variables for all credentials
- ✅ Use
.env.examplefiles as templates (without real values) - ✅ Use
serverpi.localfor production configuration - ✅ Document required environment variables in README
- ❌ Never hardcode WiFi credentials in source files
- ❌ Never commit files containing passwords
- ❌ Never commit API keys or tokens
- ❌ Never use production credentials in example code
For the Node.js server, use environment variables:
export PORT=3000
export OPENAI_API_KEY="sk-..." # Optional, for AI featuresPass secrets via environment variables or Docker secrets:
docker run -d \
--name glance-server \
-p 3000:3000 \
-e OPENAI_API_KEY="sk-..." \
-v $(pwd)/data:/app/data \
glance-server:latestIf you discover a security vulnerability, please:
- Do not open a public issue
- Contact the maintainer privately via GitHub
- Provide details about the vulnerability
- Allow time for a fix before public disclosure
The OPENAI_API_KEY is optional and only required for AI art generation features:
- Store in environment variables only
- Never commit to git
- Rotate regularly
- Monitor usage on OpenAI dashboard
- Use WPA3 or WPA2-Personal encryption minimum
- Change default router passwords
- Disable WPS
- Use strong, unique WiFi passwords (16+ characters)
- Keep system updated:
sudo apt update && sudo apt upgrade - Use firewall:
sudo ufw enable - Change default SSH password
- Consider SSH key authentication only
- Regularly update Docker images