| FROM ubuntu:22.04 |
|
|
| ENV DEBIAN_FRONTEND=noninteractive \ |
| TZ=Europe/London |
|
|
| |
| |
| RUN rm -f /etc/apt/sources.list.d/*.list && \ |
| apt-get update && apt-get install -y --no-install-recommends \ |
| curl \ |
| ca-certificates \ |
| sudo \ |
| git \ |
| wget \ |
| procps \ |
| git-lfs \ |
| zip \ |
| unzip \ |
| htop \ |
| vim \ |
| nano \ |
| bzip2 \ |
| libx11-6 \ |
| build-essential \ |
| python3 \ |
| python3-pip \ |
| libsndfile-dev \ |
| software-properties-common \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| |
| |
|
|
| RUN curl -sL https://deb.nodesource.com/setup_22.x | bash - && \ |
| apt-get install -y nodejs && \ |
| npm install -g configurable-http-proxy && \ |
| npm install -g @google/gemini-cli && \ |
| npm install -g @anthropic-ai/claude-code && \ |
| npm install -g opencode-ai |
|
|
| |
| RUN curl -fsSL https://code-server.dev/install.sh | sh |
|
|
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ |
| && chown -R user:user /app |
| RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user |
| USER user |
|
|
| |
| ENV HOME=/home/user |
| RUN mkdir $HOME/.cache $HOME/.config \ |
| && chmod -R 777 $HOME |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| WORKDIR $HOME/app |
|
|
| |
| |
| |
|
|
| USER root |
|
|
| |
| |
| |
| |
| |
| |
|
|
| |
| |
|
|
| RUN mkdir /data && chown user:user /data |
| |
|
|
| |
| |
| |
|
|
| USER user |
|
|
| |
| RUN --mount=target=requirements.txt,source=requirements.txt \ |
| pip install --no-cache-dir --upgrade -r requirements.txt |
|
|
| |
| |
|
|
|
|
| ENV PYTHONUNBUFFERED=1 \ |
| GRADIO_ALLOW_FLAGGING=never \ |
| GRADIO_NUM_PORTS=1 \ |
| GRADIO_SERVER_NAME=0.0.0.0 \ |
| GRADIO_THEME=huggingface \ |
| SYSTEM=spaces \ |
| SHELL=/bin/bash |
|
|
| RUN mkdir -p /home/user/.config/code-server |
| RUN echo "bind-addr: 0.0.0.0:7860\n\nauth: none\n\ncert: false" > /home/user/.config/code-server/config.yaml |
| |
|
|
| RUN mkdir -p /home/user/.local/share/code-server/User |
| RUN echo '{\n "workbench.colorTheme": "Default Dark+"\n}' > /home/user/.local/share/code-server/User/settings.json |
|
|
| |
| RUN code-server --install-extension ms-python.python && \ |
| code-server --install-extension eamodio.gitlens && \ |
| code-server --install-extension vscode-icons-team.vscode-icons && \ |
| code-server --install-extension GitHub.github-vscode-theme && \ |
| code-server --install-extension zhuangtongfa.material-theme |
| |
| |
|
|
| |
| EXPOSE 7860 |
| EXPOSE 9090 |
| EXPOSE 8080 |
|
|
|
|
| CMD ["code-server", "--config", "/home/user/.config/code-server/config.yaml", "/home/user/app"] |