FROM python:3.12-slim ENV PYTHONUNBUFFERED=1 \ PIP_NO_CACHE_DIR=1 \ PIP_DISABLE_PIP_VERSION_CHECK=1 # git is required for clone/pull/push; openssh-client for ssh remotes (future). RUN apt-get update \ && apt-get install -y --no-install-recommends git openssh-client ca-certificates tini \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY requirements.txt /app/requirements.txt RUN pip install -r requirements.txt COPY catalog.py /app/catalog.py COPY templates /app/templates # Forge globally so the bot identity persists even if env vars get dropped. RUN git config --global user.name "obsidian-ai" \ && git config --global user.email "obsidian-ai@s8n.ru" \ && git config --global pull.rebase true \ && git config --global init.defaultBranch main EXPOSE 5055 ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["python", "/app/catalog.py"]