This guide provides a generic workflow for using the Nova application hosted on a server (e.g., Raspberry Pi) to remotely control Stellarium running locally on your computer (e.g., MacBook). It includes a secure method using SSH tunneling and assumes you're using Nginx as a reverse proxy for secure external access.
Since your Nova server will be exposed to the internet, anyone knowing your DNS address could access it. To prevent unauthorized access, you must enable a login system.
Nova supports a basic multi-user mode that requires a username and password for access.
By default, Nova runs in single-user mode, which allows unrestricted access. To enable login protection:
Open the nova.py file.
sudo nano nova.pyLocate this line near the top:
SINGLE_USER_MODE = True # Set to False for multi-user modeChange it to:
SINGLE_USER_MODE = FalseIn the .env file you will find a default user id and password: admin / admin123. You can change the password and you can also add additional users. The software will automatically convert the config yaml file to user specific versions.
Run:
python3 nova.pyNow, whenever someone visits your Nova page, they must log in first.
If you are using NGINX, ensure that HTTPS is enabled to encrypt login credentials.
- Nova running on your server.
- Stellarium installed and running on your local machine.
- Server reachable via secure HTTPS (e.g., using DuckDNS and Nginx).
- SSH access to your server (commonly Raspberry Pi).
Ensure the latest version of Nova is installed and accessible via your server, and that the necessary HTML interface files are correctly deployed.
- Launch Stellarium on your computer.
- Go to:
- Configuration Window (F2) → Plugins.
- Enable the RemoteControl plugin.
- Verify the plugin listens on port
8090(default).
Create a secure connection from your local machine (with Stellarium) to your remote server to enable the application to communicate back to Stellarium:
ssh -R 8090:localhost:8090 your_user@your_server_hostname -p <server-ssh-port>Replace the following placeholders:
your-server: domain name (e.g.,yourname.duckdns.org) or IP address of your server.<ssh-port>: SSH port for your server (usually22, unless changed).user: Your username for the SSH connection.
ssh -R 8090:localhost:8090 pi@mynova.duckdns.org -p 2222- The SSH command establishes a reverse tunnel forwarding port
8090from the server back to port8090on your local machine. - This makes Stellarium's RemoteControl accessible remotely via your server.
- Connect to your application's web interface hosted on your server.
- When selecting an object and clicking the button to send it to Stellarium, the local Stellarium instance should automatically focus on this object.
- The SSH reverse tunnel needs to be re-established each time your local computer restarts or the SSH connection is dropped.
- You can automate the tunnel setup using tools like
autosshor creating an SSH script to run automatically on startup.
This workflow allows remote, secure, and seamless integration between your astronomical application hosted remotely and your local Stellarium software.