Skip to content
This repository has been archived by the owner on Feb 15, 2023. It is now read-only.

Commit

Permalink
initial loop tested multi arched version of guacd
Browse files Browse the repository at this point in the history
  • Loading branch information
thelamer committed May 25, 2019
0 parents commit 52994c5
Show file tree
Hide file tree
Showing 10 changed files with 1,949 additions and 0 deletions.
107 changes: 107 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
FROM lsiobase/ubuntu:bionic as builder

ARG GUACD_VERSION

COPY /buildroot /

RUN \
echo "**** install build deps ****" && \
apt-get update && \
apt-get install -qy --no-install-recommends \
autoconf \
automake \
checkinstall \
gcc-6 \
git \
libavcodec-dev \
libavutil-dev \
libcairo2-dev \
libfreerdp-dev \
libjpeg-turbo8-dev \
libogg-dev \
libossp-uuid-dev \
libpango1.0-dev \
libpulse-dev \
libssh2-1-dev \
libssl-dev \
libswscale-dev \
libtelnet-dev \
libtool \
libvncserver-dev \
libvorbis-dev \
libwebsockets-dev \
libwebp-dev \
make

RUN \
echo "**** prep build ****" && \
mkdir /tmp/guacd && \
ln -sf /usr/bin/gcc-6 /usr/bin/gcc && \
git clone https://github.com/apache/guacamole-server.git /tmp/guacd && \
echo "**** build guacd ****" && \
cd /tmp/guacd && \
git checkout ${GUACD_VERSION} && \
autoreconf -fi && \
./configure --prefix=/usr && \
make -j 2 CC=gcc-6 && \
mkdir -p /tmp/out && \
/bin/list-dependencies.sh \
"/tmp/guacd/src/guacd/.libs/guacd" \
$(find /tmp/guacd | grep "so$") \
> /tmp/out/DEPENDENCIES && \
PREFIX=/usr checkinstall \
-y \
-D \
--nodoc \
--pkgname guacd \
--pkgversion ${GUACD_VERSION} \
--pakdir /tmp \
--exclude "/usr/share/man","/usr/include","/etc" && \
mkdir -p /tmp/out && \
mv \
/tmp/guacd_${GUACD_VERSION}-*.deb \
/tmp/out/guacd_${GUACD_VERSION}.deb

# runtime stage
FROM lsiobase/ubuntu:bionic

# set version label
ARG BUILD_DATE
ARG VERSION
ARG GUACD_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Thelamer"

# Copy deb into this stage
COPY --from=builder /tmp/out /tmp/out

