# Linux (OpenSUSE)

This was verified working on Leap 15 and should be fine with Tumbleweed as well but has not been independatly verified.

# 1 Update your repositories and packages fully:

sudo zypper dup

# 2 Install necessary dependencies:

sudo zypper install nodejs gcc make git ca-certificates{,-cacert,-mozilla}

# 3 Verify correct Nodejs version (needs to be 14+)

node --version`

# 4 Import the necessary pgp key and add the MongoDB community repository

sudo rpm --import https://www.mongodb.org/static/pgp/server-5.0.asc
sudo zypper addrepo --gpgcheck "https://repo.mongodb.org/zypper/suse/15/mongodb-org/5.0/x86_64/" mongodb

# 5 Install, start and make MongoDB persist reboots:

sudo zypper install mongodb-org
sudo systemctl enable mongod --now
sudo systemctl status mongod

# 6.1 Update npm to the latest

  • Due to some update dependencies in V1.2+ we need to update our local npm version to the latest.
sudo npm install npm@latest -g

# 6.2 Install pm2:

sudo npm install pm2 -g

# 7 Obtain and start OctoFarm

git clone --depth 1 https://github.com/OctoFarm/OctoFarm.git
cd OctoFarm/
npm start
pm2 list
  • You should see something similar to:
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name               │ mode     │ ↺    │ status    │ cpu      │ memory   │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0  │ OctoFarm           │ fork     │ 0    │ online    │ 0%       │ 239.6mb  │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘

# 8 Allow traffic on port 4000 during the current boot:

  • By default OctoFarm runs on port 4000, adjust as required:
sudo firewall-cmd --add-port=4000/tcp
sudo firewall-cmd --add-port=4000/udp

# 9 And finally with one additional flag to make it persist reboots

    sudo firewall-cmd --add-port=4000/udp --permanent
    sudo firewall-cmd --add-port=4000/tcp --permanent

That's it. Navigate to <printer_ip>:4000 (example: "192.168.100.10:4000") in your browser and have a day!

# Additional

OctoFarms service is fully controllable from the cli, and you can also action restarts from the UI. It is not setup as persistent as default to do so please check the following documentation: Service Setup