nca / Dockerfile
priaansh's picture
Update Dockerfile
ccd8475 verified
FROM stephengpope/no-code-architects-toolkit:latest
# Set non-sensitive environment variables
ENV MAX_QUEUE_LENGTH=10 \
GUNICORN_WORKERS=4 \
GUNICORN_TIMEOUT=300
# Load secrets from Hugging Face Secrets using Docker mounts
RUN --mount=type=secret,id=API_KEY,required=true \
export API_KEY=$(cat /run/secrets/API_KEY)
RUN --mount=type=secret,id=S3_ENDPOINT_URL,required=true \
export S3_ENDPOINT_URL=$(cat /run/secrets/S3_ENDPOINT_URL)
RUN --mount=type=secret,id=S3_ACCESS_KEY,required=true \
export S3_ACCESS_KEY=$(cat /run/secrets/S3_ACCESS_KEY)
RUN --mount=type=secret,id=S3_SECRET_KEY,required=true \
export S3_SECRET_KEY=$(cat /run/secrets/S3_SECRET_KEY)
RUN --mount=type=secret,id=S3_BUCKET_NAME,required=true \
export S3_BUCKET_NAME=$(cat /run/secrets/S3_BUCKET_NAME)
RUN --mount=type=secret,id=S3_REGION,required=true \
export S3_REGION=$(cat /run/secrets/S3_REGION)
# Install Python dependencies
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
# Copy project
COPY . .
# Re-export as ENV so the Python app can access them
ENV API_KEY=$API_KEY \
S3_ENDPOINT_URL=$S3_ENDPOINT_URL \
S3_ACCESS_KEY=$S3_ACCESS_KEY \
S3_SECRET_KEY=$S3_SECRET_KEY \
S3_BUCKET_NAME=$S3_BUCKET_NAME \
S3_REGION=$S3_REGION
EXPOSE 8080
CMD ["python", "app.py"]