1
0
Fork 0
mirror of https://github.com/maziggy/bambuddy.git synced 2026-05-09 08:25:54 +02:00

[GH-ISSUE #924] [Bug Report] ssh to spoolbuddy for update errors with uid1000 not exist #638

Closed
opened 2026-05-07 00:12:18 +02:00 by BreizhHardware · 8 comments

Originally created by @maziggy on GitHub (Apr 9, 2026).
Original GitHub issue: https://github.com/maziggy/bambuddy/issues/924

Originally assigned to: @maziggy on GitHub.

ssh to spoolbuddy for update errors with uid1000 not exist

System Information
{
  "generated_at": "2026-04-09T10:18:31.951293",
  "app": {
    "version": "0.2.3b2",
    "debug_mode": false
  },
  "system": {
    "platform": "Linux",
    "platform_release": "6.12.75+rpt-rpi-v8",
    "platform_version": "#1 SMP PREEMPT Debian 1:6.12.75-1+rpt1 (2026-03-11)",
    "architecture": "aarch64",
    "python_version": "3.13.12"
  },
  "environment": {
    "docker": true,
    "data_dir": "/app/data",
    "log_dir": "/app/logs",
    "timezone": "Europe/Berlin"
  },
  "database": {
    "archives_total": 19,
    "archives_completed": 19,
    "printers_total": 1,
    "filaments_total": 0,
    "projects_total": 1,
    "smart_plugs_total": 2
  },
  "printers": [
    {
      "index": 1,
      "model": "H2C",
      "nozzle_count": 2,
      "is_active": true,
      "mqtt_connected": false,
      "state": "unknown",
      "firmware_version": null,
      "wifi_signal": null,
      "reachable": false,
      "ams_unit_count": 0,
      "ams_tray_count": 0,
      "has_vt_tray": false,
      "external_camera_configured": false,
      "plate_detection_enabled": false,
      "hms_error_count": 0,
      "developer_mode": null,
      "nozzle_rack_count": 0
    }
  ],
  "settings": {
    "auth_enabled": "false",
    "setup_completed": "true",
    "auto_archive": "true",
    "save_thumbnails": "true",
    "capture_finish_photo": "true",
    "default_filament_cost": "25.0",
    "currency": "EUR",
    "energy_cost_per_kwh": "0.3",
    "energy_tracking_mode": "total",
    "check_updates": "true",
    "check_printer_firmware": "true",
    "include_beta_updates": "true",
    "notification_language": "de",
    "bed_cooled_threshold": "35.0",
    "ams_humidity_good": "40",
    "ams_humidity_fair": "60",
    "ams_temp_good": "28.0",
    "ams_temp_fair": "35.0",
    "ams_history_retention_days": "30",
    "per_printer_mapping_expanded": "false",
    "date_format": "eu",
    "time_format": "24h",
    "default_printer_id": "1",
    "ftp_retry_enabled": "true",
    "ftp_retry_count": "3",
    "ftp_retry_delay": "2",
    "ftp_timeout": "30",
    "mqtt_enabled": "false",
    "mqtt_broker": "",
    "mqtt_port": "1883",
    "mqtt_topic_prefix": "bambuddy",
    "mqtt_use_tls": "false",
    "ha_enabled": "true",
    "library_archive_mode": "ask",
    "library_disk_warning_gb": "5.0",
    "camera_view_mode": "embedded",
    "preferred_slicer": "bambu_studio",
    "prometheus_enabled": "false",
    "language": "de",
    "queue_drying_enabled": "false",
    "queue_drying_block": "false",
    "ambient_drying_enabled": "false",
    "drying_presets": "",
    "advanced_auth_enabled": "false",
    "smtp_auth_enabled": "true",
    "disable_filament_warnings": "false",
    "user_notifications_enabled": "true",
    "prefer_lowest_filament": "false",
    "default_bed_levelling": "true",
    "default_flow_cali": "true",
    "default_vibration_cali": "true",
    "default_layer_inspect": "false",
    "default_timelapse": "false",
    "stagger_group_size": "2",
    "stagger_interval_minutes": "5",
    "require_plate_clear": "true",
    "debug_logging_enabled": "false",
    "debug_logging_enabled_at": ""
  },
  "docker": {
    "container_memory_limit_bytes": null,
    "container_memory_limit_formatted": null,
    "network_mode_hint": "host"
  },
  "virtual_printers": [
    {
      "index": 1,
      "enabled": false,
      "mode": "proxy",
      "model": "O1C",
      "model_name": "H2C",
      "has_target_printer": true,
      "has_bind_ip": true,
      "running": false,
      "pending_files": 0
    }
  ],
  "integrations": {
    "notification_providers": [
      {
        "type": "homeassistant",
        "enabled": true,
        "has_last_error": false
      }
    ],
    "spoolman": {
      "enabled": false,
      "reachable": false
    },
    "mqtt_relay": {
      "enabled": false,
      "connected": false,
      "broker": "",
      "port": 0,
      "topic_prefix": "bambuddy"
    },
    "homeassistant": {
      "enabled": true
    }
  },
  "database_health": {
    "backend": "sqlite",
    "journal_mode": "wal",
    "quick_check": "ok",
    "db_size_bytes": 1343488,
    "wal_size_bytes": 642752
  },
  "dependencies": {
    "fastapi": "0.135.3",
    "uvicorn": "0.44.0",
    "pydantic": "2.12.5",
    "sqlalchemy": "2.0.49",
    "paho-mqtt": "2.1.0",
    "psutil": "7.2.2",
    "httpx": "0.28.1",
    "aiofiles": "25.1.0",
    "cryptography": "46.0.7",
    "opencv-python-headless": "4.13.0.92",
    "numpy": "2.4.4"
  },
  "log_file": {
    "size_bytes": 2122828,
    "size_formatted": "2.0 MB"
  },
  "network": {
    "interface_count": 2,
    "interfaces": [
      {
        "name": "eth0",
        "subnet": "x.x.2.0/24"
      },
      {
        "name": "ccu-shim",
        "subnet": "x.x.2.13/32"
      }
    ]
  },
  "websockets": {
    "active_connections": 2
  }
}

Logs (sanitized): bambuddy.log


Submitted via BamBuddy Bug Report

Originally created by @maziggy on GitHub (Apr 9, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/924 Originally assigned to: @maziggy on GitHub. ssh to spoolbuddy for update errors with uid1000 not exist <details> <summary>System Information</summary> ```json { "generated_at": "2026-04-09T10:18:31.951293", "app": { "version": "0.2.3b2", "debug_mode": false }, "system": { "platform": "Linux", "platform_release": "6.12.75+rpt-rpi-v8", "platform_version": "#1 SMP PREEMPT Debian 1:6.12.75-1+rpt1 (2026-03-11)", "architecture": "aarch64", "python_version": "3.13.12" }, "environment": { "docker": true, "data_dir": "/app/data", "log_dir": "/app/logs", "timezone": "Europe/Berlin" }, "database": { "archives_total": 19, "archives_completed": 19, "printers_total": 1, "filaments_total": 0, "projects_total": 1, "smart_plugs_total": 2 }, "printers": [ { "index": 1, "model": "H2C", "nozzle_count": 2, "is_active": true, "mqtt_connected": false, "state": "unknown", "firmware_version": null, "wifi_signal": null, "reachable": false, "ams_unit_count": 0, "ams_tray_count": 0, "has_vt_tray": false, "external_camera_configured": false, "plate_detection_enabled": false, "hms_error_count": 0, "developer_mode": null, "nozzle_rack_count": 0 } ], "settings": { "auth_enabled": "false", "setup_completed": "true", "auto_archive": "true", "save_thumbnails": "true", "capture_finish_photo": "true", "default_filament_cost": "25.0", "currency": "EUR", "energy_cost_per_kwh": "0.3", "energy_tracking_mode": "total", "check_updates": "true", "check_printer_firmware": "true", "include_beta_updates": "true", "notification_language": "de", "bed_cooled_threshold": "35.0", "ams_humidity_good": "40", "ams_humidity_fair": "60", "ams_temp_good": "28.0", "ams_temp_fair": "35.0", "ams_history_retention_days": "30", "per_printer_mapping_expanded": "false", "date_format": "eu", "time_format": "24h", "default_printer_id": "1", "ftp_retry_enabled": "true", "ftp_retry_count": "3", "ftp_retry_delay": "2", "ftp_timeout": "30", "mqtt_enabled": "false", "mqtt_broker": "", "mqtt_port": "1883", "mqtt_topic_prefix": "bambuddy", "mqtt_use_tls": "false", "ha_enabled": "true", "library_archive_mode": "ask", "library_disk_warning_gb": "5.0", "camera_view_mode": "embedded", "preferred_slicer": "bambu_studio", "prometheus_enabled": "false", "language": "de", "queue_drying_enabled": "false", "queue_drying_block": "false", "ambient_drying_enabled": "false", "drying_presets": "", "advanced_auth_enabled": "false", "smtp_auth_enabled": "true", "disable_filament_warnings": "false", "user_notifications_enabled": "true", "prefer_lowest_filament": "false", "default_bed_levelling": "true", "default_flow_cali": "true", "default_vibration_cali": "true", "default_layer_inspect": "false", "default_timelapse": "false", "stagger_group_size": "2", "stagger_interval_minutes": "5", "require_plate_clear": "true", "debug_logging_enabled": "false", "debug_logging_enabled_at": "" }, "docker": { "container_memory_limit_bytes": null, "container_memory_limit_formatted": null, "network_mode_hint": "host" }, "virtual_printers": [ { "index": 1, "enabled": false, "mode": "proxy", "model": "O1C", "model_name": "H2C", "has_target_printer": true, "has_bind_ip": true, "running": false, "pending_files": 0 } ], "integrations": { "notification_providers": [ { "type": "homeassistant", "enabled": true, "has_last_error": false } ], "spoolman": { "enabled": false, "reachable": false }, "mqtt_relay": { "enabled": false, "connected": false, "broker": "", "port": 0, "topic_prefix": "bambuddy" }, "homeassistant": { "enabled": true } }, "database_health": { "backend": "sqlite", "journal_mode": "wal", "quick_check": "ok", "db_size_bytes": 1343488, "wal_size_bytes": 642752 }, "dependencies": { "fastapi": "0.135.3", "uvicorn": "0.44.0", "pydantic": "2.12.5", "sqlalchemy": "2.0.49", "paho-mqtt": "2.1.0", "psutil": "7.2.2", "httpx": "0.28.1", "aiofiles": "25.1.0", "cryptography": "46.0.7", "opencv-python-headless": "4.13.0.92", "numpy": "2.4.4" }, "log_file": { "size_bytes": 2122828, "size_formatted": "2.0 MB" }, "network": { "interface_count": 2, "interfaces": [ { "name": "eth0", "subnet": "x.x.2.0/24" }, { "name": "ccu-shim", "subnet": "x.x.2.13/32" } ] }, "websockets": { "active_connections": 2 } } ``` </details> **Logs (sanitized):** [bambuddy.log](https://raw.githubusercontent.com/maziggy/bambuddy/bug-report-assets/logs/57f24d9205af462e84d36f72fde81c92.log) --- *Submitted via BamBuddy Bug Report*
BreizhHardware 2026-05-07 00:12:18 +02:00
Author
Owner

@TravisWilder commented on GitHub (Apr 9, 2026):

spoolbuddy shows: SSH connection failed no user exist for uid 1000

Spoolbuddy is installed on Pi4 with default Pi OS images and installed with install.sh in standalone mode
Bambuddy runs in docker (compose) on an other Pi4

<!-- gh-comment-id:4212702234 --> @TravisWilder commented on GitHub (Apr 9, 2026): spoolbuddy shows: SSH connection failed no user exist for uid 1000 Spoolbuddy is installed on Pi4 with default Pi OS images and installed with install.sh in standalone mode Bambuddy runs in docker (compose) on an other Pi4
Author
Owner

@maziggy commented on GitHub (Apr 9, 2026):

  • Was the Raspbian image modified with RPI-Imager?
  • How do you installed Bambuddy on the second RPI?
  • Error logs from install.sh? (If you are saying that a user id is missing, there must be an error message)
  • Your debug logs have too few data. Please run debug log colection for a loger time while trying to conect via Spoolbuddy
<!-- gh-comment-id:4212894530 --> @maziggy commented on GitHub (Apr 9, 2026): - Was the Raspbian image modified with RPI-Imager? - How do you installed Bambuddy on the second RPI? - Error logs from install.sh? (If you are saying that a user id is missing, there must be an error message) - Your debug logs have too few data. Please run debug log colection for a loger time while trying to conect via Spoolbuddy
Author
Owner

@TravisWilder commented on GitHub (Apr 9, 2026):

Was the Raspbian image modified with RPI-Imager?

yes on WIFI / Hostname and user ssh key (the normal options)

How do you installed Bambuddy on the second RPI?
Bumbuddy : docker compose
Spoolbuddy: install.sh

Error logs from install.sh?

The install of spoolbuddy worked without any errors
Spoolbuddy install has uid 1000
Docker host has uid1000
Docker container (Bumbuddy) has no user id 1000

Docker Compose

services:
  bambuddy:
    image: ghcr.io/maziggy/bambuddy:daily
    #image: ghcr.io/maziggy/bambuddy:latest
    build: .
    # Usage:
    #   docker compose up -d          → pulls pre-built image from ghcr.io
    #   docker compose up -d --build  → builds locally from source
    container_name: bambuddy
    # Run as current user to avoid permission issues with mounted volumes
    # Override with: PUID=$(id -u) PGID=$(id -g) docker compose up -d
    user: "${PUID:-1000}:${PGID:-1000}"
    #
    # Proxy mode: allow binding to port 990 (FTP) as non-root user.
    # Without this, the FTP proxy silently fails and sending prints won't work.
    cap_add:
      - NET_BIND_SERVICE
    #
    # LINUX: Use host mode for printer discovery and camera streaming
    network_mode: host
    #
    # macOS/WINDOWS: Docker Desktop doesn't support host mode.
    # Comment out "network_mode: host" above and uncomment "ports:" below.
    # Note: Printer discovery won't work - add printers manually by IP.
    #ports:
    #  - "${PORT:-8000}:8000"
    #  - "3000:3000"                  # Virtual printer bind/detect
    #  - "3002:3002"                  # Virtual printer bind/detect
    #  - "8883:8883"                  # Virtual printer MQTT
    #  - "9990:9990"                  # Virtual printer FTP control
    #  - "50000-50100:50000-50100"    # Virtual printer FTP passive data
    volumes:
      - bambuddy_data:/app/data
      - bambuddy_logs:/app/logs
      #
      # Share virtual printer certs with native installation
      # This ensures the slicer only needs to trust one CA certificate.
      - ./virtual_printer:/app/data/virtual_printer
    environment:
      - BIND_IP=192.168.1.14
      - TZ=${TZ:-Europe/Berlin}
      # Port BamBuddy runs on (default: 8000)
      # Usage: PORT=8080 docker compose up -d
      - PORT=${PORT:-80}
      # Virtual printer: Set to the Docker host's IP when using bridge mode (ports:).
      # Required for FTP passive mode to work behind NAT.
      # Example: VIRTUAL_PRINTER_PASV_ADDRESS=192.168.1.100
      #- VIRTUAL_PRINTER_PASV_ADDRESS=
    restart: unless-stopped

volumes:
  bambuddy_data:
  bambuddy_logs:

new log does not show much more
Spoolbuddy rebooted (you see the disconnect)

bambuddy.log

Image

sorry not the best pic

<!-- gh-comment-id:4213505406 --> @TravisWilder commented on GitHub (Apr 9, 2026): > Was the Raspbian image modified with RPI-Imager? yes on WIFI / Hostname and user ssh key (the normal options) > How do you installed Bambuddy on the second RPI? Bumbuddy : docker compose Spoolbuddy: install.sh > Error logs from install.sh? The install of spoolbuddy worked without any errors Spoolbuddy install has uid 1000 Docker host has uid1000 Docker container (Bumbuddy) has no user id 1000 Docker Compose ``` services: bambuddy: image: ghcr.io/maziggy/bambuddy:daily #image: ghcr.io/maziggy/bambuddy:latest build: . # Usage: # docker compose up -d → pulls pre-built image from ghcr.io # docker compose up -d --build → builds locally from source container_name: bambuddy # Run as current user to avoid permission issues with mounted volumes # Override with: PUID=$(id -u) PGID=$(id -g) docker compose up -d user: "${PUID:-1000}:${PGID:-1000}" # # Proxy mode: allow binding to port 990 (FTP) as non-root user. # Without this, the FTP proxy silently fails and sending prints won't work. cap_add: - NET_BIND_SERVICE # # LINUX: Use host mode for printer discovery and camera streaming network_mode: host # # macOS/WINDOWS: Docker Desktop doesn't support host mode. # Comment out "network_mode: host" above and uncomment "ports:" below. # Note: Printer discovery won't work - add printers manually by IP. #ports: # - "${PORT:-8000}:8000" # - "3000:3000" # Virtual printer bind/detect # - "3002:3002" # Virtual printer bind/detect # - "8883:8883" # Virtual printer MQTT # - "9990:9990" # Virtual printer FTP control # - "50000-50100:50000-50100" # Virtual printer FTP passive data volumes: - bambuddy_data:/app/data - bambuddy_logs:/app/logs # # Share virtual printer certs with native installation # This ensures the slicer only needs to trust one CA certificate. - ./virtual_printer:/app/data/virtual_printer environment: - BIND_IP=192.168.1.14 - TZ=${TZ:-Europe/Berlin} # Port BamBuddy runs on (default: 8000) # Usage: PORT=8080 docker compose up -d - PORT=${PORT:-80} # Virtual printer: Set to the Docker host's IP when using bridge mode (ports:). # Required for FTP passive mode to work behind NAT. # Example: VIRTUAL_PRINTER_PASV_ADDRESS=192.168.1.100 #- VIRTUAL_PRINTER_PASV_ADDRESS= restart: unless-stopped volumes: bambuddy_data: bambuddy_logs: ``` new log does not show much more Spoolbuddy rebooted (you see the disconnect) [bambuddy.log](https://github.com/user-attachments/files/26600359/bambuddy.log) <img width="1280" height="791" alt="Image" src="https://github.com/user-attachments/assets/cb6f0a14-c483-4212-a418-1cdb94795cb5" /> sorry not the best pic
Author
Owner

@maziggy commented on GitHub (Apr 9, 2026):

Docker container (Bumbuddy) has no user id 1000

Fixed in dev branch.

<!-- gh-comment-id:4213620552 --> @maziggy commented on GitHub (Apr 9, 2026): > Docker container (Bumbuddy) has no user id 1000 Fixed in dev branch.
Author
Owner

@TravisWilder commented on GitHub (Apr 10, 2026):

Docker container (Bumbuddy) has no user id 1000

Fixed in dev branch.

Fixed for SSH keygen ( by converting create_subprocess_exec function)
But the _run_ssh_command still uses create_subprocess_exec and the update trigger shows still the error shown in the picture

it could be an option to add a user to the image with id 1000

like
RUN useradd -u 1000 -m appuser

<!-- gh-comment-id:4221934195 --> @TravisWilder commented on GitHub (Apr 10, 2026): > > Docker container (Bumbuddy) has no user id 1000 > > Fixed in dev branch. Fixed for SSH keygen ( by converting create_subprocess_exec function) But the _run_ssh_command still uses create_subprocess_exec and the update trigger shows still the error shown in the picture it could be an option to add a user to the image with id 1000 like RUN useradd -u 1000 -m appuser
Author
Owner

@maziggy commented on GitHub (Apr 10, 2026):

Docker container (Bumbuddy) has no user id 1000

Fixed in dev branch.

Fixed for SSH keygen ( by converting create_subprocess_exec function) But the _run_ssh_command still uses create_subprocess_exec and the update trigger shows still the error shown in the picture

it could be an option to add a user to the image with id 1000

like RUN useradd -u 1000 -m appuser

Fixed in branch dev. Also improved the update function.

<!-- gh-comment-id:4222520249 --> @maziggy commented on GitHub (Apr 10, 2026): > > > Docker container (Bumbuddy) has no user id 1000 > > > > > > Fixed in dev branch. > > Fixed for SSH keygen ( by converting create_subprocess_exec function) But the _run_ssh_command still uses create_subprocess_exec and the update trigger shows still the error shown in the picture > > it could be an option to add a user to the image with id 1000 > > like RUN useradd -u 1000 -m appuser Fixed in branch dev. Also improved the update function.
Author
Owner

@TravisWilder commented on GitHub (Apr 10, 2026):

Thanks - I will test the next daily as soon as available

<!-- gh-comment-id:4222963030 --> @TravisWilder commented on GitHub (Apr 10, 2026): Thanks - I will test the next daily as soon as available
Author
Owner

@TravisWilder commented on GitHub (Apr 10, 2026):

check done - works

<!-- gh-comment-id:4225280169 --> @TravisWilder commented on GitHub (Apr 10, 2026): check done - works
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/bambuddy-maziggy-1#638
No description provided.