Getting Started
🐧 Linux
SkyView is a STANAG 4609 player that ships as a single Docker container with an embedded web UI. Once deployed, you can access the interface from any browser and optionally install it as a Progressive Web App (PWA) for offline use and a native-like experience.
Prerequisites
- Docker 24+ installed on your system
- Linux: Native Docker Engine
- Windows: Docker Desktop (with limitations on multicast support) or VM
- Docker Compose (recommended for easier management)
Quick Start
You can install SkyView using one of the following methods:
Option 1: Install from sky-view-install.tar.gz
| Version | Download link | |
|---|---|---|
| SkyView (Linux x64) | v1.8.3 | sky-view-install.tar.gz |
- Extract the archive:
tar xzf sky-view-install.tar.gz
cd sky-view-install
- Edit (customize) the
.envfile as needed. - Start the container:
docker compose up -d
Access the UI: Open your browser and navigate to http://localhost:8100
💡 Hardware acceleration: The provided Docker Compose file already exposes
/dev/driand adds thevideogroup so the container can use VA-API/NVDEC on supported hosts. Remove those entries if your environment lacks GPU drivers or you prefer software decoding.
That's it! For more deployment options and configuration details, see Running SkyView with Docker.
Option 2: Install from .deb Package
| Version | Download link | |
|---|---|---|
| SkyView (Linux x64) | v1.8.3 | sky-view_v1.8.3_amd64.deb |
- Download the
.debpackage:
wget https://github.com/impleotv/sky-view-release/releases/download/v1.8.3/sky-view_1.8.3_amd64.deb
- Install the package:
sudo dpkg -i sky-view_1.8.3_amd64.deb
sudo apt-get install -f # Install any missing dependencies
⚠️ Note: During installation, the package will automatically download and install the required Docker containers. This process may take some time depending on your network speed.
- Start SkyView (if not started automatically):
sudo systemctl start sky-view
Access the UI: Open your browser and navigate to http://localhost:8100
Option 3: Install via APT Repository
- Download and install the GPG key first:
curl -sL https://impleotv.github.io/sky-view-release/sky-view-apt.gpg | sudo tee /usr/share/keyrings/skyview-archive-keyring.gpg > /dev/null
- Add the SkyView APT repository:
echo "deb [signed-by=/usr/share/keyrings/skyview-archive-keyring.gpg] https://impleotv.github.io/sky-view-release stable main" | sudo tee /etc/apt/sources.list.d/skyview.list
- Update package lists:
sudo apt-get update
- Install SkyView:
sudo apt-get install sky-view
⚠️ Note: During installation, the package will automatically download and install the required Docker containers. This process may take some time depending on your network speed.
Access the UI: Open your browser and navigate to http://localhost:8100
ℹ️ For multicast UDP stream support, SkyView requires
network_mode: host, which is only available on Linux. Docker Desktop (Mac/Windows) has limited multicast capabilities.⚠️ The docker-compose.yml file included with the installation contains a pre-configured reverse proxy (Caddy). If you don't need it or prefer to use a different service, simply remove the caddy service from the Docker Compose file.
🖥️ Windows
Prerequisites
- Windows 10/11 (64bit)
On Windows, SkyView is installed using the setup package:
sky-view-win-amd64-installer
After installation, SkyView can run in two flavors:
🖧 Client/Server Mode
In this mode, the backend server is started and clients can connect from a browser (locally or over the network). This is the full-featured deployment mode, providing access to all functionality and configuration options.
Run:
skyview-server.exe
모 Desktop Mode
In this mode, SkyView runs as a local Windows desktop application. It is intended for a single local user and is not designed for client connections from the network.
Run:
skyview-desktop.exe
⚠️ Important:
Desktop Mode does not expose all functionality. Some advanced features and configuration options are intentionally hidden or unavailable in this mode.
For full functionality, multi-user access, and complete configuration control, use Client/Server Mode.
Access Scenarios
Scenario 1: Local Development (Same Machine)
When running SkyView on your local machine, access is straightforward:
http://localhost:8100
Data persistence:
The database is stored in a Docker named volume (sky-view-data) at /data/sky-view.db inside the container. This ensures your configuration and data survive container restarts.
💡 Custom port: If you changed the port in
SKY_VIEW_SERVER_ADDR, use that port instead of 8100.
Scenario 2: Local Network Access (LAN)
To access SkyView from other devices on your network:
- Find your host machine's IP address:
- Linux:
ip addr showorhostname -I - Windows:
ipconfig -
Mac:
ifconfigor System Preferences → Network -
Open the browser on another device and navigate to:
http://<HOST_IP>:8100
For example, if your host IP is 192.168.1.50:
http://192.168.1.50:8100
PWA configuration
SkyView can be installed as a Progressive Web App. For more information on PWA configuration, see PWA configuration
- Configure firewall access:
Ensure your host firewall allows inbound TCP connections on port 8100 from your LAN:
# Example for Linux with ufw
sudo ufw allow 8100/tcp
# Example for Linux with firewalld
sudo firewall-cmd --add-port=8100/tcp --permanent
sudo firewall-cmd --reload
⚠️ Network isolation: Ensure both devices are on the same subnet/VLAN. Guest networks often block device-to-device communication.
Scenario 3: LAN Access with Custom Domain (Recommended)
For a better user experience, especially when using PWA features and WebRTC, use a custom local domain with HTTPS:
- Set up a reverse proxy with automatic HTTPS:
- Using Caddy (recommended for simplicity)
-
Add a hosts file entry on client devices to map your custom domain to the host IP:
Linux/Mac (/etc/hosts):
192.168.1.50 skyview.local
Windows (C:\Windows\System32\drivers\etc\hosts):
192.168.1.50 skyview.local
- Access via your custom domain:
https://skyview.local
💡 What is a hosts file? The hosts file is a simple text file that maps domain names to IP addresses. Your operating system checks this file before contacting a DNS server, allowing you to override DNS and create custom local domains.
Self-signed/internal certificates on LAN
If you enable HTTPS on the LAN using an internal or self-signed certificate (for example, Caddy with tls internal), each client device must trust that certificate authority before browsers will allow PWA install and WebRTC. See Trust the certificate in your browser for step-by-step instructions.
Progressive Web App (PWA)
SkyView can be installed as a Progressive Web App, providing:
- Standalone app window (no browser interface (tabs, address bar, etc.))
- Desktop/home screen icon
- Offline capability with cached resources
- Automatic updates when new versions are available
More info on PWA installation
More info on uning on mobile
Updating SkyView (on Linux)
Update the Docker Container
Pull the latest image and restart the container:
docker compose pull
docker compose up -d
Your data persists in the Docker volume, so updates preserve your configuration.
Refresh the PWA
After updating the container, refresh the PWA to load the new version:
- Close and reopen the PWA window
- Or press Ctrl+F5 (Cmd+Shift+R on Mac) in a browser tab
- If the UI seems stale, clear Site data / Application storage for the site in browser settings and reload
Troubleshooting
Can't Reach the UI from Another Device
Symptoms: Browser shows "Connection refused" or times out when accessing http://<HOST_IP>:8100
Solutions:
- Verify the host machine's IP address is correct
- Check that SkyView is running: docker compose ps
- Confirm host firewall allows TCP port 8100 (see Scenario 2)
- Ensure both devices are on the same subnet/VLAN (no guest network isolation)
- Try accessing from the host machine first to rule out container issues
PWA Won't Install on LAN
Symptoms: No install prompt appears, or installation fails when accessing from the LAN
Solutions:
- Use HTTPS (via reverse proxy) instead of plain HTTP
- Install/trust the LAN certificate (or CA) in the browser/OS so the origin is considered secure
- Verify TLS certificate is valid (no browser warnings)
- Check that date/time are correct on both server and client devices (TLS validation requires accurate time)
- Clear browser cache and try again
WebRTC Streams Blocked or No Video Playback
Symptoms: Camera feeds don't play, console shows security errors
Solutions:
- Use HTTPS for all LAN access (localhost is exempt)
- Check browser console for specific WebRTC errors
- Verify firewall allows WebRTC traffic (UDP and TCP ports as configured)
Multicast Inputs Not Appearing
Symptoms: Expected multicast streams don't show up in the stream list
Solutions:
- Confirm network_mode: host is set in your docker-compose.yml
- Note that network_mode: host is Linux-only - Docker Desktop (Mac/Windows) has limited multicast support
- For best results with multicast UDP streams, run SkyView on a Linux host
- Verify multicast traffic is reaching the host: tcpdump -i <interface> multicast
- Check that no firewall rules are blocking multicast packets
Database or Volume Issues
Symptoms: Settings not persisting, or database errors in logs
Solutions:
- Verify the volume is mounted: docker volume inspect sky-view-data
- Check container logs: docker compose logs sky-view
- Ensure the container has write permissions to /data
- If corrupted, you may need to remove the volume and restart fresh: docker compose down -v (⚠️ this deletes all data)
Next Steps
- Configure streams: Learn how to add and manage video streams
- Set up HTTPS: Follow the Caddy or Nginx guides for secure access
- Offline deployment: See Docker offline for air-gapped installations
- Advanced configuration: Explore environment variables and configuration options