# Use the circulartextapp/spaceread image as the base image FROM circulartextapp/spaceread # Create a new user for each space RUN useradd -m -u 1000 user # Switch to the new user USER user # Copy the current directory contents into the container at /app COPY . /app # Install dependencies RUN pip install -r requirements.txt # Set the entrypoint script as executable COPY entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh # Define the entrypoint script to handle user creation and application startup ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] # Default command to run if the user doesn't provide a command CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860", "--reload"]