FROM bitnami/python:3.12.5-debian-12-r0

ARG container_user=openg2p
ARG container_user_group=openg2p
ARG container_user_uid=1001
ARG container_user_gid=1001

RUN groupadd -g ${container_user_gid} ${container_user_group} \
  && useradd -mN -u ${container_user_uid} -G ${container_user_group} -s /bin/bash ${container_user}

WORKDIR /app

RUN install_packages libpq-dev \
  && apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives

RUN chown -R ${container_user}:${container_user_group} /app

ADD --chown=${container_user}:${container_user_group} . /app/src
ADD --chown=${container_user}:${container_user_group} main.py /app

RUN python3 -m venv venv \
  && . ./venv/bin/activate
RUN python3 -m pip install  \
    git+https://github.com/openg2p/openg2p-fastapi-common@v1.1.1\#subdirectory=openg2p-fastapi-common \
    git+https://github.com/openg2p/openg2p-fastapi-common@v1.1.1\#subdirectory=openg2p-fastapi-auth \
    git+https://github.com/openg2p/openg2p-g2pconnect-common@1.1.0\#subdirectory=openg2p-g2pconnect-common-lib \
    git+https://github.com/openg2p/openg2p-g2p-bridge@1.0\#subdirectory=openg2p-g2p-bridge-models \
    git+https://github.com/openg2p/openg2p-g2p-bridge@1.0\#subdirectory=openg2p-g2p-bridge-bank-connectors \
    ./src

USER ${container_user}

CMD celery -A main.celery_app worker -Q g2p_bridge_celery_worker_tasks --loglevel=info
