dayGLANCE is distributed as a Docker image and can run on any machine that supports Docker — a VPS, a home server, a Raspberry Pi, a NAS, or a spare laptop. It's a single lightweight container with no database and no external dependencies.
Create a docker-compose.yml file in a directory of your choice (e.g. ~/dayglance/):
services:
dayglance:
image: ghcr.io/krelltunez/dayglance:latest
container_name: dayglance
restart: unless-stopped
ports:
- "6767:80"
Then start the container:
docker compose up -d
dayGLANCE will be available at http://localhost:6767. From here, point your reverse proxy at port 6767 to expose it over HTTPS.
dayGLANCE doesn't include a built-in reverse proxy — use whatever you already have running. The app listens on port 6767 (or whichever host port you configure) and has no special routing requirements.
dayglance.yourdomain.com {
reverse_proxy localhost:6767
}
Caddy handles HTTPS automatically via Let's Encrypt. No additional configuration needed.
server {
listen 80;
server_name dayglance.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name dayglance.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/dayglance.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dayglance.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:6767;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Any reverse proxy (Traefik, Nginx Proxy Manager, HAProxy, etc.) works fine. Just proxy to localhost:6767 — no websocket support or special headers are required beyond the standard X-Forwarded-Proto.
dayGLANCE doesn't auto-update. To pull the latest image and restart the container:
docker compose pull
docker compose up -d
This takes the container down briefly (~5 seconds) and brings it back up on the new image. Check the Releases page for changelogs before updating.
dayGLANCE stores all user data locally in the browser (localStorage). The container itself is stateless — there's nothing to back up on the server side.
This means:
Tip: Set up WebDAV sync with Nextcloud or a generic WebDAV server if you want your data backed up and available across devices.
The default host port is 6767. To change it, edit the ports mapping in your docker-compose.yml:
ports:
- "8080:80" # Change 6767 to any available port
The internal container port (80) should stay as-is.
Subpath deployments (e.g. yourdomain.com/dayglance) are not supported. dayGLANCE must be served from the root of a domain or subdomain.
This is a known limitation of the current build configuration — all asset paths and internal API calls are hardcoded as root-absolute. A dedicated subdomain (e.g. dayglance.yourdomain.com) is the recommended approach.
I can't access the app after updating
Try a hard refresh (Ctrl+Shift+R / Cmd+Shift+R) to clear the service worker cache. The PWA caches aggressively and a stale service worker can serve an old version of the app.
The container restarts unexpectedly
Check logs with docker compose logs -f dayglance. The container is very lightweight and shouldn't be crashing under normal conditions.
Notifications don't work on my self-hosted instance
Browser notifications require a secure context (HTTPS). Make sure your reverse proxy is terminating SSL and that you're accessing the app via https://.