HF / Dockerfile
AZILS's picture
Update Dockerfile
6c54906 verified
# Antigravity FULL VS Code IDE for Hugging Face
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Install core and GUI-support libraries
RUN apt update && \
apt install -y \
curl gnupg apt-transport-https ca-certificates python3 \
libatomic1 libgbm1 libasound2 libxshmfence1 libnss3 libkrb5-3 libonig5 \
libx11-6 libxkbfile1 \
git sudo wget sed
# Add Antigravity official repository
RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL https://us-central1-apt.pkg.dev/doc/repo-signing-key.gpg | \
gpg --dearmor --yes -o /etc/apt/keyrings/antigravity-repo-key.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/antigravity-repo-key.gpg] https://us-central1-apt.pkg.dev/projects/antigravity-auto-updater-dev/ antigravity-debian main" | \
tee /etc/apt/sources.list.d/antigravity.list > /dev/null
# Install Antigravity
RUN apt update && apt install -y antigravity
# FIX: Instead of symlinking to the main script (which causes recursion),
# we will find the real internal binary or use a dummy launcher.
# Often the real binary is inside /usr/lib/antigravity or /opt/antigravity
RUN find / -name "*antigravity*" -type f -executable 2>/dev/null > /home/antigravity_files.txt || true
# We will create a DUMMY tunnel script that doesn't fork bomb
RUN mkdir -p /usr/share/antigravity/bin && \
echo '#!/bin/bash\nexit 0' > /usr/share/antigravity/bin/antigravity-tunnel && \
chmod +x /usr/share/antigravity/bin/antigravity-tunnel
# Configure Hugging Face user
RUN useradd -m -u 1000 user && \
echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER user
ENV HOME=/home/user
WORKDIR /home/user
# Setup workspace and VS Code dirs
RUN mkdir -p /home/user/workspace /home/user/.antigravity-server /home/user/.antigravity-extensions
# Copy and fix the startup script
COPY --chown=user:user run_app.sh /home/user/run_app.sh
RUN chmod +x /home/user/run_app.sh && sed -i 's/\r$//' /home/user/run_app.sh
# Expose port
EXPOSE 7860
# Start via the wrapper script
CMD ["/bin/bash", "/home/user/run_app.sh"]