Repository navigation
Mainsail And Moonraker
Mainsail is the printer's web page. Moonraker is the API underneath it: Mainsail, the touchscreen, slicers, phone apps and home automation all talk to the printer through Moonraker. Both are standard, so their own documentation applies as written: docs.mainsail.xyz and moonraker.readthedocs.io.
Type the printer's address into a browser on the same network - the one on Settings →
Connections, for example http://192.168.1.42, or http://nebulaos-xxxx.local. Step by step:
3. First start.
The touchscreen and Mainsail show the same printer and work at the same time. The screen is better when you are standing at the machine; Mainsail for uploading files, editing configuration, the console, the print history and watching from elsewhere.
| What | Where |
|---|---|
| Mainsail |
http://<printer> - port 80 |
| Moonraker API, through the web server |
http://<printer> - port 80 forwards /server, /printer, /machine, /access, /api and /websocket to Moonraker |
| Moonraker API, directly | http://<printer>:7125 |
| OctoPrint-compatible upload |
http://<printer> (/api) - for slicers that upload the OctoPrint way |
| Camera stream | http://<printer>/webcam/ |
The screen's Settings → Connections page shows the Mainsail and Moonraker addresses of your printer.
Upload size: up to 512 MB per file (Moonraker's limit; the web server sets none).
Moonraker lets these clients in without a login ([authorization] in moonraker.conf):
- the printer itself (
127.0.0.1); - home networks in
192.168.0.0/16and10.0.0.0/8.
Browser apps on other web pages may call the API from http://*.local and http://*.lan
(cors_domains). A network in 172.16.0.0/12 is not in the list - if yours is, add it to
trusted_clients in moonraker.conf and restart Moonraker.
There is no login on top of that: anything on those networks can control the printer. Keep the printer on your home network, and do not forward its ports to the internet.
In OrcaSlicer choose the host type Octo/Klipper and enter http://<printer>; PrusaSlicer and
Cura upload through their OctoPrint option to the same address. NebulaOS answers OctoPrint-style
uploads there ([octoprint_compat]). Slicer setup: 5. Set up your slicer.
Anything that speaks Moonraker's API connects with the printer's address and port 80 or 7125, from
a trusted network as above. The printer also announces itself on the network as
<name>.local ([zeroconf]). There is nothing NebulaOS-specific to set up; follow the app's or the
integration's Moonraker instructions.
| Setting | Value | Why |
|---|---|---|
[file_manager] enable_object_processing |
True |
Adaptive mesh, smart park, purge line and Exclude Object need the object outlines. Keep it on |
[update_manager] automatic refresh |
off | Updates are checked when you ask (Settings → Updates → Check now, or Mainsail) |
| Update channels | Moonraker and Mainsail stable; Klipper dev; the NebulaOS extensions from their production branch; the screen from its releases |
|
[timelapse] |
off by default; videos in /opt/printer_data/timelapse/
|
Timelapse |
[spoolman] |
written by the screen when you set a server | Custom macros and integrations |
| Webcam | no [webcam] section; the default camera is added once to Moonraker's database |
so you can edit or delete it in Mainsail |
moonraker.conf in config/ is yours to edit. The NebulaOS parts are in included files that the
image owns and an update replaces (/etc/nebulaos/moonraker/); Moonraker merges a section repeated
in your moonraker.conf with them.
From opt/printer_data/config/moonraker.conf (lines 5-16, 36-53, 91-93, 188-206),
etc/nebulaos/moonraker/klipper-pin.conf:26-75, etc/nebulaos/moonraker/nebulaos.conf:10-41 and
etc/nginx/nginx.conf:22-110, firmware dc868e3; the screen's addresses from
src/nebulaos_settings.cpp:64-71 at screen fd47cb6.
- Custom macros and integrations
- Need help? Troubleshooting
1. Get printing
- 1. What is NebulaOS
- 2. Install NebulaOS
- 3. First start
- 4. First calibration
- 5. Set up your slicer
- 6. Your first print
- 7. Keeping NebulaOS updated
2. Improve your prints
3. Using NebulaScreen
- Overview
- Home and printing
- Macros and Console
- Tune
- Settings → Connections
- Settings → Display
- Settings → Printer
- Settings → System
- Settings → Updates
- Settings → Reset
- Camera
- Timelapse
- Power-loss recovery
4. Advanced and integrations
- SSH, SFTP and security
- Files, configuration and backups
- Mainsail and Moonraker
- Custom macros and integrations
- Beeps and songs
- How NebulaOS works
- Two system slots
- Words you will see
5. Help and recovery
- Troubleshooting
- Report a problem
- Going back to stock
- Resetting
- Mainboard firmware
- Recovery (when it will not start)
Developer documentation lives in each component repository. Start from the project README.