Files
attack-defense-platform/services/cdn/Dockerfile
T
2025-10-11 13:08:07 +07:00

39 lines
963 B
Docker

FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
DEBIAN_FRONTEND=noninteractive
WORKDIR /app
# System deps: exiftool + sshd + bash (sqlite CLI not required for Python sqlite3)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libimage-exiftool-perl \
openssh-server \
bash \
&& rm -rf /var/lib/apt/lists/*
# Unprivileged user for the app / SSH
RUN useradd -m -d /home/ctfuser -s /bin/bash ctfuser
# SSH minimal setup
RUN mkdir -p /run/sshd && chmod 755 /run/sshd && ssh-keygen -A
COPY chall/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY /chall /app
RUN chmod +x /app/entrypoint.sh && mkdir -p /app/uploads && chmod 755 /app/uploads
RUN mkdir -p /data /app/uploads /run/sshd \
&& chown -R ctfuser:ctfuser /app /app/uploads /data \
&& chmod 755 /app
EXPOSE 8000
EXPOSE 22
ENTRYPOINT ["/bin/bash", "/app/entrypoint.sh"]