Skip to content

Instantly share code, notes, and snippets.

@hans00
Created April 10, 2018 03:34
Show Gist options
  • Select an option

  • Save hans00/e2fad6ac5c7f0b2b5b5f9dee6f90cb96 to your computer and use it in GitHub Desktop.

Select an option

Save hans00/e2fad6ac5c7f0b2b5b5f9dee6f90cb96 to your computer and use it in GitHub Desktop.
nativescript-vue-android-docker
FROM frolvlad/alpine-oraclejdk8:full
# Android SDK
ENV ANDROID_HOME /opt/android-sdk-linux
ENV SDK_TOOLS_VERSION 3859397
ENV API_LEVELS android-25
ENV BUILD_TOOLS_VERSIONS 25.0.2
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
RUN apk update && apk add --no-cache bash unzip libstdc++ \
&& mkdir -p /opt/android-sdk-linux && cd /opt \
&& wget -q https://dl.google.com/android/repository/sdk-tools-linux-${SDK_TOOLS_VERSION}.zip -O android-sdk-tools.zip \
&& unzip -q android-sdk-tools.zip -d ${ANDROID_HOME} \
&& rm -f android-sdk-tools.zip \
&& yes | sdkmanager --licenses \
&& sdkmanager --verbose --update \
&& sdkmanager "tools" "platform-tools" "platforms;${API_LEVELS}" "build-tools;${BUILD_TOOLS_VERSIONS}" "extras;android;m2repository" "extras;google;m2repository"
# Node.JS
ENV NODE_VERSION 8.11.1
RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node \
&& apk add --no-cache \
libstdc++ \
&& apk add --no-cache --virtual .build-deps \
binutils-gold \
curl \
g++ \
gcc \
gnupg \
libgcc \
linux-headers \
make \
python \
# gpg keys listed at https://github.com/nodejs/node#release-team
&& for key in \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
56730D5401028683275BD23C23EFEFE93C4CFFFE \
77984A986EBC2AA786BC0F66B01FBB92821C587A \
; do \
gpg --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
gpg --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
done \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" \
&& curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
&& tar -xf "node-v$NODE_VERSION.tar.xz" \
&& cd "node-v$NODE_VERSION" \
&& ./configure \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& apk del .build-deps \
&& cd .. \
&& rm -Rf "node-v$NODE_VERSION" \
&& rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt
# NativeScript + Vue
RUN npm install -g nativescript webpack vue-cli
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment