Skip to content

Commit

Permalink
Make the image more reproducible and predictable by using specific so…
Browse files Browse the repository at this point in the history
…ftware versions.
  • Loading branch information
jlesage committed May 11, 2017
1 parent fa6c338 commit 49271f3
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 69 deletions.
48 changes: 25 additions & 23 deletions Dockerfile.alpine
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@
FROM ${BASEIMAGE}

# Define software versions.
ARG LIBVNCSERVER_VERSION=0.9.11
ARG X11VNC_VERSION=0.9.14-fixes
ARG NOVNC_VERSION=0.6.2-fixes
ARG LIBVNCSERVER_VERSION=ac8b756
ARG X11VNC_VERSION=29597a9
ARG NOVNC_VERSION=fa559b3
ARG S6_OVERLAY_VERSION=1.19.1.1
ARG BOOTSTRAP_VERSION=3.3.7
ARG FONTAWESOME_VERSION=4.7.0
ARG JQUERY_VERSION=3.2.1
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=master
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=4bc0091

# Define software download URLs.
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/LibVNCServer-${LIBVNCSERVER_VERSION}-fixes.tar.gz
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/${LIBVNCSERVER_VERSION}.tar.gz
ARG X11VNC_URL=https://github.com/jlesage/x11vnc/archive/${X11VNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/v${NOVNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/${NOVNC_VERSION}.tar.gz
ARG S6_OVERLAY_URL=https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-amd64.tar.gz
ARG BOOTSTRAP_URL=https://github.com/twbs/bootstrap/releases/download/v${BOOTSTRAP_VERSION}/bootstrap-${BOOTSTRAP_VERSION}-dist.zip
ARG FONTAWESOME_URL=http://fontawesome.io/assets/font-awesome-${FONTAWESOME_VERSION}.zip
Expand Down Expand Up @@ -66,15 +66,16 @@ RUN \
libice-dev \
openssl-dev && \
# Download sources
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz && \
curl -sS -L ${X11VNC_URL} | tar -xz && \
mkdir libvncserver x11vnc && \
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz --strip 1 -C libvncserver && \
curl -sS -L ${X11VNC_URL} | tar -xz --strip 1 -C x11vnc && \
# Compile libvncserver
cd libvncserver-LibVNCServer-${LIBVNCSERVER_VERSION}-fixes && \
cd libvncserver && \
./autogen.sh --prefix=/tmp/install && \
make install && \
cd .. && \
# Compile x11vnc
cd x11vnc-${X11VNC_VERSION} && \
cd x11vnc && \
autoreconf -v --install && \
PKG_CONFIG_PATH=/tmp/install/lib/pkgconfig/ ./configure --prefix=/tmp/install --with-websockets && \
make install && \
Expand Down Expand Up @@ -107,23 +108,24 @@ RUN \
# Install noVNC.
RUN \
apk --no-cache add --virtual build-dependencies curl nodejs && \
curl -sS -L ${NOVNC_URL} | tar -xz && \
mkdir noVNC && \
curl -sS -L ${NOVNC_URL} | tar -xz --strip 1 -C noVNC && \
mkdir -p /opt/novnc/include && \
mkdir -p /opt/novnc/js && \
mkdir -p /opt/novnc/css && \
NOVNC_CORE="\
noVNC-${NOVNC_VERSION}/include/util.js \
noVNC-${NOVNC_VERSION}/include/webutil.js \
noVNC-${NOVNC_VERSION}/include/base64.js \
noVNC-${NOVNC_VERSION}/include/websock.js \
noVNC-${NOVNC_VERSION}/include/des.js \
noVNC-${NOVNC_VERSION}/include/keysymdef.js \
noVNC-${NOVNC_VERSION}/include/keyboard.js \
noVNC-${NOVNC_VERSION}/include/input.js \
noVNC-${NOVNC_VERSION}/include/display.js \
noVNC-${NOVNC_VERSION}/include/rfb.js \
noVNC-${NOVNC_VERSION}/include/keysym.js \
noVNC-${NOVNC_VERSION}/include/inflator.js \
noVNC/include/util.js \
noVNC/include/webutil.js \
noVNC/include/base64.js \
noVNC/include/websock.js \
noVNC/include/des.js \
noVNC/include/keysymdef.js \
noVNC/include/keyboard.js \
noVNC/include/input.js \
noVNC/include/display.js \
noVNC/include/rfb.js \
noVNC/include/keysym.js \
noVNC/include/inflator.js \
" && \
cp -v $NOVNC_CORE /opt/novnc/include/ && \
# Minify noVNC core JS files
Expand Down
48 changes: 25 additions & 23 deletions Dockerfile.alpine-glibc
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@
FROM ${BASEIMAGE}

