# TODO: investigate using -alpine in the future
FROM python:3.11-bookworm

# Install system dependencies and poetry
RUN apt-get update && apt-get install -y \
    iputils-ping portaudio19-dev\
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app

COPY ./pyproject.toml .
COPY ./src/ .

RUN sed /^StrictHostKeyChecking/d /etc/ssh/ssh_config; \
echo StrictHostKeyChecking no >> /etc/ssh/ssh_config

# Install poetry
RUN pip install poetry

RUN poetry config virtualenvs.create false
RUN poetry config --list

RUN --mount=type=ssh,required=true \ 
    --mount=type=cache,target=/root/.cache \
    poetry install --verbose

# Debug: Verify packages were installed
RUN which python
RUN pip list

#poetry config virtualenvs.create false

# make sure to install sudo apt install docker-buildx
# make sure to set IdentityFile /home/pstruebi/.ssh/id_ed25519 in ~/.ssh/config -maybe not nececcary
# example build commands:

# docker build --ssh default .
# docker build --ssh default=~/.ssh/id_rsa .       
# docker build --ssh default -t bumble-auracast:latest .    

# example run commands
# interactive:
# docker run --rm -it --device /dev/serial/by-id/usb-ZEPHYR_Zephyr_HCI_UART_sample_81BD14B8D71B5662-if00 bumble-auracast bash


#/usr/local/bin/python