# Use a slim Python base image FROM python:3.13.5-slim # Set the working directory in the container WORKDIR /app # Install system dependencies, including nmap and gobuster # Using --no-install-recommends keeps the image size smaller RUN apt-get update && apt-get install -y --no-install-recommends \ nmap \ gobuster \ curl \ && rm -rf /var/lib/apt/lists/* # Copy all the necessary application files from your repository root COPY requirements.txt ./ COPY app.py ./ COPY cybersecurity_pipeline.py ./ COPY wordlist.txt ./ COPY .streamlit/ ./.streamlit/ # Install Python dependencies without caching to keep the image lean RUN pip3 install --no-cache-dir -r requirements.txt # Expose the port that Streamlit will run on EXPOSE 8501 # Add a healthcheck to ensure the app is running correctly HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health # Define the entrypoint to run the correct Streamlit application file ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]