Quickstart¶
Install¶
Pick one:
The latest AppImage from the GitHub Release, installed to ~/.local/bin as
intune-container:
curl -fsSL https://raw.githubusercontent.com/magicabdel/intune-container/master/install.sh | sh
# or: wget -qO- https://raw.githubusercontent.com/magicabdel/intune-container/master/install.sh | sh
Override the location with DEST=/usr/local/bin, or pin a version with
VERSION=v0.2.0. (AppImages need FUSE, which ships on most desktops.)
Grab the package for your distro from the latest release:
Make sure ~/.local/bin is on your PATH. The same binary is both the
graphical interface and the command-line tool: run it with no subcommand for
the GUI, or with a subcommand for the CLI. The default container image is
publicly hosted and already includes everything needed (including Xvfb for
headless SSO), so there's nothing else to build — and no Docker/Podman is
required, the image is pulled with a built-in OCI client.
Using the interface¶
Open the app (the default — no subcommand):
- Enroll — click Enroll this device on the Console. It provisions the container (first run only), opens the Intune Portal; sign in and enroll, then close the window.
- Everyday actions live on the Console: Start/Stop the container (starting also makes browser SSO ready), Open portal, and Open Edge. The signed-in identity and live health checks are right there too.
- Other tabs — Shell (a terminal inside the container), Backup (back up / restore enrollment), Logs, and Destroy.
- Tray — single-click for a compact quick panel, double-click for the full window, right-click for a menu. The icon is tinted to the container's state (grey = stopped, teal = running, amber = display attached). Closing the window keeps the app in the tray; only Quit exits.
Tip
The portal window can take up to ~30s to appear the first time while the container finishes booting and its services come up.
Using the command line¶
The same binary is the CLI when given a subcommand.
Enroll your device¶
Provisions the container (first run only), boots it with your display forwarded,
and opens the Intune Portal. Sign in, enroll, then close the window —
enroll waits for that and reports success.
Seamless browser SSO (optional)¶
Starts the container headless and installs a native-messaging host for the
linux-entra-sso extension. Then
install the extension:
- Firefox / Thunderbird — the signed
.xpifrom the releases page. - Chrome / Chromium / Brave — the Chrome Web Store (search
linux-entra-sso).
Open teams.microsoft.com and it signs in automatically using the container's
enrollment.
Open Microsoft Edge¶
Launches Edge inside the container with your display forwarded — handy for sites that require the managed/compliant device.
Daily use¶
intune-container status # container + display + SSO state
intune-container doctor # health checks across the stack
intune-container stop # shut the container down
Back up / restore enrollment¶
intune-container backup # archive device registration + tokens
intune-container backup-inspect # list archive contents
intune-container restore # restore after a rebuild (container stopped)
Uninstall¶
intune-container destroy --purge # remove container + all data + host integration
just uninstall # remove the binary
Build your own image (optional)¶
The default image is publicly hosted and already includes Xvfb, so you only
need this if you want to customize the image or build it yourself. The committed
Dockerfile derives from the base image and adds xvfb:
just build-image # -> localhost/intune-container:local (base + xvfb)
intune-container init --force --image localhost/intune-container:local
To make a custom image the default, push it to a registry and set DEFAULT_IMAGE
in src/backend.rs (or pass --image per run).