January 21Jan 21 Overview: Support for Docker image NambuddyApplication Name: BambuddyyApplication: https://bambuddy.cool/index.htmlDocumentation: https://github.com/maziggy/bambuddyOverview : A powerful, self-hosted print archive and management system for Bambu Lab 3D printers. No cloud dependency, complete privacy, full control.## Why Bambuddy?- Own your data — All print history stored locally, no cloud dependency- Works offline — Uses Developer Mode for direct printer control via local network- Full automation — Schedule prints, auto power-off, get notified when done- Multi-printer support — Manage your entire print farm from one interface Make sure to look at the complete documentation Please post any questions/issues relating to this docker template you have in this thread. Edited January 22Jan 22 by ZappyZap
January 22Jan 22 Hi, this application seems great, but there is one problem: it does not take port allocation into account in the settings.Actually, I set port 8001 (port 8000 is already in use):Except that when I click on the app icon to open the webui, it opens port 8000. If I type in port 8001, nothing responds, and in the logs I have:INFO: Application startup complete.ERROR: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): [errno 98] address already in useINFO: Waiting for application shutdown.
January 22Jan 22 Author i have made a change to the template and push it to git....change the port in unraid as follow and it should be all good : Edited January 22Jan 22 by ZappyZap
January 22Jan 22 Author let me knowINFO: Application startup complete.INFO: Uvicorn running on http://0.0.0.0:8001 (Press CTRL+C to quit)
January 22Jan 22 Hey, thanks for the template. I get this, after first installing this:2026-01-22 16:22:35,614 INFO [root] Logging to file: /app/logs/bambuddy.log 2026-01-22 16:22:35,615 INFO [root] Bambuddy starting - debug=False, log_level=INFO INFO: Started server process [7] INFO: Waiting for application startup. 2026-01-22 16:22:37,908 INFO [backend.app.services.mqtt_relay] MQTT relay disabled 2026-01-22 16:22:37,917 INFO [backend.app.services.smart_plug_manager] Smart plug scheduler started 2026-01-22 16:22:37,921 INFO [backend.app.services.print_scheduler] Print scheduler started 2026-01-22 16:22:37,929 INFO [backend.app.services.notification_service] Notification digest scheduler started 2026-01-22 16:22:37,930 INFO [backend.app.main] AMS history recording started 2026-01-22 16:22:37,930 INFO [backend.app.main] Printer runtime tracking started INFO: Application startup complete. ERROR: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): [errno 98] address already in use INFO: Waiting for application shutdown. 2026-01-22 16:22:38,021 INFO [backend.app.services.print_scheduler] Print scheduler stopped 2026-01-22 16:22:38,021 INFO [backend.app.services.smart_plug_manager] Smart plug scheduler stopped 2026-01-22 16:22:38,021 INFO [backend.app.services.notification_service] Notification digest scheduler stopped 2026-01-22 16:22:38,021 INFO [backend.app.main] AMS history recording stopped 2026-01-22 16:22:38,022 INFO [backend.app.main] Printer runtime tracking stopped INFO: Application shutdown complete. 2026-01-22 16:22:38,023 ERROR [sqlalchemy.pool.impl.AsyncAdaptedQueuePool] Exception terminating connection <AdaptedConnection <aiosqlite.core.Connection object at 0x15193843a780>> Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/uvicorn/server.py", line 164, in startup server = await loop.create_server( ^^^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/asyncio/base_events.py", line 1630, in create_server raise OSError(err.errno, msg) from None OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): [errno 98] address already in use During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.13/asyncio/runners.py", line 195, in run return runner.run(main) ~~~~~~~~~~^^^^^^ File "/usr/local/lib/python3.13/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ File "/usr/local/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete self.run_forever() ~~~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.13/asyncio/base_events.py", line 683, in run_forever self._run_once() ~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once handle._run() ~~~~~~~~~~~^^ File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run self._context.run(self._callback, *self._args) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/uvicorn/server.py", line 71, in serve await self._serve(sockets) File "/usr/local/lib/python3.13/site-packages/uvicorn/server.py", line 86, in _serve await self.startup(sockets=sockets) File "/usr/local/lib/python3.13/site-packages/uvicorn/server.py", line 174, in startup sys.exit(1) ~~~~~~~~^^^ SystemExit: 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/sqlalchemy/pool/base.py", line 372, in _close_connection self._dialect.do_terminate(connection) ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 718, in do_terminate self.do_close(dbapi_connection) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 721, in do_close dbapi_connection.close() ~~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.13/site-packages/sqlalchemy/dialects/sqlite/aiosqlite.py", line 317, in close self.await_(self._connection.close()) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 132, in await_only return current.parent.switch(awaitable) # type: ignore[no-any-return,attr-defined] # noqa: E501 ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/sqlalchemy/util/_concurrency_py3k.py", line 196, in greenlet_spawn value = await result ^^^^^^^^^^^^ File "/usr/local/lib/python3.13/site-packages/aiosqlite/core.py", line 206, in close await self._execute(self._conn.close) File "/usr/local/lib/python3.13/site-packages/aiosqlite/core.py", line 160, in _execute return await future ^^^^^^^^^^^^ asyncio.exceptions.CancelledError 2026-01-22 16:22:38,033 ERROR [backend.app.services.notification_service] Error in digest scheduler: (sqlite3.OperationalError) no active connection (Background on this error at: https://sqlalche.me/e/20/e3q8)This is, because your template is set up to use the host network, and not the bridge one. The UI Port should be marked as required as well.This is, what is working for me:Additionally it seems like, it takes for ever to restart the container. It always reports an Error on shutdown for some reason.
January 22Jan 22 Author Your issue is because you already run something on port 8000INFO: Application startup complete. ERROR: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): [errno 98] address already in use INFO: Waiting for application shutdown.I have also update the template to fix an issue with the UI port The reason the container is set to host is not the template but the app itself seems recommend it.https://wiki.bambuddy.cool/getting-started/docker/?h=host#network-mode-hostThanks Edited January 22Jan 22 by ZappyZap
January 22Jan 22 Really enjoying this app, thanks a ton! I haven't really wanted to use my X1C since Bambu started trying to force you to use their slicer and cloud service and this app has brought back my urge to print things.On that note, can you make a setting to hide the printer update button so I don't accidentally press it? Need to stay on the firmware that doesn't lock it down. I do have my firewall blocking the printer from reaching the internet, but you can never be too safe...Thanks!
January 22Jan 22 Author 23 minutes ago, Pranker99 said:Really enjoying this app, thanks a ton! I haven't really wanted to use my X1C since Bambu started trying to force you to use their slicer and cloud service and this app has brought back my urge to print things.On that note, can you make a setting to hide the printer update button so I don't accidentally press it? Need to stay on the firmware that doesn't lock it down. I do have my firewall blocking the printer from reaching the internet, but you can never be too safe...Thanks!I feel you , i am still on 01.06.01.xx but after all this time , realise i really do not use handy app at all so i think i will update and switch to lan mode + dev permanetlyFor your request , you should add a feature request on the github
January 23Jan 23 i have made a change to the template and push it to git....change the port in unraid as follow and it should be all good :Hi, okay, it works. Well, if I click on webui, it still goes to port 8000, but at least if I manually go to port 8001, it works. Thank you! Edited January 23Jan 23 by Benji7790
January 23Jan 23 Author 4 hours ago, Benji7790 said:Hi, okay, it works. Well, if I click on webui, it still goes to port 8000, but at least if I manually go to port 8001, it works. Thank you! Due the the fact this container run in host mode if you change the value here you must change it in the field WEBUI as wellthis is in the description of the WebUI variable.you must change the http://[IP]:[PORT:8000]. to http://[IP]:[PORT:<your_new_port>]
January 29Jan 29 Was anyone successfull in adding and using the virtual printer feature?I was able to setup everything according to https://wiki.bambuddy.cool/features/virtual-printer/ and it indeed connects and everything.But when I try to send the print to this virtual printer, I get a "connection failed" error. I suspect some port issue, but didnt figure out yet what to do?
February 1Feb 1 Its working now.It was my bad, I assumed I had to change the Network Type to custom, but that doesn't work.That being said: When configuring unraid, Bambuddy needs a routing of the privileged port 990 as described in the guide:iptables -t nat -A PREROUTING -p tcp --dport 990 -j REDIRECT --to-port 9990iptables -t nat -A OUTPUT -o lo -p tcp --dport 990 -j REDIRECT --to-port 9990To make it consistend even after rebooting the unraid server, these two lines have to be added to /boot/config/goAs this privileged port 990 seems to be reserved (and used in bambuddy) for FTPS, I assume that messes with any FTPS services in unraid as it now routes every incoming and outgoing traffic away from these ports to ports that bambuddy can use. I don't use FTPS in unraid, but that might be something some want to consider or at least keep in mind when setting up bambuddy. Im still trying to get everything working, but atleast this issue is solved for now.
February 17Feb 17 On 1/23/2026 at 2:21 PM, ZappyZap said:Due the the fact this container run in host mode if you change the value here you must change it in the field WEBUI as wellthis is in the description of the WebUI variable.you must change the http://[IP]:[PORT:8000]. to http://[IP]:[PORT:<your_new_port>]Hey, I was encountering the same problem (webui link not updating probperly). I was looking for the setting you mentioned here but wasnt able to find it easily. Took me some time to toggle to the advanced view and change the port.I would add to your description, that the advanced view is needed for the change. It may have been due to my limited knowledge in unraid, but it should still be helpful for newcomers to specify that.Otherwise all is working fine, ty for the container template.
February 17Feb 17 Author 20 minutes ago, knoeppi said:Hey, I was encountering the same problem (webui link not updating probperly). I was looking for the setting you mentioned here but wasnt able to find it easily. Took me some time to toggle to the advanced view and change the port.I would add to your description, that the advanced view is needed for the change. It may have been due to my limited knowledge in unraid, but it should still be helpful for newcomers to specify that.Otherwise all is working fine, ty for the container template.Thanks for the feedback , i will get this added
February 24Feb 24 Hello @ZappyZap ,First of all, thank you for your great work!I have a small feature request: Would it be possible to add a new environment variable to change the internal port of the container directly to 990?Currently, the container uses port 9990 by default and handles the port forwarding via iptables. However, since I run the container in "Custom Mode" (custom Docker network with a dedicated IP), the iptables rules do not apply there due to how the network architecture works. If I could set the port natively to 990 via a variable, the issue would be completely resolved in this mode and the container would work out-of-the-box.It would be awesome if you could implement this when you have the chance!Best regards
February 24Feb 24 Author 1 hour ago, Mayo_248 said:Hello @ZappyZap ,First of all, thank you for your great work!I have a small feature request: Would it be possible to add a new environment variable to change the internal port of the container directly to 990?Currently, the container uses port 9990 by default and handles the port forwarding via iptables. However, since I run the container in "Custom Mode" (custom Docker network with a dedicated IP), the iptables rules do not apply there due to how the network architecture works. If I could set the port natively to 990 via a variable, the issue would be completely resolved in this mode and the container would work out-of-the-box.It would be awesome if you could implement this when you have the chance!Best regardsI will have a look, But i think this will not be possible at the template level.This will need to be handle by the image , let me check and get back to you
February 26Feb 26 Hello, since version 2.0 I no longer receive updates in Unraid. Since then, I have to manually enter the current version under Source: ghcr.io/maziggy/bambuddy:0.2.1b3, otherwise it won't update.
February 26Feb 26 Author https://github.com/maziggy/bambuddy/pkgs/container/bambuddy/versions?filters%5Bversion_type%5D=tagged0.2.1b3 is not considered stableLatest is 0.2.0 Edited February 26Feb 26 by ZappyZap
February 27Feb 27 Hi guys,Is there a way to define a variable in an Unraid container where I can place my print files without having to manually upload them through the web UI every time?I’m looking for something like a consumption or watch folder. ?
February 27Feb 27 Author just via a variable ? short answer is NOthis would require some coding....in my opinion.... perhaps add this as a feature request in github ?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.