{"id":26361631,"url":"https://github.com/bangertech/bambucam","last_synced_at":"2026-01-03T01:54:14.077Z","repository":{"id":274956885,"uuid":"924614041","full_name":"BangerTech/BambuCAM","owner":"BangerTech","description":"🎥 A modern web application for monitoring multiple BambuLab X1C 3D printers through their camera feeds","archived":false,"fork":false,"pushed_at":"2025-02-27T18:22:01.000Z","size":8178,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T20:47:22.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BangerTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-30T10:41:01.000Z","updated_at":"2025-02-25T16:46:31.000Z","dependencies_parsed_at":"2025-02-20T15:43:53.608Z","dependency_job_id":null,"html_url":"https://github.com/BangerTech/BambuCAM","commit_stats":null,"previous_names":["bangertech/bambucam"],"tags_count":152,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2FBambuCAM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2FBambuCAM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2FBambuCAM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BangerTech%2FBambuCAM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BangerTech","download_url":"https://codeload.github.com/BangerTech/BambuCAM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243909343,"owners_count":20367534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-16T17:39:03.588Z","updated_at":"2026-01-03T01:54:14.072Z","avatar_url":"https://github.com/BangerTech.png","language":"JavaScript","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=FD26FHKRWS3US","https://pics.paypal.com/00/s/N2EwMzk4NzUtOTQ4Yy00Yjc4LWIwYmUtMTA3MWExNWIzYzMz/file.PNG"],"categories":[],"sub_categories":[],"readme":"# BambuCAM\n\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge\u0026logo=react\u0026logoColor=%2361DAFB)\n![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](LICENSE)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" alt=\"BambuCAM Logo\" width=\"400\"/\u003e\n\u003c/div\u003e\n\n\u003e 🎥 A modern web application for monitoring multiple 3D Printer (BambuLab X1C, Creality / Fluidd / Moonraker, OctoPrint) through their camera feeds\n\n## Screenshots\n\n\u003cimg src=\"assets/dashboard-empty.png\" width=\"32%\" /\u003e \u003cimg src=\"assets/add-printer.png\" width=\"32%\" /\u003e \u003cimg src=\"assets/dashboard-printers.png\" width=\"32%\" /\u003e\n\n_Left to right: Home screen, Add printer, Monitoring view with multiple printers_\n\n## Table of Contents\n- [What is BambuCAM?](#what-is-bambucam)\n- [Features](#features)\n- [Installation](#installation)\n- [Requirements](#requirements)\n- [Troubleshooting](#troubleshooting)\n- [Support](#support)\n\n## What is BambuCAM?\nBambuCAM is a user-friendly web application for monitoring different 3D printers (Bambulab X1C, Creality / Moonraker, OctoPrint). It supports both local and cloud printers, offering enhanced video streaming through go2rtc integration and a clean, modern interface.\n\n### Features\n- 🎥 Enhanced live camera feeds with [go2rtc](https://github.com/AlexxIT/go2rtc) integration\n- 🖱️ Drag \u0026 drop interface for camera arrangement\n- 🖥️ Fullscreen mode for each printer\n- ➕ Easy adding and removing of printers\n- 🔄 Improved stream stability and auto-reconnection\n- 🌐 Support for Bambu Cloud printers ( no videostreaming on Cloud Mode yet )\n- 🔔 Status notifications and monitoring\n- 🚀 Optimized performance with nginx\n- 📱 Responsive design for all devices\n\n## Installation\n\n### 🐳 Quick Docker Installation\n\nThe fastest way to get started is using our pre-built Docker images:\n\n1. Create a Folder: `sudo mkdir BambuCAM`\n2. Jump into the folder: `cd BambuCAM`\n3. Create a `docker-compose.yml`:\n```yaml\n\nservices:\n  frontend:\n    image: bangertech/bambucam-frontend:latest\n    restart: unless-stopped\n    network_mode: \"host\"\n\n  backend:\n    image: bangertech/bambucam-backend:latest\n    restart: unless-stopped\n    volumes:\n      - type: bind\n        source: ./data\n        target: /app/data\n        bind:\n          create_host_path: true\n      - type: bind\n        source: ./logs\n        target: /app/logs\n        bind:\n          create_host_path: true\n      - type: bind\n        source: ./data/go2rtc\n        target: /app/data/go2rtc\n        bind:\n          create_host_path: true\n    environment:\n      - LOG_LEVEL=DEBUG\n    network_mode: \"host\"\n\n  nginx:\n    image: nginx:alpine\n    network_mode: \"host\"\n    restart: unless-stopped\n    command: \u003e\n      /bin/sh -c \"echo 'worker_processes auto;\n      events {\n        worker_connections 1024;\n      }\n      http {\n        include /etc/nginx/mime.types;\n        default_type application/octet-stream;\n        sendfile on;\n        keepalive_timeout 65;\n        \n        server {\n          listen 80;\n          \n          location / {\n            proxy_pass http://localhost:3000;\n            proxy_http_version 1.1;\n            proxy_set_header Upgrade $$http_upgrade;\n            proxy_set_header Connection \\\"upgrade\\\";\n            proxy_set_header Host $$host;\n          }\n          \n          location /api {\n            proxy_pass http://localhost:4000;\n            proxy_http_version 1.1;\n            proxy_set_header Host $$host;\n          }\n          \n          location /go2rtc/ {\n            proxy_pass http://localhost:1984/;\n            proxy_http_version 1.1;\n            proxy_set_header Upgrade $$http_upgrade;\n            proxy_set_header Connection \\\"upgrade\\\";\n            proxy_set_header Host $$host;\n          }\n        }\n      }' \u003e /etc/nginx/nginx.conf \u0026\u0026 nginx -g 'daemon off;'\"\n    depends_on:\n      - frontend\n      - backend\n      - go2rtc\n\n  go2rtc:\n    image: alexxit/go2rtc\n    container_name: go2rtc\n    restart: unless-stopped\n    network_mode: host\n    volumes:\n      - type: bind\n        source: ./data/go2rtc\n        target: /config\n        bind:\n          create_host_path: true\n    environment:\n      - GO2RTC_CONFIG=/config/go2rtc.yaml\n      - GO2RTC_API=listen=:1984\n      - GO2RTC_API_BASE=/go2rtc\n      - GO2RTC_LOG_LEVEL=debug\n    command: \u003e\n      /bin/sh -c \"\n      mkdir -p /config \u0026\u0026\n      touch /config/go2rtc.yaml \u0026\u0026\n      chmod 777 /config/go2rtc.yaml \u0026\u0026\n      echo 'api:' \u003e /config/go2rtc.yaml \u0026\u0026\n      echo '  listen: :1984' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      echo '  base: /go2rtc' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      echo 'webrtc:' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      echo '  listen: :8555' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      echo 'rtsp:' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      echo '  listen: :8554' \u003e\u003e /config/go2rtc.yaml \u0026\u0026\n      go2rtc\n      \"\n    depends_on:\n      - backend\n```\n\n4. Start BambuCAM:\n```bash\ndocker compose up -d\n```\n\nThat's it! The application will be available at http://localhost. Your data will be stored in the `./data` and `./logs` directories, making it easy to access and backup.\n\n### Windows Users\n\nFor Windows users who prefer a guided installation:\n\n#### 🚀 Quick Start\n\n1. Download the [BambuCAM Installer](https://github.com/BangerTech/BambuCAM/releases/latest)\n2. Run the installer as administrator\n3. Open BambuCAM via desktop shortcut or at http://localhost\n\nThe installer will automatically:\n- Install Docker Desktop if needed\n- Configure WSL2 and port forwarding\n- Pull the latest Docker images\n- Create a desktop shortcut\n\n#### 📋 System Requirements\n\n- Windows 10/11\n- 4 GB RAM\n- 2 GB free disk space\n- Available Ports:\n  - 80 (Web Interface)\n  - 1984 (go2rtc)\n  - 4000 (Backend API)\n\n\n#### 🔧 Uninstallation\n\n1. Run `docker compose down` in the installation directory\n2. Delete the folder `%LOCALAPPDATA%\\BambuCAM`\n3. Remove the desktop shortcut\n\n#### ❓ Troubleshooting\n\nIf you encounter issues:\n1. Make sure Docker Desktop is running\n2. Check if port 3000 is not in use by another application\n3. Open an issue on GitHub\n\n### Method 3: Manual Installation (Linux)\n\nFor users who want to build from source:\n\n#### Quick Start Installation\n1. Clone repository:\n```bash\ngit clone https://github.com/BangerTech/BambuCAM.git\ncd BambuCAM\n```\n\n2. Start Docker Compose:\n```bash\ndocker compose -f docker-compose.dev.yml up --build\n```\n\n3. Open in browser:\n```bash\nhttp://localhost:3000\n```\n\n## Printer Setup\n\n### Requirements\n- BambuLab printer (local network or cloud)\n- Camera enabled in printer settings\n\n### Adding a Printer\n#### Local Printer\n1. Click \"Add Printer\" in the app\n2. Enter a name for the printer\n3. Enter the printer's IP address\n4. Enter Access Code (found in printer settings under \"Network\")\n5. Click \"Add\"\n\n#### Cloud Printer\n1. Click \"Add Printer\" and select \"Cloud Printer\"\n2. Log in with your Bambu Lab account\n3. Select your printer from the list\n4. Click \"Add\"\n\n## Technologies\n- React.js Frontend\n- Node.js Backend\n- Docker \u0026 Docker Compose\n- go2rtc Stream Processing\n- nginx Reverse Proxy\n\n## Troubleshooting\n\nIf you cannot connect to the printer:\n1. Check if the printer is powered on and connected to the network\n2. Verify you are using the correct IP address\n3. Verify the Access Code is correct\n4. Check if \"LAN Only Mode\" is enabled\n5. Restart the printer\n\n## Support\n\nFor issues or questions, please create a [GitHub Issue](https://github.com/BangerTech/BambuCAM/issues).\n\n\n## Sponsorship\n\n\u003ca href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=FD26FHKRWS3US\" target=\"_blank\"\u003e\u003cimg src=\"https://pics.paypal.com/00/s/N2EwMzk4NzUtOTQ4Yy00Yjc4LWIwYmUtMTA3MWExNWIzYzMz/file.PNG\" alt=\"SUPPORT\" height=\"51\"\u003e\u003c/a\u003e\n\n## Keywords\n`bambulab` `3d-printer` `camera-viewer` `monitoring` `docker` `react` `rtsp-stream` \n`printer-management` `web-interface` `live-stream` `temperature-monitoring` \n`print-progress` `open-source`\n\n## Configuration\n\n### Stream Settings\nThe stream quality is automatically optimized. For manual adjustments, you can edit the go2rtc configuration in `backend/data/go2rtc/go2rtc.yaml`.\n\n### Network Configuration\nMake sure the required ports (80, 1984, 4000) are available and not blocked by your firewall.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbangertech%2Fbambucam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbangertech%2Fbambucam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbangertech%2Fbambucam/lists"}