Skip to content

Remote Access

Christian Würthner edited this page Dec 24, 2024 · 3 revisions

OctoApp on it's own does not offer remote access as this always requires additional setup and a server in many cases. Below you find a range of options and how to configure them.

Obico and OctoEverywhere

These are services specifically made for 3D printer remote access and offer free tiers as well as extended functionality for a monthly fee. You can follow their manuals on how to set the service up. Once you are done with the setup, open OctoApp and navigate to main menu > OctoPrint/Mainsail/Fluidd > Configure Remote Access. The app will show the OctoEverywhere and Obico options and you can connect the service.

Tailscale

Tailscale is a general free purpose tool to access your local network. It requires a small tool running on your printer and an app on the end device you want to use to access your printer. It acts as a VPN connection to your private devices, usually with a direct connection or via a relay server offered by tailscale. It's a very secure solution to access your devices at home from anywhere.

You can sign up for Tailscale online and then install Tailscale on your printer or Raspberry Pi using the download here: https://tailscale.com/download/linux. After tailscale is running on your printer or Raspberry Pi, install the Tailscale app on your phone. Sign in to the Tailscale app and activate the VPN. Open OctoApp and go to main menu > OctoPrint/Mainsail/Fluidd > Configure Remote Access > Manual. Enter the printer's Tailscale IP address, which you can copy from the Tailscale app. Usually it looks like 100.x.x.x.

You do not require a username and password in OctoApp because the IP is only reachable via your private tailscale tunnel.

Caution

When using Klipper with Moonraker, make sure to modify the moonraker.conf file and add 100.0.0.0/8 under trusted_clients. Otherwise OctoApp can't connect.

ngrok

This is another secure multi purpose remote access tool. You get one free domain which you can use for multiple printers by using different ports.

For OctoPrint, you can use the ngrok plugin, but there is some trouble with the plugin's outdated agent which you might need to update manually.

For any other machine, follow these steps:

  1. Create an ngrok account
  2. Go to the "Domains" section on the dashboard and create your free domain. This domain is later used to access your printer.
  3. Open an SSH connection to your printer
  4. Use the install command from the "Setup" section in the dashboard. Please note that you do not have to install ngrok on the printer itself, you can also use an external Raspberry Pi. You don't need to run the ngrok command yet.
  5. Run nano ~/ngrok.yml, and editor opens
  6. Modify the below config and then paste it into the terminal with the editor open. Once the text is there, press ctrl+o to save (confirm with enter), then ctrl+w to close.
    • The <<YOUR AUTH TOKEN>> needs to be replaced with your auth token from the dashboard
    • The <<YOUR DOMAIN>> needs to be replaced with your domain from the dashboard
    • The <<USERNAME>> and <<PASSWORD>> must be replaced
    • The addr: value is the port of your printer interface. If you e.g. access your printer as http://printer.local it's 80. If you enter e.g. http://printer.local:4409 into the browser to open your printer it's 4409. If you run ngrok on a different machine than your printer, addr needs to be a full URL, the same you use to open your printer in the browser, e.g. http://printer.local:4409 or http://192.168.1.30:4409.
version: 3

agent:
  authtoken: <<YOUR AUTH TOKEN>>

tunnels:
  printer1:
    proto: http
    addr: 80
    hostname: <<YOUR DOMAIN>>
    basic_auth:
      -  <<USERNAME>>:<<PASSWORD>>
  • Run ngrok service start
  • You can now open https://<<YOUR DOMAIN>>:<<PORT from addr>> and you should see a prompt to enter the username and password. Afterwards your printer will show up.
  • You can now open OctoApp and navigate to main menu > OctoPrint/Mainsail/Fluidd > Configure Remote Access > Manual. Enter the URL you used in the browser as well as the username and password.
  • In the settings icon above the webcam in OctoApp make sure to enable the Data saver webcam as ngrok has a data cap of a 1 GB and the webcam can quickly use this up, especially with the inefficient MJPEG protocol.

Port forwarding

Port forwarding is strongly discouraged as it's not secure. You can combine it with a reverse proxy and Basic auth, but you should know how to set this up yourself if you attempt it :) Please do not go this route if you are not sure what you are doing and work professionally in this field.