All apps · 0 apps
Stellarium
Docker app from junkerderprovinz's Repository
Overview
Readme
View on GitHub
Stellarium, in your browser. Explore the night sky from any device — no VNC client, no local install.
This runs the full Stellarium desktop planetarium inside a single container and streams it to your
browser over Selkies (WebRTC), so panning
the sky, zooming into a nebula and scrubbing through time stay smooth — the part of a real-time
planetarium where the old noVNC containers feel laggy.
Table of Contents
1. What is this?
An own-image container that packages Stellarium — the free, open-source desktop planetarium — on top of LinuxServer.io's baseimage-selkies and serves its desktop UI straight to your browser. No X client, no VNC viewer, no separate install on your workstation: open the WebUI and look up.
There is no maintained browser-desktop build of the actual Stellarium application — the only "in a browser" option is Stellarium Web, a separate and much lighter JavaScript reimplementation, not the full desktop program with its plugins, catalogues and sky cultures. This is a maintained, modern Selkies (WebRTC) build of the real thing for amd64 and arm64.
Stellarium itself is installed from Debian trixie's stellarium package, so it tracks Debian's
security updates and works natively on both architectures.
2. Why Selkies?
A planetarium is a continuous-rendering workload: you drag across the sky, zoom into a star cluster, speed up time to watch the planets move, and swing the whole celestial sphere around. Over the older noVNC stack that constantly changing canvas feels laggy because the whole frame is re-encoded on every change. Selkies streams the desktop over WebRTC, the same reason LinuxServer moved Blender and FreeCAD onto it — so the sky stays fluid. When the host has a GPU the base wires it through; without one it falls back to software rendering (Mesa llvmpipe) so it still works.
3. Install on Unraid
Requires Unraid 6.12+. Install via Community Applications — search for Stellarium
(look for the junkerderprovinz maintainer). Or add the template repository manually under
Docker → Add Container → Template repositories:
https://github.com/junkerderprovinz/unraid-apps
Then open the WebUI on the mapped HTTPS port (default 3001).
4. Configuration
| Variable | Required | Description |
|---|---|---|
CUSTOM_USER |
No | WebUI login user. Leave empty (with PASSWORD) for no login on a trusted LAN. |
PASSWORD |
No | WebUI login password. Empty = no login; set both to enable HTTP basic auth on the WebUI. |
CUSTOM_HTTPS_PORT |
No | HTTPS port the WebUI is served on (default 3001). |
PUID / PGID |
No | User/group the app runs as, so files it writes match your share ownership. The Unraid template sets 99/100 (nobody/users). |
TZ |
No | Timezone (e.g. Europe/Berlin). Also sets Stellarium's clock when it follows system time. |
Stellarium's configuration, chosen location, downloaded star catalogues, landscapes, plugins and
screenshots all persist under /config (in /config/.stellarium), so nothing is lost across
image updates.
[!NOTE] The WebUI has no login by default for trusted-LAN use. Never expose it directly to the internet — put it behind a VPN or a reverse proxy that adds authentication, or set
CUSTOM_USER+PASSWORDto enable the built-in basic auth.
5. First use
- Open the WebUI — Stellarium starts maximised, showing the sky for its default location.
- Set your location (press
F6, or the location button in the left toolbar) so the sky matches where you are; it is remembered for next time. - Explore: drag to pan, scroll to zoom, use the bottom toolbar to toggle constellations, atmosphere,
grids and labels, and the time controls (
J/K/L) to slow, pause or speed up time. - Want more? Stellarium's Configuration window (
F2) enables plugins — the telescope control, satellites, exoplanets, meteor showers and more.
Closing the Stellarium window simply reopens a fresh instance — it is the container's single app (kiosk model), so there is nothing else to manage.
6. How it works
Browser ──WebRTC (Selkies)──> Stellarium container
├─ nginx (Selkies WebUI, HTTPS :3001)
├─ openbox + Selkies desktop
└─ /usr/bin/stellarium (Debian trixie package)
└─ /config/.stellarium (location, catalogues, plugins, persisted)
Built on ghcr.io/linuxserver/baseimage-selkies:debiantrixie. A small s6 overlay seeds the
openbox autostart (which launches Stellarium as the session's single app), keeps the WebUI
login-free unless you set credentials, and prints a STELLARIUM IS READY banner to the
container log once the WebUI is serving. Images are built natively per architecture, boot-smoke
tested (the binary is present and the WebUI answers) before publishing, and scanned for CVEs.
7. Credits
- Stellarium by the Stellarium developers (GPL-2.0) —
the planetarium this image packages. Installed from the Debian
stellariumpackage. This project is not affiliated with or endorsed by the Stellarium project. - LinuxServer.io baseimage-selkies (GPL-3.0) — the Selkies web-desktop base.
- Selkies — the WebRTC desktop streaming stack.
See NOTICE for the full bundled-software license list. This repository's own wrapper
(Dockerfile, rootfs, scripts, artwork) is MIT — see LICENSE.
If this saved you a planetarium setup, consider buying me a coffee:
Part of a family of self-hosted Unraid apps + plugins by junkerderprovinz — see them all at github.com/junkerderprovinz, or install from Community Applications.
Install Stellarium on Unraid in a few clicks.
Find Stellarium in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
junkerderprovinz/stellarium:latestRuntime arguments
- Web UI
https://[IP]:[PORT:3001]/- Network
bridge- Shell
bash- Privileged
- false
- Extra Params
--restart=unless-stopped --shm-size=1gb
Template configuration
HTTPS port of the Selkies WebUI (self-signed cert). This is the default WebUI — HTTPS is required for clipboard support in the browser. Accept the self-signed certificate once.
- Target
- 3001
- Default
- 3001
- Value
- 3001
HTTP port of the Selkies WebUI. For a reverse proxy that terminates TLS in front of the container — NOT for direct browser access. The Selkies web client requires a secure context, so opening http://IP:3000 directly shows a 'requires a secure connection (HTTPS)' error. For direct access use the HTTPS port 3001.
- Target
- 3000
- Default
- 3000
- Value
- 3000
Persistent Stellarium data: your chosen location, downloaded star catalogues and DSO textures, landscapes, enabled plugins, screenshots and preferences (stored under /config/.stellarium).
- Target
- /config
- Default
- /mnt/user/appdata/stellarium
- Value
- /mnt/user/appdata/stellarium
Optional. Username for HTTP-basic-auth on the WebUI. Leave EMPTY together with the password for no login. Set both fields to enable login (recommended outside trusted LANs).
- Target
- CUSTOM_USER
Optional. Password for HTTP-basic-auth on the WebUI. Leave EMPTY together with the username for no login. STRONGLY recommended whenever the container is reachable from outside your LAN.
- Target
- PASSWORD
Container timezone (affects log timestamps and file mtimes). Use this instead of a /etc/localtime bind-mount — the LSIO base image manages /etc/localtime internally via TZ.
- Target
- TZ
- Default
- Europe/Vienna
- Value
- Europe/Vienna
User-ID Stellarium runs as. Default 99 (nobody on Unraid).
- Target
- PUID
- Default
- 99
- Value
- 99
Group-ID. Default 100 (users on Unraid).
- Target
- PGID
- Default
- 100
- Value
- 100
Permission mask for newly created files. Use 000 if you want every container user to read/write everything.
- Default
- 022|000|002|077
- Value
- 022