Skip to content

[Feature]: Add Docker support for reproducible setup and easier onboarding. #531

@priyan17singh

Description

@priyan17singh

Summary

This proposal suggests adding official Docker support to provide a consistent, reproducible environment for running PerceptionMetrics (CLI and GUI), reducing setup complexity and platform-specific issues.


❗ Problem

The project relies on several heavy and system-dependent libraries:

  • PyTorch
  • OpenCV
  • Open3D
  • pycocotools
  • ultralytics

Setting up these dependencies manually can lead to:

  • Platform-specific errors (e.g., DLL issues on Windows).
  • Missing system libraries in Linux environments.
  • Inconsistent behavior across machines.
  • Increased onboarding time for new contributors.

For example, when attempting to run the project in a minimal Linux/Windows environment, the application failed due to missing OpenGL libraries required by Open3D:

OSError: libGL.so.1: cannot open shared object file.
OSError: [WinError 1114] A dynamic link library (DLL) initialization routine failed.

This indicates that system-level dependencies are not explicitly managed.


Proposed Solution

Introduce containerized execution using Docker to standardize the runtime environment.

Scope of changes

  • Add a Dockerfile for CPU-based execution.
  • (Optional) Add Dockerfile.gpu for CUDA-enabled systems.
  • Add .dockerignore to optimize build context.
  • Update README with Docker usage instructions.

Impact

This enhancement improves developer experience, usability, and reliability of the project without affecting existing workflows.


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions