FROM node:22 COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ RUN apt-get update && apt-get install -y git rsync USER node ENV HOME=/home/node PATH=/home/node/.local/bin:$PATH WORKDIR $HOME/app COPY --chown=node lynxkite-bio ./lynxkite-bio COPY --chown=node lynxkite-llm-training ./lynxkite-llm-training COPY --chown=node lynxkite-lynxscribe ./lynxkite-lynxscribe COPY --chown=node pyproject.toml uv.lock .python-version ./ ENV GIT_SSH_COMMAND="ssh -i /run/secrets/LYNXSCRIBE_DEPLOY_KEY -o StrictHostKeyChecking=no" RUN --mount=type=secret,id=LYNXSCRIBE_DEPLOY_KEY,mode=0444,required=true \ uv venv && uv sync COPY --chown=node examples ./examples RUN git clone --depth 1 https://github.com/lynxkite/lynxkite-2000.git RUN rsync -vr --ignore-existing lynxkite-2000/examples/* ./examples/ WORKDIR $HOME/app/examples ENV PORT=7860 CMD ["uv", "run", "--no-sync", "lynxkite"]