uploadkro / Dockerfile
triflix's picture
Update Dockerfile
b8facd5 verified
FROM python:3.9-slim
WORKDIR /app
# Create directories that the application might need to write to or expect to exist.
# These are created by root during the build.
RUN mkdir -p /app/templates \
/app/static \
/app/uploaded_files
# Copy application code
COPY ./app.py /app/
COPY ./templates/ /app/templates/
# If you had local static files, you'd copy them here:
# COPY ./static/ /app/static/
# Grant write permissions to the 'uploaded_files' directory for the user running the app.
# Hugging Face Spaces (and many other container platforms) often run containers
# as a non-root user (e.g., UID 1000).
# We give ownership to user 1000 and group 1000.
# You could also use `chmod -R 777 /app/uploaded_files` but chown is more specific.
RUN chown -R 1000:1000 /app/uploaded_files \
&& chmod -R u+w /app/uploaded_files # Ensure the owner (user 1000) has write permissions
# Install dependencies
RUN pip install --no-cache-dir fastapi "uvicorn[standard]" aiofiles Jinja2 python-multipart
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]