Installation Issues
Docker containers won't start
Docker containers won't start
Symptoms:
docker ps shows no running containersSolutions:-
Check Docker is running:
-
View container logs:
-
Check for port conflicts:
-
Restart Docker:
Build dependencies failed to install
Build dependencies failed to install
Ubuntu/Debian:macOS:
install.sh: Permission denied
install.sh: Permission denied
Solution: Make the script executable
Thermostat Flashing Issues
Device won't enter DFU mode (Gen 2)
Device won't enter DFU mode (Gen 2)
Try these steps in order:
- Boot device on backplate first - Connect to wall mount and let it fully boot to home screen
- Remove from wall - Once booted, remove from backplate
- Connect USB - Use data-capable cable (not charge-only)
- Charge battery - Ensure >50% battery
- Reboot - Hold display for 10-15 seconds
Gen 1 contact bridging not working
Gen 1 contact bridging not working
Common issues:
- Contacts not held long enough - Keep bridging until USB connects
- Wrong contacts bridged - Double-check the image in the guide
- Battery disconnected - Device won’t boot without battery
- Screen still on - Make sure screen is off before bridging
- Battery is connected
- Screen is off
- Installer is waiting
- Bridge contacts, THEN connect USB while holding bridge
Installer doesn't detect device
Installer doesn't detect device
Linux:
-
Check USB permissions:
-
Add udev rules:
- Grant USB permissions in System Preferences → Security & Privacy
- Try different USB cable (must be data-capable)
- Try different USB port
Server Connection Issues
Thermostat can't connect to server
Thermostat can't connect to server
Check:
-
API server is running:
-
Firewall allows connections:
-
Port forwarding configured (if remote access):
- Check router settings
- Verify ports 443 and 8081 are forwarded to your server
-
DNS resolves correctly (if using domain):
-
Thermostat can reach server:
- Check WiFi connection on thermostat
- Verify thermostat is on same network (for local-only setup)
Frontend can't connect to API
Frontend can't connect to API
Check Make sure:Restart frontend:
.env.local configuration:VITE_API_URLpoints to your API server (e.g.,http://192.168.1.100:8081)VITE_CONVEX_URLhas your Convex backend URL- All required environment variables are set
SSL/TLS certificate errors
SSL/TLS certificate errors
Self-signed certificates:
If using self-signed certs, browsers will warn. You can:Then configure your server to use the certificates in
- Use Let’s Encrypt for free valid certificates
- Accept the browser warning (not recommended for production)
/etc/letsencrypt/live/your-domain.com/Docker Issues
Containers keep restarting
Containers keep restarting
View logs to see why:Common causes:
- Port already in use
- Missing environment variables
- Insufficient resources (RAM/CPU)
- Database connection failed
Can't access containers from host
Can't access containers from host
Check port mappings:Look for
0.0.0.0:443->443/tcp and 0.0.0.0:8081->8081/tcpIf ports aren’t mapped, recreate containers with proper port mapping:Out of disk space
Out of disk space
Check Docker disk usage:Clean up unused resources:Warning: This will remove all stopped containers and unused images
Database Issues
Convex backend not responding
Convex backend not responding
Check container status:Restart Convex container:Check connection from API server:
- Verify
CONVEX_URLenvironment variable in API container - Test connection manually from API container
Device state not persisting
Device state not persisting
Check volume mounts:Data should be persisted in a Docker volume or bind mountBackup important data:
Frontend Issues
npm install fails
npm install fails
Clear npm cache:Try different Node version:
Build fails
Build fails
Check for errors:Common issues:
- Missing environment variables in
.env.local - TypeScript errors
- Dependency conflicts
Hot reload not working
Hot reload not working
Restart dev server:Check Vite config:
- Make sure
vite.config.tshas proper server settings - Try different port if 5173 is in use
Network & Remote Access
Can't access server remotely
Can't access server remotely
Check these in order:
-
Port forwarding configured:
- Log into your router
- Forward ports 443, 8081 to your server’s local IP
- Verify forwards are active
-
Firewall allows traffic:
-
Public IP correct:
-
Dynamic DNS working (if using DDNS):
- Verify DNS record points to current IP
- Check DDNS client is running and updating
-
ISP not blocking ports:
- Some ISPs block port 443/80
- Try alternative ports or contact ISP
HTTPS not working
HTTPS not working
Check certificate:Renew if expired:Test HTTPS endpoint:Common issues:
- Certificate not installed correctly
- Server not configured for HTTPS
- Port 443 not open
- Domain doesn’t match certificate
Performance Issues
Server running slow
Server running slow
Check resource usage:Solutions:
- Allocate more resources to Docker
- Optimize database queries
- Reduce logging verbosity
- Use faster storage (SSD vs HDD)
High memory usage
High memory usage
Check which container is using memory:Limit container memory:Restart containers to free memory: