SW UI Docker
SW UI Docker
# It points to the standard shared Amazon Linux image, with a versioned tag.
FROM amazonlinux:2
# https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
LABEL maintainer="Amazon AWS"
# Framework Versions
ENV VERSION_NODE_8=8.12.0
ENV VERSION_NODE_10=10.16.0
ENV VERSION_NODE_12=12
ENV VERSION_NODE_14=14
ENV VERSION_NODE_16=16
ENV VERSION_NODE_17=17
ENV VERSION_NODE_DEFAULT=$VERSION_NODE_14
ENV VERSION_RUBY_2_4=2.4.6
ENV VERSION_RUBY_2_6=2.6.3
ENV VERSION_BUNDLER=2.0.1
ENV VERSION_RUBY_DEFAULT=$VERSION_RUBY_2_4
ENV VERSION_HUGO=0.75.1
ENV VERSION_YARN=1.22.0
ENV VERSION_AMPLIFY=6.3.1
# UTF-8 Environment
ENV LANGUAGE en_US:en
ENV LANG=en_US.UTF-8
ENV LC_ALL en_US.UTF-8
## Install OS packages
RUN touch ~/.bashrc
RUN yum -y update && \
yum -y install \
alsa-lib-devel \
autoconf \
automake \
bzip2 \
bison \
bzr \
cmake \
expect \
fontconfig \
git \
gcc-c++ \
GConf2-devel \
gtk2-devel \
gtk3-devel \
libnotify-devel \
libpng \
libpng-devel \
libffi-devel \
libtool \
libX11 \
libXext \
libxml2 \
libxml2-devel \
libXScrnSaver \
libxslt \
libxslt-devel \
libyaml \
libyaml-devel \
make \
nss-devel \
openssl-devel \
openssh-clients \
patch \
procps \
python3 \
python3-devel \
readline-devel \
sqlite-devel \
tar \
tree \
unzip \
wget \
which \
xorg-x11-server-Xvfb \
zip \
zlib \
zlib-devel \
yum clean all && \
rm -rf /var/cache/yum
## Install Hugo
RUN wget https://github.com/gohugoio/hugo/releases/download/v$
{VERSION_HUGO}/hugo_${VERSION_HUGO}_Linux-64bit.tar.gz && \
tar -xf hugo_${VERSION_HUGO}_Linux-64bit.tar.gz hugo -C / && \
mv /hugo /usr/bin/hugo && \
rm -rf hugo_${VERSION_HUGO}_Linux-64bit.tar.gz
## Install python3.8
RUN wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
RUN tar xvf Python-3.8.0.tgz
WORKDIR Python-3.8.0
RUN ./configure --enable-optimizations --prefix=/usr/local
RUN make altinstall
## Install python3.9
RUN wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
RUN tar xvf Python-3.9.0.tgz
WORKDIR Python-3.9.0
RUN ./configure --enable-optimizations --prefix=/usr/local
RUN make altinstall
## Install Node
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh |
bash
RUN /bin/bash -c ". ~/.nvm/nvm.sh && nvm install $VERSION_NODE_8 &&
nvm use $VERSION_NODE_8 && \
nvm install $VERSION_NODE_10 && nvm use $VERSION_NODE_10 && \
npm install -g yarn@${VERSION_YARN} sm grunt-cli bower vuepress
gatsby-cli && \
nvm install $VERSION_NODE_12 && nvm use $VERSION_NODE_12 && \
npm install -g yarn@${VERSION_YARN} sm grunt-cli bower vuepress
gatsby-cli && \
nvm install $VERSION_NODE_14 && nvm use $VERSION_NODE_14 && \
npm install -g yarn@${VERSION_YARN} sm grunt-cli bower vuepress
gatsby-cli && \
nvm install $VERSION_NODE_16 && nvm use $VERSION_NODE_16 &&
chown -R root:root /root/.nvm && \
npm install -g yarn@${VERSION_YARN} sm grunt-cli bower vuepress
gatsby-cli && \
nvm install $VERSION_NODE_17 && nvm use $VERSION_NODE_17 &&
chown -R root:root /root/.nvm && \
npm install -g yarn@${VERSION_YARN} sm grunt-cli bower vuepress gatsby-
cli && \
nvm alias default ${VERSION_NODE_DEFAULT} && nvm cache clear"
## Install awscli
RUN /bin/bash -c "pip3.8 install awscli && rm -rf /var/cache/apk/*"
RUN /bin/bash -c "pip3.9 install awscli && rm -rf /var/cache/apk/*"
## Installing Cypress
RUN /bin/bash -c ". ~/.nvm/nvm.sh && \
nvm use ${VERSION_NODE_DEFAULT} && \
npm install -g --unsafe-perm=true --allow-root cypress"