# Set up spool for me You are helping me set up spool, a print queue for Bambu Lab 3D printers (https://spool.spencerhubert.info). Work through it with me one step at a time. Run what you can yourself; tell me in one line what you are about to do before anything that needs my password (sudo) or changes my system; and tell me plainly when a step is mine to do (a printer's own screen, a click in an app). Keep your messages short. ## How spool fits together - One computer is the spool. It keeps the queue, talks to the printers on its network, and slices with Bambu Studio installed on it. Other computers join it with a six-digit code. - The spool is either the spool app (Mac, Windows or a Linux desktop; it starts when I sign in and keeps running with its window closed) or a background service on an always-on Linux computer with no screen. - The printers must be on the same network as the spool, in LAN Only mode with Developer Mode on. - Prints start only while the spool's computer is on and awake. A print already running always finishes on the printer. ## 1. Ask me first - Which computer should be the spool: the one that is on most of the time, on the printers' network. A spare always-on Linux PC (x86_64) is best; otherwise the computer I use, with the app. - Which printers I have, and whether they are on that computer's network. ## 2a. The spool is a Mac, Windows or Linux desktop computer: the app - Fetch https://spool.spencerhubert.info/updates/downloads.json. Its `mac`, `windows` and `linux` keys name files under https://spool.spencerhubert.info/updates/. - Mac: download the .dmg, mount it (`hdiutil attach`), copy spool.app into /Applications, unmount it, and open the app. - Windows: download the .exe and run it. Windows may show "Windows protected your PC": I click More info, then Run anyway. When Windows asks whether spool may use the network, I choose Allow. - Linux desktop: download the .AppImage, make it executable, and run it. - The app opens a walk-through for the rest; I follow it. For slicing, Bambu Studio must be installed on this computer (https://bambulab.com/en/download/studio). - The app updates itself. ## 2b. The spool is an always-on Linux computer: the service - If it is not the computer you run on, ask me for its address and user and work over ssh. - Install, after telling me it uses sudo: ``` curl -fsSL https://spool.spencerhubert.info/install.sh | sudo sh ``` This puts the program at /usr/local/bin/spool and runs it as the systemd service `spool` (its own user, everything kept in /var/lib/spool, listening on port 7850, TCP and UDP). It ends by printing a six-digit code: keep it for step 4. Running the same command again updates spool. - If a firewall is on (ufw, firewalld), ask me, then allow 7850/tcp and 7850/udp from the local network. - Slicing needs Bambu Studio on this computer, which exists for x86_64 only. Download its Linux AppImage from https://github.com/bambulab/BambuStudio/releases (the build for this distribution), then unpack it and move it into place: ``` ./Bambu_Studio_*.AppImage --appimage-extract sudo mv squashfs-root /opt/bambu-studio ``` spool notices it within a minute. `sudo journalctl -u spool -f` shows its log; if Bambu Studio cannot start, the log names what it is missing, and you install those libraries (ask me first). - On an ARM computer (a Raspberry Pi) spool runs but cannot slice. Say so, and suggest an x86_64 computer or the app on a Mac or Windows computer as the spool instead. - Status: `systemctl status spool`. Remove it: `sudo spool service uninstall` (the data in /var/lib/spool stays). ## 3. The printers (on each printer's own screen: I do this) - Connect it to the same network as the spool. - Turn on LAN Only mode, then Developer Mode, and read me its Access Code. - In spool, the Printers page lists the printers it hears: I click Add and type the code. From a command line instead: `spool printers find`, then `spool printers add SERIAL --code CODE --name NAME`. - Tell me the trade-off once: in LAN Only mode a printer leaves Bambu's cloud and the Bambu Handy app. A printer left in cloud mode can still print from spool through Bambu Connect (https://wiki.bambulab.com/en/software/bambu-connect), one click per print. ## 4. Other computers join the spool - A code: in the app on the spool, Settings, This computer, Add another computer; on a service, `sudo spool code`. A code works once, for ten minutes. - On each other computer: install the app (2a), then Settings, This computer, Use a spool on another computer, choose the spool, and type the code. - With only a command line: `spool join CODE` finds the spool on the same network; `spool join http://ADDRESS:7850 CODE` reaches one elsewhere (through a VPN such as Tailscale). The code's output lists the spool's addresses. ## 5. Check that it works - `spool find` lists the spools on this network. - `spool printers` (on any joined computer) lists each printer and whether it takes commands. - `spool help` lists everything else: parts, beds, the queue, the history. - The `spool` command: on a Mac or Linux desktop the app puts it in ~/.local/bin; on Windows it is spool.exe in the app's folder, under resources\bin; on a service it is /usr/local/bin/spool. ## Rules for you - Never print or repeat my printers' access codes, my passwords, or the tokens in /var/lib/spool or spool's settings files. - Ask before sudo, a firewall change, or installing system packages. - Never change a printer's settings yourself; I do that on its screen.