All apps · 0 apps
Nebulis
Docker app from Brent7187's Repository
Overview
Readme
View on GitHubNebulis
Your universe. Captured. Beautifully organized.
A full image library, observation planner, and sky forecast for your smart telescope. Self-hosted, runs on your own hardware, accessible from any browser on your network.
nebulis.app — macOS, Windows, iOS, tvOS, and Android apps also available.
Supported telescopes: ZWO SeeStar S30 / S50, DWARFLAB Dwarf II / Dwarf 3 / Dwarf Mini

Features
- Import imaging sessions and sub-frames directly from your telescope's network share
- Native FITS viewer with header inspection and per-frame satellite trail detection
- Astronomical catalog enrichment: Messier, NGC, IC, Sharpless, Caldwell
- Observation planner with altitude charts for 5,000+ deep-sky objects, drag-and-drop scheduling
- Sky forecast combining cloud cover, humidity, atmospheric seeing, and lunar phase
- Import frames into a managed local library; combine and process sub-frames
- Multi-user auth with device pairing (iOS / tvOS companion app)
- Light and dark theme

Docker Compose
services:
nebulis:
image: ghcr.io/nebulis-app/nebulis:latest
container_name: nebulis
restart: unless-stopped
ports:
- "8080:8080" # Web interface
- "47890:47890/udp" # LAN discovery (optional)
volumes:
- nebulis-data:/app/data
environment:
- ADVERTISED_HOST=192.168.1.50 # your server's LAN IP
volumes:
nebulis-data:
docker compose up -d
Open http://localhost:8080 (or your server IP) and complete the onboarding.
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT |
8080 |
HTTP listen port inside the container |
ADVERTISED_HOST |
(auto) | LAN IP advertised to the iOS app for auto-discovery. Set this if the app can't find the server automatically. |
LOG_LEVEL |
info |
trace, debug, info, warn, or error |
JWT_SECRET |
(auto-saved) | Auth signing secret. Auto-generated on first start and saved to /app/data/.jwt-secret. |
DATA_KEY |
(auto-saved) | Encryption key for stored telescope passwords. Auto-generated and saved to /app/data/.data-key. Keep this stable — changing it makes existing credentials unreadable. |
Volumes
| Path | Purpose |
|---|---|
/app/data |
Database, settings, secrets, thumbnail cache. Keep this on a persistent volume. |
/media (optional, read-only) |
Bind-mount the path where USB telescope drives appear for direct SD card access. |
Updating
docker compose pull && docker compose up -d
Your data and logins survive the update as long as /app/data is on a persistent volume.
Setup
- Open the web interface after starting the container.
- Complete the onboarding: set your location, units, and theme.
- Go to Settings → Hardware and add your telescope. Choose SeeStar or Dwarf, then enter its IP address and network share path, or point to a locally mounted USB path.
- Create an admin account under Settings → Account.
License
Install Nebulis on Unraid in a few clicks.
Find Nebulis 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
Related apps
Explore more like this
Explore allDetails
ghcr.io/nebulis-app/nebulis:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8080]/- Network
bridge- Privileged
- false
Template configuration
Port for the Nebulis web interface.
- Target
- 8080
- Default
- 8080
- Value
- 8080
UDP port used for local network auto-discovery by the iOS/tvOS app.
- Target
- 47890
- Default
- 47890
- Value
- 47890
Stores the database, settings, thumbnails, and cache.
- Target
- /app/data
- Default
- /mnt/user/appdata/nebulis
- Value
- /mnt/user/appdata/nebulis