[GH-ISSUE #1003] [Bug Report] Obico - I am using a reverse proxy with external authentication for access to my Bambudd #700

Closed
opened 2026-05-06 12:32:03 +02:00 by BreizhHardware · 5 comments

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

Originally assigned to: @maziggy on GitHub.

I am using a reverse proxy with external authentication for access to my Bambuddy interface. I am using Obico hosted on the same device as Bambuddy for AI machine learning detection. The AI Failure Detection setup tests working, but the ML API tries to call the external URL for the snapshot image. However, that call will fail as the ML API cannot perform the external authentication.

I would recommend including an option to allow the ML API to call an internal URL instead of external URL.

Screenshot

Reporter Contact

Email: fjen@felixjen.com

System Information
{
  "generated_at": "2026-04-16T15:04:23.581953",
  "app": {
    "version": "0.2.3b4",
    "debug_mode": false
  },
  "system": {
    "platform": "Linux",
    "platform_release": "6.8.0-94-generic",
    "platform_version": "#96~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 16 13:19:05 UTC 2",
    "architecture": "x86_64",
    "python_version": "3.13.13"
  },
  "environment": {
    "docker": true,
    "data_dir": "/app/data",
    "log_dir": "/app/logs",
    "timezone": "America/Chicago"
  },
  "database": {
    "archives_total": 107,
    "archives_completed": 82,
    "printers_total": 1,
    "filaments_total": 0,
    "projects_total": 1,
    "smart_plugs_total": 0
  },
  "printers": [
    {
      "index": 1,
      "model": "H2D",
      "nozzle_count": 2,
      "is_active": true,
      "mqtt_connected": true,
      "state": "RUNNING",
      "firmware_version": "01.03.00.00",
      "wifi_signal": -36,
      "reachable": true,
      "ams_unit_count": 2,
      "ams_tray_count": 4,
      "has_vt_tray": true,
      "external_camera_configured": false,
      "plate_detection_enabled": false,
      "hms_error_count": 1,
      "developer_mode": true,
      "nozzle_rack_count": 2
    }
  ],
  "settings": {
    "auth_enabled": "false",
    "setup_completed": "true",
    "auto_archive": "true",
    "save_thumbnails": "true",
    "capture_finish_photo": "true",
    "default_filament_cost": "25.0",
    "currency": "USD",
    "energy_cost_per_kwh": "0.15",
    "energy_tracking_mode": "total",
    "check_updates": "true",
    "check_printer_firmware": "true",
    "notification_language": "en",
    "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": "system",
    "time_format": "system",
    "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": "false",
    "library_archive_mode": "ask",
    "library_disk_warning_gb": "5.0",
    "camera_view_mode": "embedded",
    "preferred_slicer": "orcaslicer",
    "prometheus_enabled": "false",
    "virtual_printer_enabled": "false",
    "virtual_printer_mode": "print_queue",
    "virtual_printer_model": "O1D",
    "virtual_printer_target_printer_id": "1",
    "advanced_auth_enabled": "false",
    "smtp_auth_enabled": "true",
    "disable_filament_warnings": "false",
    "include_beta_updates": "true",
    "queue_drying_enabled": "true",
    "queue_drying_block": "false",
    "ambient_drying_enabled": "true",
    "drying_presets": "{\"PLA\":{\"n3f\":50,\"n3s\":50,\"n3f_hours\":12,\"n3s_hours\":12},\"PETG\":{\"n3f\":65,\"n3s\":65,\"n3f_hours\":12,\"n3s_hours\":12},\"TPU\":{\"n3f\":65,\"n3s\":70,\"n3f_hours\":12,\"n3s_hours\":18},\"ABS\":{\"n3f\":65,\"n3s\":75,\"n3f_hours\":12,\"n3s_hours\":8},\"ASA\":{\"n3f\":65,\"n3s\":80,\"n3f_hours\":12,\"n3s_hours\":8},\"PA\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":12},\"PC\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":8},\"PVA\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":18}}",
    "user_notifications_enabled": "true",
    "prefer_lowest_filament": "false",
    "default_bed_levelling": "true",
    "default_flow_cali": "true",
    "default_vibration_cali": "true",
    "default_layer_inspect": "true",
    "default_timelapse": "true",
    "stagger_group_size": "2",
    "stagger_interval_minutes": "5",
    "require_plate_clear": "true",
    "dark_style": "vibrant",
    "obico_enabled": "true",
    "obico_sensitivity": "medium",
    "obico_action": "pause",
    "obico_poll_interval": "10",
    "obico_enabled_printers": "",
    "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": "O1D",
      "model_name": "H2D",
      "has_target_printer": true,
      "has_bind_ip": true,
      "running": false,
      "pending_files": 0
    }
  ],
  "integrations": {
    "notification_providers": [],
    "spoolman": {
      "enabled": false,
      "reachable": false
    },
    "mqtt_relay": {
      "enabled": false,
      "connected": false,
      "broker": "",
      "port": 0,
      "topic_prefix": "bambuddy"
    },
    "homeassistant": {
      "enabled": false
    }
  },
  "database_health": {
    "backend": "sqlite",
    "journal_mode": "wal",
    "quick_check": "ok",
    "db_size_bytes": 4448256,
    "wal_size_bytes": 4169472
  },
  "dependencies": {
    "fastapi": "0.135.3",
    "uvicorn": "0.44.0",
    "pydantic": "2.13.0",
    "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": 2271166,
    "size_formatted": "2.2 MB"
  },
  "network": {
    "interface_count": 2,
    "interfaces": [
      {
        "name": "enp3s0",
        "subnet": "x.x.1.0/24"
      },
      {
        "name": "tailscale0",
        "subnet": "x.x.71.85/32"
      }
    ]
  },
  "websockets": {
    "active_connections": 1
  }
}

