.gitpod.Dockerfile 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. FROM gitpod/workspace-full-vnc
  2. SHELL ["/bin/bash", "-c"]
  3. # insall flutter and android sdk/ndk/avd/java/gradle
  4. ENV ANDROID_HOME=/home/gitpod/androidsdk \
  5. FLUTTER_VERSION=2.2.3-stable
  6. ENV ANDROID_VERSION=30
  7. # Install dart
  8. USER root
  9. RUN curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
  10. && curl -fsSL https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list \
  11. && install-packages build-essential dart libkrb5-dev gcc make gradle android-tools-adb android-tools-fastboot
  12. # Install flutter
  13. USER gitpod
  14. RUN cd /home/gitpod \
  15. && wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}.tar.xz \
  16. && tar -xvf flutter*.tar.xz \
  17. && rm -f flutter*.tar.xz
  18. RUN flutter/bin/flutter precache
  19. RUN echo 'export PATH="$PATH:/home/gitpod/flutter/bin"' >> /home/gitpod/.bashrc
  20. USER root
  21. # Install Open JDK
  22. USER root
  23. RUN apt update \
  24. && apt install openjdk-8-jdk -y \
  25. && update-java-alternatives --set java-1.8.0-openjdk-amd64
  26. # Install SDK Manager
  27. USER gitpod
  28. RUN wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip \
  29. && mkdir -p $ANDROID_HOME/cmdline-tools/latest \
  30. && unzip commandlinetools-linux-*.zip -d $ANDROID_HOME \
  31. && rm -f commandlinetools-linux-*.zip \
  32. && mv $ANDROID_HOME/cmdline-tools/bin $ANDROID_HOME/cmdline-tools/latest \
  33. && mv $ANDROID_HOME/cmdline-tools/lib $ANDROID_HOME/cmdline-tools/latest
  34. RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /home/gitpod/.bashrc \
  35. && echo 'export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/gitpod/.bashrc
  36. # Install Android Image version $ANDROID_VERSION
  37. USER gitpod
  38. RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-$ANDROID_VERSION" "emulator" 'build-tools;28.0.3'
  39. RUN yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "system-images;android-$ANDROID_VERSION;google_apis;x86_64"
  40. RUN echo no | $ANDROID_HOME/cmdline-tools/latest/bin/avdmanager create avd -n avd28 -k "system-images;android-$ANDROID_VERSION;google_apis;x86_64"
  41. # Install Google Chrome
  42. USER root
  43. RUN apt-get update \
  44. && apt-get install -y apt-transport-https \
  45. && curl -sSL https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
  46. && echo "deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
  47. && apt-get update \
  48. && sudo apt-get install -y google-chrome-stable
  49. # misc deps
  50. RUN apt-get install -y \
  51. libasound2-dev \
  52. libgtk-3-dev \
  53. libnss3-dev \
  54. fonts-noto \
  55. fonts-noto-cjk
  56. # For Qt WebEngine on docker
  57. ENV QTWEBENGINE_DISABLE_SANDBOX 1
  58. USER gitpod
  59. # Install Node and Yarn
  60. ENV NODE_VERSION=10.14
  61. RUN bash -c ". .nvm/nvm.sh && nvm install ${NODE_VERSION} && nvm use ${NODE_VERSION} && nvm alias default ${NODE_VERSION}"
  62. RUN echo "nvm use default &>/dev/null" >> ~/.bashrc.d/51-nvm-fix
  63. RUN npm install -g nativescript@6.5.1