# Define software versions.
ARG LIBVNCSERVER_VERSION=0.9.11
ARG X11VNC_VERSION=0.9.14-fixes
ARG NOVNC_VERSION=0.6.2-fixes
ARG LIBVNCSERVER_VERSION=ac8b756
ARG X11VNC_VERSION=29597a9
ARG NOVNC_VERSION=fa559b3
ARG S6_OVERLAY_VERSION=1.19.1.1
ARG BOOTSTRAP_VERSION=3.3.7
ARG FONTAWESOME_VERSION=4.7.0
ARG JQUERY_VERSION=3.2.1
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=master
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=4bc0091

# Define software download URLs.
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/LibVNCServer-${LIBVNCSERVER_VERSION}-fixes.tar.gz
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/${LIBVNCSERVER_VERSION}.tar.gz
ARG X11VNC_URL=https://github.com/jlesage/x11vnc/archive/${X11VNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/v${NOVNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/${NOVNC_VERSION}.tar.gz
ARG S6_OVERLAY_URL=https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-amd64.tar.gz
ARG BOOTSTRAP_URL=https://github.com/twbs/bootstrap/releases/download/v${BOOTSTRAP_VERSION}/bootstrap-${BOOTSTRAP_VERSION}-dist.zip
ARG FONTAWESOME_URL=http://fontawesome.io/assets/font-awesome-${FONTAWESOME_VERSION}.zip
Expand Down Expand Up @@ -102,15 +102,16 @@ RUN \
libice-dev \
openssl-dev && \
# Download sources
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz && \
curl -sS -L ${X11VNC_URL} | tar -xz && \
mkdir libvncserver x11vnc && \
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz --strip 1 -C libvncserver && \
curl -sS -L ${X11VNC_URL} | tar -xz --strip 1 -C x11vnc && \
# Compile libvncserver
cd libvncserver-LibVNCServer-${LIBVNCSERVER_VERSION}-fixes && \
cd libvncserver && \
./autogen.sh --prefix=/tmp/install && \
make install && \
cd .. && \
# Compile x11vnc
cd x11vnc-${X11VNC_VERSION} && \
cd x11vnc && \
autoreconf -v --install && \
PKG_CONFIG_PATH=/tmp/install/lib/pkgconfig/ ./configure --prefix=/tmp/install --with-websockets && \
make install && \
Expand Down Expand Up @@ -143,23 +144,24 @@ RUN \
# Install noVNC.
RUN \
apk --no-cache add --virtual build-dependencies curl nodejs && \
curl -sS -L ${NOVNC_URL} | tar -xz && \
mkdir noVNC && \
curl -sS -L ${NOVNC_URL} | tar -xz --strip 1 -C noVNC && \
mkdir -p /opt/novnc/include && \
mkdir -p /opt/novnc/js && \
mkdir -p /opt/novnc/css && \
NOVNC_CORE="\
noVNC-${NOVNC_VERSION}/include/util.js \
noVNC-${NOVNC_VERSION}/include/webutil.js \
noVNC-${NOVNC_VERSION}/include/base64.js \
noVNC-${NOVNC_VERSION}/include/websock.js \
noVNC-${NOVNC_VERSION}/include/des.js \
noVNC-${NOVNC_VERSION}/include/keysymdef.js \
noVNC-${NOVNC_VERSION}/include/keyboard.js \
noVNC-${NOVNC_VERSION}/include/input.js \
noVNC-${NOVNC_VERSION}/include/display.js \
noVNC-${NOVNC_VERSION}/include/rfb.js \
noVNC-${NOVNC_VERSION}/include/keysym.js \
noVNC-${NOVNC_VERSION}/include/inflator.js \
noVNC/include/util.js \
noVNC/include/webutil.js \
noVNC/include/base64.js \
noVNC/include/websock.js \
noVNC/include/des.js \
noVNC/include/keysymdef.js \
noVNC/include/keyboard.js \
noVNC/include/input.js \
noVNC/include/display.js \
noVNC/include/rfb.js \
noVNC/include/keysym.js \
noVNC/include/inflator.js \
" && \
cp -v $NOVNC_CORE /opt/novnc/include/ && \
# Minify noVNC core JS files
Expand Down
48 changes: 25 additions & 23 deletions Dockerfile.debian
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@
FROM ${BASEIMAGE}

