You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by mj...@apache.org on 2017/10/09 20:15:25 UTC

[1/3] incubator-guacamole-manual git commit: GUACAMOLE-409: include instructions for using Dockerfile in README

Repository: incubator-guacamole-manual
Updated Branches:
  refs/heads/master 8ac254870 -> 4e18295bc


GUACAMOLE-409: include instructions for using Dockerfile in README


Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/commit/47037238
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/tree/47037238
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/diff/47037238

Branch: refs/heads/master
Commit: 47037238642be4f630db0b630caf038896b52b72
Parents: 6908176
Author: Carl Harris <ce...@vt.edu>
Authored: Sun Oct 8 09:54:53 2017 -0400
Committer: Carl Harris <ce...@vt.edu>
Committed: Sun Oct 8 20:11:01 2017 -0400

----------------------------------------------------------------------
 README | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/blob/47037238/README
----------------------------------------------------------------------
diff --git a/README b/README
index 9d80b41..0bac7c1 100644
--- a/README
+++ b/README
@@ -83,6 +83,51 @@ processor called "xsltproc", applying the standard DocBook XSL stylesheets.
 
 
 ------------------------------------------------------------
+ Building and viewing the manual using Docker
+------------------------------------------------------------
+
+The guacamole-manual package includes a Dockerfile that can be used to build 
+an Apache httpd Docker image that contains the Guacamole user manual.
+
+By building and running the resulting container, a developer can work on the 
+user manual without the need to install docbook and related dependencies on 
+his/her workstation. The resulting container can also be used to serve the 
+manual to Guacamole users on a network.
+
+Docker CE version 1.6 or later is required to build the image.
+
+Build the Guacamole manual container image by running the following command in
+the directory that contains this Dockerfile:
+
+    $ docker image build -t guacamole/manual .
+
+Run the resulting container using the following command:
+
+    $ docker container run -p 8080:80 guacamole/manual
+
+You'll see some startup messages from Apache httpd on your terminal when you 
+start up the container. Once the container is running you can then view the 
+HTML version of the manual by accessing http://localhost:8080 using your web 
+browser.
+
+If another process on the host is already using port 8080, you will need to 
+change the corresponding argument in the command used to start the container.
+
+As a developer working on the documentation, it will be necessary to stop the
+container and run the build again each time you wish to see changes you've 
+made to the documentation source.
+
+By default, the container image will contain only the HTML variant of the 
+Guacamole user manual. If you also wish to serve the PDF variant, use the 
+following command to build container image
+
+    $ docker image build --build-arg TARGET=all -t guacamole/manual .
+
+You can view the PDF variant of the manual by accessing 
+http://localhost:8080/gug.pdf using your web browser.
+
+
+------------------------------------------------------------
  Reporting problems
 ------------------------------------------------------------
 


[3/3] incubator-guacamole-manual git commit: GUACAMOLE-409: Merge support for building/hosting the Guacamole manual using Docker.

Posted by mj...@apache.org.
GUACAMOLE-409: Merge support for building/hosting the Guacamole manual using Docker.


Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/commit/4e18295b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/tree/4e18295b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/diff/4e18295b

Branch: refs/heads/master
Commit: 4e18295bcafadf78261ed4447453dca551ee2074
Parents: 8ac2548 4703723
Author: Michael Jumper <mj...@apache.org>
Authored: Mon Oct 9 13:14:25 2017 -0700
Committer: Michael Jumper <mj...@apache.org>
Committed: Mon Oct 9 13:14:25 2017 -0700

----------------------------------------------------------------------
 .dockerignore |  4 +++
 Dockerfile    | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 README        | 45 ++++++++++++++++++++++++++++++++
 3 files changed, 124 insertions(+)
----------------------------------------------------------------------



[2/3] incubator-guacamole-manual git commit: GUACAMOLE-409: add Dockerfile and .dockerignore

Posted by mj...@apache.org.
GUACAMOLE-409: add Dockerfile and .dockerignore


Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/commit/69081769
Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/tree/69081769
Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/diff/69081769

Branch: refs/heads/master
Commit: 6908176913560d0480ff9a6951b8caafbf92f3c3
Parents: 8ac2548
Author: Carl Harris <ce...@vt.edu>
Authored: Sun Oct 8 09:54:25 2017 -0400
Committer: Carl Harris <ce...@vt.edu>
Committed: Sun Oct 8 20:11:01 2017 -0400

----------------------------------------------------------------------
 .dockerignore |  4 +++
 Dockerfile    | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 79 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/blob/69081769/.dockerignore
----------------------------------------------------------------------
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..fd35d91
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,4 @@
+.git/
+book/
+html/
+docbook-xsl

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-manual/blob/69081769/Dockerfile
----------------------------------------------------------------------
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..7390cc2
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,75 @@
+#
+# 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-manual
+# 
+# See the README for more information on how to use this file.
+
+# Set this build arg to any of the available version labels for the httpd image
+ARG HTTPD_VERSION=2.4
+
+# Perform the build itself on a Debian base
+FROM debian:stretch AS builder
+
+# Set the path for docbook, as required by the Makefile
+ENV DOCBOOK_PATH=/usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/
+
+# Install build dependencies
+RUN \
+  apt-get update && \
+  apt-get install -y make xsltproc fop docbook-xsl
+
+# Make the directory structure that will be produced by the build so that
+# directories will exist regardless of which target is selected. This ensures
+# that the COPY commands in the second stage of the build will succeed even
+# if the target selected does not include all build variants.
+#  
+# This RUN is a separate command from the previous RUN command, so that changes 
+# to the build structure that might result in the need to change the directories 
+# created here will not invalidate the build cache from the preceding command 
+# that installs dependences (which is a time consuming step).
+#
+RUN \
+  mkdir -p /manual/html && \
+  mkdir -p /manual/book
+
+# Set the working directory for the remainder of the build process
+WORKDIR /manual
+
+# Default build target for the make
+#
+# It might be tempting to move this command to the top of the Dockerfile,
+# but by doing so, any time a different target is selected, the build cache 
+# for the layer that installs all build dependencies will be invalidated.
+#
+ARG TARGET=html
+
+# Copy the manual source into the working directory and build it
+COPY ./ ./
+RUN make ${TARGET}
+
+# For the runtime image, use the official Apache httpd image
+FROM httpd:${HTTPD_VERSION}
+
+# Copy any HTML generated by the build into httpd's document root
+COPY --from=builder /manual/html/ /usr/local/apache2/htdocs/
+
+# Copy any PDF generated by the build into http's document root
+COPY --from=builder /manual/book/ /usr/local/apache2/htdocs/