mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-14 11:53:50 +00:00
Merge pull request #5 from oznu/armhf-support
Added support for ARMv7 (or higher) device support
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
services:
|
||||
- docker
|
||||
|
||||
before_install:
|
||||
- git clone https://github.com/oznu/docker-arm-ci.git ~/docker-arm-ci
|
||||
|
||||
before_script:
|
||||
- export TARGET_IMAGE_TAG=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then if [ "$TRAVIS_BRANCH" = "master" ]; then echo "armhf"; else echo "$TRAVIS_BRANCH-armhf"; fi; else echo ""; fi)
|
||||
|
||||
script:
|
||||
- ~/docker-arm-ci/run.sh
|
||||
+12
-11
@@ -1,19 +1,19 @@
|
||||
FROM tomcat:7-jre8
|
||||
FROM library/tomcat:7-jre8
|
||||
|
||||
ENV GUAC_VER=0.9.13-incubating \
|
||||
GUACAMOLE_HOME=/app/guacamole
|
||||
|
||||
ENV PG_MAJOR=9.6 \
|
||||
ENV ARCH=amd64 \
|
||||
GUAC_VER=0.9.13-incubating \
|
||||
GUACAMOLE_HOME=/app/guacamole \
|
||||
PG_MAJOR=9.6 \
|
||||
PGDATA=/config/postgres \
|
||||
POSTGRES_USER=guacamole \
|
||||
POSTGRES_DB=guacamole_db
|
||||
|
||||
# Apply the s6-overlay
|
||||
|
||||
RUN curl -SLO "https://github.com/just-containers/s6-overlay/releases/download/v1.20.0.0/s6-overlay-amd64.tar.gz" \
|
||||
&& tar -xzf s6-overlay-amd64.tar.gz -C / \
|
||||
&& tar -xzf s6-overlay-amd64.tar.gz -C /usr ./bin \
|
||||
&& rm -rf s6-overlay-amd64.tar.gz \
|
||||
RUN curl -SLO "https://github.com/just-containers/s6-overlay/releases/download/v1.20.0.0/s6-overlay-${ARCH}.tar.gz" \
|
||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C / \
|
||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
||||
&& rm -rf s6-overlay-${ARCH}.tar.gz \
|
||||
&& mkdir -p ${GUACAMOLE_HOME} \
|
||||
${GUACAMOLE_HOME}/lib \
|
||||
${GUACAMOLE_HOME}/extensions
|
||||
@@ -31,14 +31,15 @@ RUN apt-get update && apt-get install -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Link FreeRDP to where guac expects it to be
|
||||
RUN ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp
|
||||
RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp || exit 0
|
||||
|
||||
# Install guacamole-server
|
||||
RUN curl -SLO "https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
||||
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||
&& cd guacamole-server-${GUAC_VER} \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
&& make install \
|
||||
&& cd .. \
|
||||
&& rm -rf guacamole-server-${GUAC_VER}.tar.gz guacamole-server-${GUAC_VER} \
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
FROM arm32v7/tomcat:7-jre8
|
||||
|
||||
ENV ARCH=armhf \
|
||||
GUAC_VER=0.9.13-incubating \
|
||||
GUACAMOLE_HOME=/app/guacamole \
|
||||
PG_MAJOR=9.6 \
|
||||
PGDATA=/config/postgres \
|
||||
POSTGRES_USER=guacamole \
|
||||
POSTGRES_DB=guacamole_db
|
||||
|
||||
# Apply the s6-overlay
|
||||
|
||||
RUN curl -SLO "https://github.com/just-containers/s6-overlay/releases/download/v1.20.0.0/s6-overlay-${ARCH}.tar.gz" \
|
||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C / \
|
||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
||||
&& rm -rf s6-overlay-${ARCH}.tar.gz \
|
||||
&& mkdir -p ${GUACAMOLE_HOME} \
|
||||
${GUACAMOLE_HOME}/lib \
|
||||
${GUACAMOLE_HOME}/extensions
|
||||
|
||||
WORKDIR ${GUACAMOLE_HOME}
|
||||
|
||||
# Install dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libcairo2-dev libjpeg62-turbo-dev libpng-dev \
|
||||
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||
libswscale-dev libfreerdp-dev libpango1.0-dev \
|
||||
libssh2-1-dev libtelnet-dev libvncserver-dev \
|
||||
libpulse-dev libssl-dev libvorbis-dev libwebp-dev \
|
||||
ghostscript postgresql-${PG_MAJOR} \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Link FreeRDP to where guac expects it to be
|
||||
RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp || exit 0
|
||||
|
||||
# Install guacamole-server
|
||||
RUN curl -SLO "https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
||||
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||
&& cd guacamole-server-${GUAC_VER} \
|
||||
&& ./configure \
|
||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
&& make install \
|
||||
&& cd .. \
|
||||
&& rm -rf guacamole-server-${GUAC_VER}.tar.gz guacamole-server-${GUAC_VER} \
|
||||
&& ldconfig
|
||||
|
||||
# Install guacamole-client and postgres auth adapter
|
||||
RUN rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
||||
&& curl -SLo ${CATALINA_HOME}/webapps/ROOT.war "https://sourceforge.net/projects/guacamole/files/current/binary/guacamole-${GUAC_VER}.war" \
|
||||
&& curl -SLo ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.1.4.jar" \
|
||||
&& curl -SLO https://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
||||
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-0.9.13-incubating.jar ${GUACAMOLE_HOME}/extensions/ \
|
||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/schema ${GUACAMOLE_HOME}/ \
|
||||
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
||||
|
||||
# Add optional extensions
|
||||
RUN mkdir ${GUACAMOLE_HOME}/extensions-available \
|
||||
&& for i in auth-ldap auth-duo auth-header auth-noauth auth-cas; do \
|
||||
echo "https://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||
&& curl -SLO "https://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||
;done
|
||||
|
||||
ENV PATH=/usr/lib/postgresql/${PG_MAJOR}/bin:$PATH
|
||||
ENV GUACAMOLE_HOME=/config/guacamole
|
||||
|
||||
WORKDIR /config
|
||||
|
||||
COPY root /
|
||||
|
||||
ENTRYPOINT [ "/init" ]
|
||||
@@ -1,6 +1,10 @@
|
||||
[](https://hub.docker.com/r/oznu/guacamole/) [](https://travis-ci.org/oznu/docker-guacamole) [](https://hub.docker.com/r/oznu/guacamole/)
|
||||
|
||||
# Docker Guacamole
|
||||
|
||||
A Docker Container for [Apache Guacamole](https://guacamole.incubator.apache.org/), a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5.
|
||||
A Docker Container for [Apache Guacamole](https://guacamole.incubator.apache.org/), a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5.
|
||||
|
||||
This image will run on most platforms that support Docker including Docker for Mac, Docker for Windows, Synology DSM and Raspberry Pi 2/3 boards.
|
||||
|
||||
[](http://www.youtube.com/watch?v=esgaHNRxdhY "Video Title")
|
||||
|
||||
@@ -15,6 +19,19 @@ docker run \
|
||||
oznu/guacamole
|
||||
```
|
||||
|
||||
## Raspberry Pi 2+ / ARMv7
|
||||
|
||||
This image will also allow you to run [Apache Guacamole](https://guacamole.incubator.apache.org/) on a Raspberry Pi 2/3 or other Docker-enabled ARMv7/8 devices by using the `armhf` tag.
|
||||
|
||||
```shell
|
||||
docker run \
|
||||
-p 8080:8080 \
|
||||
-v </path/to/config>:/config \
|
||||
oznu/guacamole:armhf
|
||||
```
|
||||
|
||||
*This image will not run on ARMv6 devices such as the original Raspberry Pi 1 or the Raspberry Pi Zero.*
|
||||
|
||||
## Parameters
|
||||
|
||||
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
|
||||
|
||||
Reference in New Issue
Block a user