# Define software versions.
ARG LIBVNCSERVER_VERSION=0.9.11
ARG X11VNC_VERSION=0.9.14-fixes
ARG NOVNC_VERSION=0.6.2-fixes
ARG LIBVNCSERVER_VERSION=ac8b756
ARG X11VNC_VERSION=29597a9
ARG NOVNC_VERSION=fa559b3
ARG S6_OVERLAY_VERSION=1.19.1.1
ARG BOOTSTRAP_VERSION=3.3.7
ARG FONTAWESOME_VERSION=4.7.0
ARG JQUERY_VERSION=3.2.1
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=master
ARG JQUERY_UI_TOUCH_PUNCH_VERSION=4bc0091

# Define software download URLs.
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/LibVNCServer-${LIBVNCSERVER_VERSION}-fixes.tar.gz
ARG LIBVNCSERVER_URL=https://github.com/jlesage/libvncserver/archive/${LIBVNCSERVER_VERSION}.tar.gz
ARG X11VNC_URL=https://github.com/jlesage/x11vnc/archive/${X11VNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/v${NOVNC_VERSION}.tar.gz
ARG NOVNC_URL=https://github.com/jlesage/novnc/archive/${NOVNC_VERSION}.tar.gz
ARG S6_OVERLAY_URL=https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-amd64.tar.gz
ARG BOOTSTRAP_URL=https://github.com/twbs/bootstrap/releases/download/v${BOOTSTRAP_VERSION}/bootstrap-${BOOTSTRAP_VERSION}-dist.zip
ARG FONTAWESOME_URL=http://fontawesome.io/assets/font-awesome-${FONTAWESOME_VERSION}.zip
Expand Down Expand Up @@ -84,15 +84,16 @@ RUN \
apt-get update && apt-get install -y --no-install-recommends \
$BUILD_PACKAGES && \
# Download sources
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz && \
curl -sS -L ${X11VNC_URL} | tar -xz && \
mkdir libvncserver x11vnc && \
curl -sS -L ${LIBVNCSERVER_URL} | tar -xz --strip 1 -C libvncserver && \
curl -sS -L ${X11VNC_URL} | tar -xz --strip 1 -C x11vnc && \
# Compile libvncserver
cd libvncserver-LibVNCServer-${LIBVNCSERVER_VERSION}-fixes && \
cd libvncserver && \
./autogen.sh --prefix=/tmp/install && \
make install && \
cd .. && \
# Compile x11vnc
cd x11vnc-${X11VNC_VERSION} && \
cd x11vnc && \
autoreconf -v --install && \
PKG_CONFIG_PATH=/tmp/install/lib/pkgconfig/ ./configure --prefix=/tmp/install --with-websockets && \
make install && \
Expand Down Expand Up @@ -136,23 +137,24 @@ RUN \
BUILD_PACKAGES="curl ca-certificates unzip npm nodejs-legacy" && \
apt-get update && apt-get install -y --no-install-recommends \
$BUILD_PACKAGES && \
curl -sS -L ${NOVNC_URL} | tar -xz && \
mkdir noVNC && \
curl -sS -L ${NOVNC_URL} | tar -xz --strip 1 -C noVNC && \
mkdir -p /opt/novnc/include && \
mkdir -p /opt/novnc/js && \
mkdir -p /opt/novnc/css && \
NOVNC_CORE="\
noVNC-${NOVNC_VERSION}/include/util.js \
noVNC-${NOVNC_VERSION}/include/webutil.js \
noVNC-${NOVNC_VERSION}/include/base64.js \
noVNC-${NOVNC_VERSION}/include/websock.js \
noVNC-${NOVNC_VERSION}/include/des.js \
noVNC-${NOVNC_VERSION}/include/keysymdef.js \
noVNC-${NOVNC_VERSION}/include/keyboard.js \
noVNC-${NOVNC_VERSION}/include/input.js \
noVNC-${NOVNC_VERSION}/include/display.js \
noVNC-${NOVNC_VERSION}/include/rfb.js \
noVNC-${NOVNC_VERSION}/include/keysym.js \
noVNC-${NOVNC_VERSION}/include/inflator.js \
noVNC/include/util.js \
noVNC/include/webutil.js \
noVNC/include/base64.js \
noVNC/include/websock.js \
noVNC/include/des.js \
noVNC/include/keysymdef.js \
noVNC/include/keyboard.js \
noVNC/include/input.js \
noVNC/include/display.js \
noVNC/include/rfb.js \
noVNC/include/keysym.js \
noVNC/include/inflator.js \
" && \
cp -v $NOVNC_CORE /opt/novnc/include/ && \
# Minify noVNC core JS files
Expand Down

0 comments on commit 49271f3

Please sign in to comment.