Files
automatic-linkedin-answer-ai/Dockerfile

59 lines
1.3 KiB
Docker
Raw Permalink Normal View History

# Use Python 3.11 as base image
FROM python:3.11-slim
# Install system dependencies required for browser automation and other tools
RUN apt-get update && apt-get install -y \
wget \
curl \
git \
build-essential \
chromium \
chromium-driver \
fonts-liberation \
libappindicator3-1 \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcups2 \
libdbus-1-3 \
libdrm2 \
libgbm1 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libx11-xcb1 \
libxcomposite1 \
libxdamage1 \
libxrandr2 \
xdg-utils \
&& rm -rf /var/lib/apt/lists/*
# Install uv for fast Python package management
RUN pip install --no-cache-dir uv
# Set working directory
WORKDIR /app
# Copy dependency files
COPY pyproject.toml uv.lock ./
# Install dependencies using uv
RUN uv sync --frozen
# Copy application code
COPY app.py ./
# Create docs directory (user should mount their own config.yaml and docs)
RUN mkdir -p docs
# Set Python path to use uv's virtual environment
ENV PATH="/app/.venv/bin:$PATH"
ENV PYTHONUNBUFFERED=1
# Set Chrome/Chromium path for browser automation
ENV CHROMIUM_PATH=/usr/bin/chromium
ENV CHROME_PATH=/usr/bin/chromium
# Default command (user should override with their own config.yaml)
CMD ["python", "app.py"]