Logs (sanitized): bambuddy.log


Submitted via BamBuddy Bug Report

Originally created by @maziggy on GitHub (Apr 16, 2026). Original GitHub issue: https://github.com/maziggy/bambuddy/issues/1003 Originally assigned to: @maziggy on GitHub. I am using a reverse proxy with external authentication for access to my Bambuddy interface. I am using Obico hosted on the same device as Bambuddy for AI machine learning detection. The AI Failure Detection setup tests working, but the ML API tries to call the external URL for the snapshot image. However, that call will fail as the ML API cannot perform the external authentication. I would recommend including an option to allow the ML API to call an internal URL instead of external URL. ### Screenshot <details> <summary>Reporter Contact</summary> Email: fjen@felixjen.com </details> <details> <summary>System Information</summary> ```json { "generated_at": "2026-04-16T15:04:23.581953", "app": { "version": "0.2.3b4", "debug_mode": false }, "system": { "platform": "Linux", "platform_release": "6.8.0-94-generic", "platform_version": "#96~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Jan 16 13:19:05 UTC 2", "architecture": "x86_64", "python_version": "3.13.13" }, "environment": { "docker": true, "data_dir": "/app/data", "log_dir": "/app/logs", "timezone": "America/Chicago" }, "database": { "archives_total": 107, "archives_completed": 82, "printers_total": 1, "filaments_total": 0, "projects_total": 1, "smart_plugs_total": 0 }, "printers": [ { "index": 1, "model": "H2D", "nozzle_count": 2, "is_active": true, "mqtt_connected": true, "state": "RUNNING", "firmware_version": "01.03.00.00", "wifi_signal": -36, "reachable": true, "ams_unit_count": 2, "ams_tray_count": 4, "has_vt_tray": true, "external_camera_configured": false, "plate_detection_enabled": false, "hms_error_count": 1, "developer_mode": true, "nozzle_rack_count": 2 } ], "settings": { "auth_enabled": "false", "setup_completed": "true", "auto_archive": "true", "save_thumbnails": "true", "capture_finish_photo": "true", "default_filament_cost": "25.0", "currency": "USD", "energy_cost_per_kwh": "0.15", "energy_tracking_mode": "total", "check_updates": "true", "check_printer_firmware": "true", "notification_language": "en", "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": "system", "time_format": "system", "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": "false", "library_archive_mode": "ask", "library_disk_warning_gb": "5.0", "camera_view_mode": "embedded", "preferred_slicer": "orcaslicer", "prometheus_enabled": "false", "virtual_printer_enabled": "false", "virtual_printer_mode": "print_queue", "virtual_printer_model": "O1D", "virtual_printer_target_printer_id": "1", "advanced_auth_enabled": "false", "smtp_auth_enabled": "true", "disable_filament_warnings": "false", "include_beta_updates": "true", "queue_drying_enabled": "true", "queue_drying_block": "false", "ambient_drying_enabled": "true", "drying_presets": "{\"PLA\":{\"n3f\":50,\"n3s\":50,\"n3f_hours\":12,\"n3s_hours\":12},\"PETG\":{\"n3f\":65,\"n3s\":65,\"n3f_hours\":12,\"n3s_hours\":12},\"TPU\":{\"n3f\":65,\"n3s\":70,\"n3f_hours\":12,\"n3s_hours\":18},\"ABS\":{\"n3f\":65,\"n3s\":75,\"n3f_hours\":12,\"n3s_hours\":8},\"ASA\":{\"n3f\":65,\"n3s\":80,\"n3f_hours\":12,\"n3s_hours\":8},\"PA\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":12},\"PC\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":8},\"PVA\":{\"n3f\":65,\"n3s\":85,\"n3f_hours\":12,\"n3s_hours\":18}}", "user_notifications_enabled": "true", "prefer_lowest_filament": "false", "default_bed_levelling": "true", "default_flow_cali": "true", "default_vibration_cali": "true", "default_layer_inspect": "true", "default_timelapse": "true", "stagger_group_size": "2", "stagger_interval_minutes": "5", "require_plate_clear": "true", "dark_style": "vibrant", "obico_enabled": "true", "obico_sensitivity": "medium", "obico_action": "pause", "obico_poll_interval": "10", "obico_enabled_printers": "", "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": "O1D", "model_name": "H2D", "has_target_printer": true, "has_bind_ip": true, "running": false, "pending_files": 0 } ], "integrations": { "notification_providers": [], "spoolman": { "enabled": false, "reachable": false }, "mqtt_relay": { "enabled": false, "connected": false, "broker": "", "port": 0, "topic_prefix": "bambuddy" }, "homeassistant": { "enabled": false } }, "database_health": { "backend": "sqlite", "journal_mode": "wal", "quick_check": "ok", "db_size_bytes": 4448256, "wal_size_bytes": 4169472 }, "dependencies": { "fastapi": "0.135.3", "uvicorn": "0.44.0", "pydantic": "2.13.0", "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": 2271166, "size_formatted": "2.2 MB" }, "network": { "interface_count": 2, "interfaces": [ { "name": "enp3s0", "subnet": "x.x.1.0/24" }, { "name": "tailscale0", "subnet": "x.x.71.85/32" } ] }, "websockets": { "active_connections": 1 } } ``` </details> **Logs (sanitized):** [bambuddy.log](https://raw.githubusercontent.com/maziggy/bambuddy/bug-report-assets/logs/31bd68b144444b32a97d996b011db24b.log) --- *Submitted via BamBuddy Bug Report*
BreizhHardware 2026-05-06 12:32:03 +02:00
Author
Owner

