vs / Dockerfile
TG-99
BlackTape
16996b7
Raw
History Blame Contribute Delete
1.67 kB
# Use Ubuntu as base image
FROM rir18/mltb:latest
# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN apt-get update && apt-get install -y \
sudo \
nano \
&& rm -rf /var/lib/apt/lists/*
# Install code-server
RUN curl -fsSL https://code-server.dev/install.sh | sh
RUN curl https://cli-assets.heroku.com/install.sh | sh
# Create a non-root user
RUN useradd -m -s /bin/bash coder && \
echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Set working directory
WORKDIR /home/coder
# Create workspace directory
RUN mkdir -p /home/coder/workspace && \
chown -R coder:coder /home/coder
# Switch to root user to fix permissions for code-server
USER root
# Create config directory
RUN mkdir -p /home/coder/.config/code-server
# Install AI coding assistant extensions that support Gemini
#RUN code-server --install-extension Continue.continue || true
RUN code-server --install-extension donjayamanne.githistory
# Set up code-server config
RUN echo "bind-addr: 0.0.0.0:7860" > /home/coder/.config/code-server/config.yaml && \
echo "auth: password" >> /home/coder/.config/code-server/config.yaml && \
echo "password: ${PASSWORD}" >> /home/coder/.config/code-server/config.yaml && \
echo "cert: false" >> /home/coder/.config/code-server/config.yaml
# Set up code-server json
COPY ./settings.json /root/.local/share/code-server/User/settings.json
# Copy startup scripts
COPY --chown=coder:coder startup.sh /home/coder/startup.sh
RUN chmod +x /home/coder/startup.sh
# Expose port 7860 (Hugging Face Spaces default port)
EXPOSE 7860
# Start code-server with persistence
CMD ["/home/coder/startup.sh"]