| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # |
| # Dockerfile for guacamole-server |
| # |
| |
| # Start from CentOS base image |
| FROM centos:centos7 |
| MAINTAINER Michael Jumper <mike.jumper@guac-dev.org> |
| |
| # Environment variables |
| ENV \ |
| BUILD_DIR=/tmp/guacd-docker-BUILD \ |
| LC_ALL=en_US.UTF-8 \ |
| RUNTIME_DEPENDENCIES=" \ |
| cairo \ |
| dejavu-sans-mono-fonts \ |
| freerdp \ |
| freerdp-plugins \ |
| ghostscript \ |
| libjpeg-turbo \ |
| libssh2 \ |
| liberation-mono-fonts \ |
| libtelnet \ |
| libvorbis \ |
| libvncserver \ |
| libwebp \ |
| pango \ |
| pulseaudio-libs \ |
| terminus-fonts \ |
| uuid" \ |
| BUILD_DEPENDENCIES=" \ |
| autoconf \ |
| automake \ |
| cairo-devel \ |
| freerdp-devel \ |
| gcc \ |
| libjpeg-turbo-devel \ |
| libssh2-devel \ |
| libtool \ |
| libtelnet-devel \ |
| libvorbis-devel \ |
| libvncserver-devel \ |
| libwebp-devel \ |
| make \ |
| pango-devel \ |
| pulseaudio-libs-devel \ |
| uuid-devel" |
| |
| # Bring environment up-to-date and install guacamole-server dependencies |
| RUN yum -y update && \ |
| yum -y install epel-release && \ |
| yum -y install $RUNTIME_DEPENDENCIES && \ |
| yum clean all |
| |
| # Add configuration scripts |
| COPY src/guacd-docker/bin /opt/guacd/bin/ |
| |
| # Copy source to container for sake of build |
| COPY . "$BUILD_DIR" |
| |
| # Build guacamole-server from local source |
| RUN yum -y install $BUILD_DEPENDENCIES && \ |
| /opt/guacd/bin/build-guacd.sh "$BUILD_DIR" && \ |
| rm -Rf "$BUILD_DIR" && \ |
| yum -y autoremove $BUILD_DEPENDENCIES && \ |
| yum clean all |
| |
| # Start guacd, listening on port 0.0.0.0:4822 |
| EXPOSE 4822 |
| CMD [ "/usr/local/sbin/guacd", "-b", "0.0.0.0", "-f" ] |
| |