@mrnoisytiger commented on GitHub (Apr 16, 2026):

@maziggy Mind removing the screenshot? It includes my external URL. Thank you!

<!-- gh-comment-id:4263055211 --> @mrnoisytiger commented on GitHub (Apr 16, 2026): @maziggy Mind removing the screenshot? It includes my external URL. Thank you!
Author
Owner

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

Removed the screenshot, but no worries, it's a private IP address ;)

<!-- gh-comment-id:4266047902 --> @maziggy commented on GitHub (Apr 17, 2026): Removed the screenshot, but no worries, it's a private IP address ;)
Author
Owner

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

Available/Fixed in branch dev and available with the next release or daily build. Please let me know if it works for you now.


If you find Bambuddy useful, please consider giving it a on GitHub — it helps others discover the project!

<!-- gh-comment-id:4266082541 --> @maziggy commented on GitHub (Apr 17, 2026): Available/Fixed in branch dev and available with the next release or daily build. Please let me know if it works for you now. ----- If you find Bambuddy useful, please consider giving it a ⭐ on [GitHub](https://github.com/maziggy/bambuddy) — it helps others discover the project!
Author
Owner

@mrnoisytiger commented on GitHub (Apr 17, 2026):

Wow thanks for the super quick fix! Very much appreciated!

<!-- gh-comment-id:4269197320 --> @mrnoisytiger commented on GitHub (Apr 17, 2026): Wow thanks for the super quick fix! Very much appreciated!
Author
Owner

@mrnoisytiger commented on GitHub (Apr 19, 2026):

@maziggy I know this issue is closed, but I saw the updated workaround of opening up the path. Confirming that workaround has solved the issue. Thanks!

<!-- gh-comment-id:4276588414 --> @mrnoisytiger commented on GitHub (Apr 19, 2026): @maziggy I know this issue is closed, but I saw the updated workaround of opening up the path. Confirming that workaround has solved the issue. Thanks!
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#700
No description provided.