Spaces:
Sleeping
Sleeping
| # 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"] |