Initial commit
This commit is contained in:
52
Dockerfile
Normal file
52
Dockerfile
Normal file
@@ -0,0 +1,52 @@
|
||||
# Use an official Python runtime as a parent image
|
||||
FROM python:3.11-slim
|
||||
|
||||
# Set environment variables for default paths and settings
|
||||
# These can be overridden at runtime using 'docker run -e VAR=VALUE ...'
|
||||
ENV INPUT_DIR=/data/input
|
||||
ENV OUTPUT_DIR=/data/output
|
||||
ENV PROCESSED_DIR=/data/processed
|
||||
ENV ERROR_DIR=/data/error
|
||||
ENV LOG_LEVEL=INFO
|
||||
ENV POLL_INTERVAL=5
|
||||
ENV PROCESS_DELAY=2
|
||||
# Calculate default workers based on typical container limits (can be overridden)
|
||||
# This is a guess; adjust if needed or rely solely on runtime override.
|
||||
ENV NUM_WORKERS=2
|
||||
|
||||
# Set the working directory in the container
|
||||
WORKDIR /app
|
||||
|
||||
# Install system dependencies that might be needed by opencv-python or openexr
|
||||
# (These are common dependencies; adjust if specific errors occur during build/runtime)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libgl1-mesa-glx \
|
||||
libglib2.0-0 \
|
||||
libsm6 \
|
||||
libxext6 \
|
||||
libxrender1 \
|
||||
# Add dependencies for OpenEXR if needed (libopenexr-dev might be too large, check specific libs)
|
||||
# libopenexr25 # Example for Debian Bullseye/Bookworm, adjust based on base image OS version
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy the specific requirements file for the Docker image
|
||||
COPY requirements-docker.txt .
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir -r requirements-docker.txt
|
||||
|
||||
# Copy the application code into the container
|
||||
COPY main.py .
|
||||
COPY monitor.py .
|
||||
COPY asset_processor.py .
|
||||
COPY configuration.py .
|
||||
COPY config.py .
|
||||
|
||||
# Copy the presets directory
|
||||
COPY Presets/ ./Presets/
|
||||
|
||||
# Make port 80 available to the world outside this container (if needed later, e.g., for a health check endpoint)
|
||||
# EXPOSE 80
|
||||
|
||||
# Define the command to run the application
|
||||
CMD ["python", "monitor.py"]
|
||||
Reference in New Issue
Block a user