End users: pull pomtom44/glancerf from Docker Hub—same codebase as the desktop installers. For a minimal docker build from a repo clone, see Installation (Docker section); everything else (run flags, volumes, publishing) is on this page.
Quick start (users)
docker run -p 8080:8080 pomtom44/glancerf
Then open http://localhost:8080 in your browser. Docker always runs in headless mode (server only, no desktop window)—desktop_mode from config is ignored when GLANCERF_DOCKER=1.
For maintainers: publishing to Docker Hub
1. One-time setup
-
Create a Docker Hub account at https://hub.docker.com (if you don't have one).
-
Create a repository on Docker Hub:
- Go to https://hub.docker.com/repository/create
- Name:
glancerf(orpomtom44/glancerfif your username is pomtom44) - Visibility: Public
-
Create
-
Connect GitHub to Docker Hub (for automatic builds):
- Docker Hub → Account Settings → Linked Accounts
-
Connect your GitHub account and authorize
pomtom44/GlanceRF -
Create an Automated Build:
- Docker Hub → Create → Create Automated Build
- Select GitHub →
pomtom44/GlanceRF - Configure:
- Dockerfile location:
Project-GitHubReady/Dockerfile(orProject/Dockerfileif you only pushProject) - Build context:
Project-GitHubReady(orProject) - Build triggers: On push to
main(or your default branch)
- Dockerfile location:
- Save and Build
2. Scripted build & push (recommended)
Use the script to build, tag with version + release notes, and push:
cd Scripts
powershell -ExecutionPolicy Bypass -File Build_Docker_Push.ps1
The script:
- Builds from
Project-GitHubReady(run Create_GitHubReady_Clone.ps1 first to sync) - Reads version from
glancerf/__init__.py(__version__) - Reads release notes from
Current Change List.txt(content after first line) - Tags the image as
pomtom44/glancerf:3.0.0andpomtom44/glancerf:latest - Adds Docker labels for version and description
- Pushes both tags to Docker Hub
Prerequisites: Docker installed, docker login completed.
3. Manual build & push (alternative)
If you prefer to build and push manually, first run Create_GitHubReady_Clone.ps1 to sync Project-GitHubReady, then:
# From the GlanceRF repo root
cd Project-GitHubReady
docker build -t pomtom44/glancerf .
docker push pomtom44/glancerf
Or from the repo root in one command:
docker build -f Project-GitHubReady/Dockerfile -t pomtom44/glancerf Project-GitHubReady
docker push pomtom44/glancerf
4. How updates flow
| Install Method | Source | When It Updates |
|---|---|---|
| Single installers (Windows/Mac/Linux) | https://github.com/pomtom44/GlanceRF/archive/refs/heads/main.zip |
On every run (downloads latest) |
| Docker Hub | Same repo, built from Project-GitHubReady/ |
On every push to main (if automated) or when you manually build & push |
All methods pull from the same GitHub repo. Push to main → single installers get it on next run, Docker gets it on next build.
Docker run options
# Basic run (main port 8080)
docker run -p 8080:8080 pomtom44/glancerf
# Map both main (8080) and read-only (8081) ports
docker run -p 8080:8080 -p 8081:8081 pomtom44/glancerf
# Custom port mapping (host 9000 → container 8080)
docker run -p 9000:8080 pomtom44/glancerf
# Run in background
docker run -d -p 8080:8080 --name glancerf pomtom44/glancerf
# Stop
docker stop glancerf
Environment variables
| Variable | Description |
|---|---|
GLANCERF_DOCKER=1 |
Set automatically in the image. Forces headless mode (no desktop window). |
GLANCERF_PORT |
Override main server port (default: 8080). |
GLANCERF_READONLY_PORT |
Override read-only server port (default: 8081). |
GLANCERF_PROJECT |
Config directory path. Use with a mounted volume for config persistence. |
Config persistence
Config is stored in glancerf_config.json. To persist across container restarts, mount a volume and set GLANCERF_PROJECT:
docker run -p 8080:8080 -e GLANCERF_PROJECT=/app/config -v glancerf-config:/app/config pomtom44/glancerf
Health check
The image includes a HEALTHCHECK that pings /api/time every 30 seconds. Docker and orchestrators (e.g. Kubernetes) use this to determine container health.
File layout (repo)
GlanceRF/
├── Project/ ← Source (local dev)
├── Project-GitHubReady/ ← Clean clone for GitHub & Docker (created by Create_GitHubReady_Clone.ps1)
│ ├── Dockerfile ← Docker image definition
│ ├── .dockerignore ← Excludes installers, caches, etc.
│ ├── run.py
│ ├── glancerf/
│ │ └── __init__.py ← __version__ for Docker tag
│ └── requirements/
│ ├── requirements-linux.txt
│ └── ...
├── Scripts/
│ ├── Create_GitHubReady_Clone.ps1 ← Syncs Project → Project-GitHubReady
│ └── Build_Docker_Push.ps1 ← Build, tag, push (uses Project-GitHubReady)
├── Current Change List.txt ← Release notes for Docker label
├── Single Installers/ ← Bootstrap scripts (download from GitHub)
└── Project/docs/05.Docker.md ← This guide (numbered docs)
The Docker build uses Project-GitHubReady/—the same content published to GitHub.