RUN \
echo "**** install guacd ****" && \
dpkg --path-include=/usr/share/doc/${PKG_NAME}/* \
-i /tmp/out/guacd_${GUACD_VERSION}.deb && \
apt-get update && \
apt-get install -qy --no-install-recommends \
ca-certificates \
fonts-liberation \
fonts-dejavu \
ghostscript \
libcairo2 \
libfreerdp-plugins-standard \
xfonts-terminus && \
apt-get install -qy --no-install-recommends \
$(cat /tmp/out/DEPENDENCIES) && \
echo "**** clean up ****" && \
mv \
/usr/lib/freerdp/* \
/usr/lib/x86_64-linux-gnu/freerdp && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*

# add local files
COPY /root /

# ports and volumes
EXPOSE 4822
VOLUME /config
107 changes: 107 additions & 0 deletions Dockerfile.aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
FROM lsiobase/ubuntu:arm64v8-bionic as builder

ARG GUACD_VERSION

COPY /buildroot /

RUN \
echo "**** install build deps ****" && \
apt-get update && \
apt-get install -qy --no-install-recommends \
autoconf \
automake \
checkinstall \
gcc-6 \
git \
libavcodec-dev \
libavutil-dev \
libcairo2-dev \
libfreerdp-dev \
libjpeg-turbo8-dev \
libogg-dev \
libossp-uuid-dev \
libpango1.0-dev \
libpulse-dev \
libssh2-1-dev \
libssl-dev \
libswscale-dev \
libtelnet-dev \
libtool \
libvncserver-dev \
libvorbis-dev \
libwebsockets-dev \
libwebp-dev \
make

RUN \
echo "**** prep build ****" && \
mkdir /tmp/guacd && \
ln -sf /usr/bin/gcc-6 /usr/bin/gcc && \
git clone https://github.com/apache/guacamole-server.git /tmp/guacd && \
echo "**** build guacd ****" && \
cd /tmp/guacd && \
git checkout ${GUACD_VERSION} && \
autoreconf -fi && \
./configure --prefix=/usr && \
make -j 2 CC=gcc-6 && \
mkdir -p /tmp/out && \
/bin/list-dependencies.sh \
"/tmp/guacd/src/guacd/.libs/guacd" \
$(find /tmp/guacd | grep "so$") \
> /tmp/out/DEPENDENCIES && \
PREFIX=/usr checkinstall \
-y \
-D \
--nodoc \
--pkgname guacd \
--pkgversion ${GUACD_VERSION} \
--pakdir /tmp \
--exclude "/usr/share/man","/usr/include","/etc" && \
mkdir -p /tmp/out && \
mv \
/tmp/guacd_${GUACD_VERSION}-*.deb \
/tmp/out/guacd_${GUACD_VERSION}.deb

# runtime stage
FROM lsiobase/ubuntu:arm64v8-bionic

# set version label
ARG BUILD_DATE
ARG VERSION
ARG GUACD_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Thelamer"

# Copy deb into this stage
COPY --from=builder /tmp/out /tmp/out

RUN \
echo "**** install guacd ****" && \
dpkg --path-include=/usr/share/doc/${PKG_NAME}/* \
-i /tmp/out/guacd_${GUACD_VERSION}.deb && \
apt-get update && \
apt-get install -qy --no-install-recommends \
ca-certificates \
fonts-liberation \
fonts-dejavu \
ghostscript \
libcairo2 \
libfreerdp-plugins-standard \
xfonts-terminus && \
apt-get install -qy --no-install-recommends \
$(cat /tmp/out/DEPENDENCIES) && \
echo "**** clean up ****" && \
mv \
/usr/lib/freerdp/* \
/usr/lib/aarch64-linux-gnu/freerdp && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*

# add local files
COPY /root /

# ports and volumes
EXPOSE 4822
VOLUME /config
107 changes: 107 additions & 0 deletions Dockerfile.armhf
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
FROM lsiobase/ubuntu:arm32v7-bionic as builder

ARG GUACD_VERSION

COPY /buildroot /

RUN \
echo "**** install build deps ****" && \
apt-get update && \
apt-get install -qy --no-install-recommends \
autoconf \
automake \
checkinstall \
gcc-6 \
git \
libavcodec-dev \
libavutil-dev \
libcairo2-dev \
libfreerdp-dev \
libjpeg-turbo8-dev \
libogg-dev \
libossp-uuid-dev \
libpango1.0-dev \
libpulse-dev \
libssh2-1-dev \
libssl-dev \
libswscale-dev \
libtelnet-dev \
libtool \
libvncserver-dev \
libvorbis-dev \
libwebsockets-dev \
libwebp-dev \
make

RUN \
echo "**** prep build ****" && \
mkdir /tmp/guacd && \
ln -sf /usr/bin/gcc-6 /usr/bin/gcc && \
git clone https://github.com/apache/guacamole-server.git /tmp/guacd && \
echo "**** build guacd ****" && \
cd /tmp/guacd && \
git checkout ${GUACD_VERSION} && \
autoreconf -fi && \
./configure --prefix=/usr && \
make -j 2 CC=gcc-6 && \
mkdir -p /tmp/out && \
/bin/list-dependencies.sh \
"/tmp/guacd/src/guacd/.libs/guacd" \
$(find /tmp/guacd | grep "so$") \
> /tmp/out/DEPENDENCIES && \
PREFIX=/usr checkinstall \
-y \
-D \
--nodoc \
--pkgname guacd \
--pkgversion ${GUACD_VERSION} \
--pakdir /tmp \
--exclude "/usr/share/man","/usr/include","/etc" && \
mkdir -p /tmp/out && \
mv \
/tmp/guacd_${GUACD_VERSION}-*.deb \
/tmp/out/guacd_${GUACD_VERSION}.deb

# runtime stage
FROM lsiobase/ubuntu:arm32v7-bionic

# set version label
ARG BUILD_DATE
ARG VERSION
ARG GUACD_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="Thelamer"

# Copy deb into this stage
COPY --from=builder /tmp/out /tmp/out

RUN \
echo "**** install guacd ****" && \
dpkg --path-include=/usr/share/doc/${PKG_NAME}/* \
-i /tmp/out/guacd_${GUACD_VERSION}.deb && \
apt-get update && \
apt-get install -qy --no-install-recommends \
ca-certificates \
fonts-liberation \
fonts-dejavu \
ghostscript \
libcairo2 \
libfreerdp-plugins-standard \
xfonts-terminus && \
apt-get install -qy --no-install-recommends \
$(cat /tmp/out/DEPENDENCIES) && \
echo "**** clean up ****" && \
mv \
/usr/lib/freerdp/* \
/usr/lib/arm-linux-gnu/freerdp && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*

# add local files
COPY /root /

# ports and volumes
EXPOSE 4822
VOLUME /config
Loading

0 comments on commit 52994c5

Please sign in to comment.