Spaces:
Running
Running
FROM ubuntu:22.04 | |
# Set non-interactive frontend | |
ENV DEBIAN_FRONTEND=noninteractive | |
# Install dependencies | |
RUN apt-get update && apt-get install -y \ | |
python3-pip \ | |
python3-venv \ | |
git \ | |
curl \ | |
wget \ | |
vim \ | |
--no-install-recommends \ | |
&& apt-get clean \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Install Playwright and its dependencies | |
RUN pip3 install --no-cache-dir playwright pytest pytest-playwright | |
RUN playwright install --with-deps chromium firefox webkit | |
# Set up a non-root user with sudo privileges | |
RUN useradd -ms /bin/bash gemini \ | |
&& apt-get update \ | |
&& apt-get install -y sudo \ | |
&& echo "gemini ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/gemini | |
# Create and set permissions for workspace | |
RUN mkdir -p /home/gemini/workspace \ | |
&& chown -R gemini:gemini /home/gemini | |
USER gemini | |
WORKDIR /home/gemini/workspace | |
# Set environment variables | |
ENV PATH="/home/gemini/.local/bin:${PATH}" | |
ENV PYTHONPATH="/home/gemini/workspace:${PYTHONPATH}" | |
# Expose ports for the tool API server and debugging | |
EXPOSE 8001 9229 | |
# Add healthcheck | |
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ | |
CMD curl -f http://localhost:8001/ || exit 1 | |