# Glance - Minimalista információs dashboard # Domain: ${SUBDOMAIN}.${DOMAIN} # Database: None (file-based) # RAM: ~20M (mem_limit: 128M) | Pi-compatible: Yes # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) services: glance: image: glanceapp/glance:v0.8.5 container_name: glance restart: unless-stopped environment: - TZ=Europe/Budapest # R-473: the image ships NO default config and exits at once without /app/config/glance.yml, so # every fresh install crash-looped (measured 2026-09-13 on demo-hp: 13 restarts). First boot now # seeds a small Hungarian start page (clock, calendar, weather, news, a link to the box's own # dashboard); the customer edits it afterwards in the Fájlok app or through the config volume. # The seed is written ONLY when the file is absent — an existing config is never touched. entrypoint: - /bin/sh - -c - | if [ ! -f /app/config/glance.yml ]; then echo "[felhom] first boot — seeding a default glance.yml" cat > /app/config/glance.yml <<'GLANCE' pages: - name: Kezdőlap columns: - size: small widgets: - type: clock hour-format: 24h timezones: - timezone: Europe/Budapest label: Budapest - type: calendar - type: weather location: Budapest, Hungary units: metric hour-format: 24h - size: full widgets: - type: bookmarks groups: - title: Saját szolgáltatások links: - title: Felhom vezérlőpult url: https://felhom.${DOMAIN} - type: rss title: Hírek limit: 10 feeds: - url: https://telex.hu/rss title: Telex - url: https://hvg.hu/rss title: HVG GLANCE fi exec /app/glance --config /app/config/glance.yml volumes: - glance_config:/app/config networks: - traefik-public deploy: resources: limits: memory: 128M healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:8080"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.glance.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.glance.entrypoints=websecure" - "traefik.http.routers.glance.tls=true" - "traefik.http.routers.glance.tls.certresolver=letsencrypt" - "traefik.http.services.glance.loadbalancer.server.port=8080" volumes: glance_config: networks: traefik-public: external: true