notion2api / Dockerfile
clash-linux's picture
Upload 9 files
5f420cb verified
# Use an official Python runtime as a parent image
FROM python:3.10-slim
# Set the working directory in the container
WORKDIR /app
# Copy the requirements file into the container at /app
COPY requirements.txt .
# Install any needed packages specified in requirements.txt
# Use --no-cache-dir to reduce image size
# Use --upgrade to ensure latest versions are installed
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Install Playwright browser binaries to a persistent, accessible location
ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright
RUN playwright install chromium --with-deps
# Copy the current directory contents into the container at /app
COPY main.py .
COPY models.py .
# Make port 8000 available to the world outside this container
EXPOSE 7860
# Define environment variables (placeholders, will be set at runtime on Hugging Face)
# Use NOTION_COOKIES for multiple account support.
# PROXY_AUTH_TOKEN and PROXY_URL are also used by the application.
ENV NOTION_COOKIES=""
ENV PROXY_AUTH_TOKEN="default_token"
ENV PROXY_URL=""
# Run uvicorn when the container launches
# Use 0.0.0.0 to make it accessible externally
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]