vs_code_ide / Dockerfile
Uncensored72828's picture
Update Dockerfile
cd55802 verified
# Arquivo: Dockerfile
FROM ubuntu:22.04
# Desabilita interações durante a instalação no apt
ENV DEBIAN_FRONTEND=noninteractive
# 1. INSTALANDO DEPENDÊNCIAS DO SISTEMA (Adicionado o 'clangd' para o motor C++)
RUN apt-get update && apt-get install -y \
curl wget git unzip zip tar xz-utils \
build-essential cmake ninja-build pkg-config \
openjdk-17-jdk \
python3 python3-pip \
sudo nano clangd \
&& rm -rf /var/lib/apt/lists/*
# 2. INSTALANDO O VS CODE (CODE-SERVER)
RUN curl -fsSL https://code-server.dev/install.sh | sh
# 3. CRIANDO USUÁRIO HF (Compliance Obrigatório: UID 1000)
RUN useradd -m -u 1000 user && \
echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER user
ENV HOME=/home/user
WORKDIR $HOME
# 4. CONFIGURAÇÃO DE VARIÁVEIS DO ANDROID E PATHS
ENV ANDROID_HOME=$HOME/android-sdk
ENV ANDROID_SDK_ROOT=$HOME/android-sdk
ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools
ENV PATH=$PATH:$HOME/.local/bin
# 5. BAIXANDO O ANDROID COMMAND LINE TOOLS
RUN mkdir -p $ANDROID_HOME/cmdline-tools && \
cd $ANDROID_HOME/cmdline-tools && \
wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O cmdline-tools.zip && \
unzip -q cmdline-tools.zip && \
rm cmdline-tools.zip && \
mv cmdline-tools latest
# 6. ACEITANDO LICENÇAS E INSTALANDO SDK E NDK
RUN yes | sdkmanager --licenses && \
sdkmanager "platform-tools" \
"platforms;android-34" \
"build-tools;34.0.0" \
"ndk;25.2.9519653" \
"cmake;3.22.1"
ENV ANDROID_NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
# 7. INSTALANDO KOTLIN VIA SDKMAN
RUN curl -s "https://get.sdkman.io" | bash && \
bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && sdk install kotlin"
# 8. INSTALANDO EXTENSÕES DO VS CODE (Corrigido para Open VSX)
# Substituímos a extensão restrita da MS pelo llvm-clangd (O melhor motor C++ open-source) e twxs.cmake
RUN code-server --install-extension redhat.java \
&& code-server --install-extension vscjava.vscode-java-debug \
&& code-server --install-extension fwcd.kotlin \
&& code-server --install-extension llvm-vs-code-extensions.vscode-clangd \
&& code-server --install-extension twxs.cmake
# 9. CONFIGURAÇÕES FINAIS E PERMISSÕES
COPY --chown=user:user start.sh $HOME/start.sh
RUN chmod +x $HOME/start.sh && mkdir -p $HOME/workspace
# 10. DIRETRIZES HUGGING FACE E PORTAS
EXPOSE 7860
# Inicia o sistema
CMD ["./start.sh"]