FROM itsafeaturemythic/mythic_python_base:latest

# --- ARGs que Mythic usa al construir payloads (mantenerlos) ---
ARG CA_CERTIFICATE
ARG NPM_REGISTRY
ARG PYPI_INDEX
ARG PYPI_INDEX_URL
ARG DOCKER_REGISTRY_MIRROR
ARG HTTP_PROXY
ARG HTTPS_PROXY

# --- Evita prompts (tzdata) y builds no reproducibles ---
ENV DEBIAN_FRONTEND=noninteractive \
    PIP_NO_CACHE_DIR=1

# --- Instala toolchain y utilidades necesarias para compilar agentes en C ---
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        apt-utils ca-certificates git zip make build-essential \
        libssl-dev zlib1g-dev libbz2-dev xz-utils tk-dev libffi-dev \
        liblzma-dev libsqlite3-dev protobuf-compiler mingw-w64 nasm docker.io && \
    rm -rf /var/lib/apt/lists/*

# Create the /tmp/converter directory For OLLVM
RUN mkdir -p /tmp/converter

# --- Reconfirma pip y setuptools actualizados (ya viene, pero por si acaso) ---
RUN python -m pip install --upgrade pip setuptools wheel

# --- Instala tus dependencias (sin reinstalar mythic-container) ---
COPY requirements.txt /
RUN pip install --no-cache-dir --no-deps -r /requirements.txt

# --- Variables de entorno necesarias para comunicación con Mythic Core ---
ENV MYTHIC_SERVER_HOST="mythic_server"
ENV MYTHIC_SERVER_PORT="17443"
ENV MYTHIC_SERVER_USERNAME="mythic_admin"
ENV MYTHIC_SERVER_PASSWORD="mythic_password"

# --- Variables de entorno para Syslog Logging Container (opcional) ---
# El logger lee la configuración desde logger/syslog.conf (recomendado)
# También puede leer desde variables de entorno si están configuradas
ENV SYSLOG_SERVER=""
ENV SYSLOG_PORT="514"
ENV SYSLOG_FACILITY="16"

# --- Copia tu código de translator ---
# This COPY ensures local changes are included when USE_BUILD_CONTEXT=true
WORKDIR /Mythic/
COPY ./ /Mythic/angerona/

# --- Comando por defecto ---
CMD ["python3", "main.py"]
