3D Hub Connector
This OctoPrint plugin will make the initial connection to 3D Hub a breeze. In future it will help in setting up a tunnel connection and tracking filament usage.
Current feature(s):
- Auto-registration - send your OctoPrint connection parameters to 3D Hub safely, to make setting up printers a breeze.
Future features:
- Filament Pedometer - send filament usage data to 3D Hub, making the filament manager plugin and its PostGres database unnecessary.
- Http Tunnel - connect to 3D Hub, to make connection to printers a breeze especially over docker, VPN, DMZ, VLAN, the cloud or other complex network setups.
- Single-sign-On - client-to-machine (C2M) and machine-to-machine (M2M) authentication removing the need for more than 1 set of credentials across the farm.
For more feature requests, bugs, or ideas please head over to https://github.com/3d-hub/3d-hub-connector/discussions.
Setup
!! Work in progress !! This plugin is in alpha stage. It requires the plugin system on 3D Hub, which is not released yet.
Install via the bundled Plugin Manager or manually using this URL:
https://github.com/3d-hub/3d-hub-connector/archive/main.zip
Please configure the plugin completely for one or more printers before checking 3D Hub.
Configuration
Warning - restoring from a OctoPrint backup can be cause of security weakness due to copied passwords. In the end we are not responsible for your choices, but we advise to change the accessControl:salt
and to regenerate the main user account for each OctoPrint instance.
Configuration - auto-registration
Configuring the auto-registration properly can massively improve the steps you need to undertake to setup your farm.
- REQUIRED
hub_host
the host to reach 3D Hub with (IP, localhost, domain name, etc) - REQUIRED
hub_port
the port to approach the 3D Hub server (number) - REQUIRED
oidc_client_id
the client id to authenticate with the 3D Hub server using OpenID Connect (string) - REQUIRED
oidc_client_secret
the client secret key to authenticate with the 3D Hub server using OpenID Connect (string) - OPTIONAL
port_override
the announced port for how 3D Hub can reach OctoPrint later (default is taken fromserver:port
, but this is not always correct in case of Docker or a proxy.)
We understand if you restore OctoPrint backups to install new OctoPrints. For that reason we've introduced two unique ID's (UUID).
- AUTOGENERATED
persistence_uuid
a unique identifier stored in the plugin folder indevice.json
, which is excluded from backups to prevent duplicate printers. Dont adjust this, if you dont understand it. - AUTOGENERATED
device_uuid
a unique identifier stored in theconfig.yaml
at startup. Dont adjust this, if you dont understand it.
Periodic updates
- OPTIONAL
ping
the time in seconds between each call to 3D Hub (default is 15 * 60, or 15 minutes)
The plugin will use server:host
and server:port
to give 3D Hub a handle to connect back to this OctoPrint. This is often incorrect, if your OctoPrint is behind a proxy, in a VM, UnRaid, a different device, DMZ, in a docker container or in a VPN. At this moment this needs to be rectified in 3D Hub. Later we will allow more advanced ways to fix this, but for now we believe this plugin is going to make it much easier already.