obico server

Obico is a community-built, open-source smart 3D printing platform used by makers, enthusiasts, and tinkerers around the world.

The Obico Server

This repo is everything you need to run a self-hosted Obico Server.

Obico is a community-built, open-source smart 3D printing platform used by makers, enthusiasts, and tinkerers around the world.

The AI failure detection in this project is based on a Deep Learning model. See how the model works on real data.

Install and run the server

Note: For more detailed instructions, head to the Obico Server guide.

Prerequisites

The Obico Server only requires a computer to run. Even old PCs (within the previous 10 years) will do just fine. An Nvidia GPU is optional but can vastly increase the power consumption and beef up the number of printers the server can handle.

Detailed hardware minimum specs.

Software requirements

The following software is required before you start installing the server:

  • Docker and Docker-compose. But you don’t have to understand how Docker or Docker-compose works.
    • Install Docker (Windows, Ubuntu, Fedora, CentOS, Mac). Important: If your server has an old Docker version, please follow the instructions in these links to upgrade to the latest version, otherwise you may run into all kinds of weird problems.
    • Install Docker-compose. You need Docker-compose V2.0 or higher.
  • git (how to install).

Email delivery

You will also need an email account that has SMTP access enabled (gmail will not work. As of May 30, 2022 Google has removed the option for allowing SMTP access). Other web mail such as Yahoo should work but we haven’t tried them.

Get the code and start the server

  1. Get the code:
git clone -b release https://github.com/TheSpaghettiDetective/obico-server.git
  1. Run it! Do either one of these based on what OS you are using:

    • If you are on Linux: cd obico-server && sudo docker compose up -d
    • If you are on Mac: cd obico-server && docker-compose up -d
    • If you are on Windows: cd obico-server; docker-compose up -d
  2. Go grab a coffee. Step 2 will take 15-30 minutes.

  3. If the Obico Server is running on localhost, there will be no step 4. If it is running on a different host, such as a VM in the cloud, go ahead to configure the Django site.

Open “http://localhost:3334” on the same computer. Voila - your self-hosted Obico Server is now up and running!

Login page

Server Configuration

Upon fresh installation, the Obico Server can only work on the localhost. You will need to configure its IP address. Here is how:

Obtain server’s IP address

Recommended Read: Connecting to your server with a .local address

This refers to the LAN IP address that has been given to the computer that the Obico server is running on.

  • If you are on Linux: Open the wifi settings and select “settings” for the network your device is currently connected to. Look for the IPv4 value.
  • If you are on Windows: Select “Properties” for the network your device is connected to, then look for the IPv4 value.
  • If you are on Mac: Go to Settings > Network. You will find your IPv4 value below the wifi status.

The Obico Server needs to have an IP address that is accessible by OctoPrint or Klipper. It can be a private IP address (192.168.x.y, etc) but there needs to be a route between OctoPrint and the Obico Server.

It is also recommended that a static IP is set to avoid issues with changing IP’s. Please look up your WiFi routers guide on how to do this.

Login as Django admin

  1. Open Django admin page at http://your_server_ip:3334/admin/.

Note: If the browser complains “Can’t connect to the server”, wait for a couple more minutes. The web server container may still be starting up.

  1. Login with username [email protected], password supersecret. Once logged in, you can optionally (but are highly encouraged to) change the admin password using this link: http://your_server_ip:3334/admin/app/user/1/password/.

Configure Django site

  1. In the same browser window, go to the address http://your_server_ip:3334/admin/sites/site/1/change/. Change “Domain name” to your_server_ip:3334. No “http://”, “https://” prefix or trailing “/”, otherwise it will NOT work. Note: Deleting the original site and adding a new one won’t work, thanks to the quirkiness of Django site.

  2. Click “Save”. Yes it’s correct that Django is not as smart as most people think. 😉

Site configuration

Note: If you are using reverse proxy, “Domain name” needs to be set to reverse_proxy_ip:reverse_proxy_port. See using a reverse proxy for details.

That’s it! You now have a fully-functional Obico Server that your OctoPrint can talk to. We hope setting up the server has not been overwhelming.

Configure clients to use self-hosted Obico Server

Contribute to Obico

Feeling excited? Want to contribute? Check out how.

Difficulties in getting the Obico server up and running?

Browse and search in the Obico Server guide website. If you can’t find the answer there, consult the Discord or open an issue.

Thanks

BrowserStack BrowserStack generously sponsors a free license so that I can test Obico webcam streaming on different browsers/versions.
Moonraker for the source code to extract g-code metadata.