Spaces:
Paused
Paused
| # Use an official Python 3.11 image as the base | |
| FROM python:3.11-slim | |
| # Install system dependencies for Caddy | |
| RUN apt-get update && apt-get install -y debian-keyring debian-archive-keyring apt-transport-https curl gnupg2 | |
| # Add Caddy's GPG key and repository | |
| RUN curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg \ | |
| && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list | |
| # Update and install Caddy | |
| RUN apt-get update && apt-get install -y caddy | |
| # Create Caddyfile for reverse proxy | |
| RUN echo ":7860 {\n \ | |
| reverse_proxy localhost:8080\n \ | |
| }" > /etc/caddy/Caddyfile | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| ENV PATH="/home/user/.local/bin:$PATH" | |
| # Set the working directory | |
| WORKDIR /app | |
| # Reset pip source to ensure it's using pypi.org and upgrade pip | |
| RUN pip config set global.index-url https://pypi.org/simple \ | |
| && python -m pip install --upgrade pip | |
| # Install open-webui | |
| RUN pip install open-webui | |
| # Expose port 7860 | |
| EXPOSE 7860 | |
| COPY --chown=user . /app | |
| CMD ["sh", "-c", "open-webui serve & caddy run --config /etc/caddy/Caddyfile"] |