This is an automated email from the ASF dual-hosted git repository.
gangwu pushed a commit to branch production
in repository https://gitbox.apache.org/repos/asf/parquet-site.git
The following commit(s) were added to refs/heads/production by this push:
new c605f97 Add Dockerfile + instructions on how to preview site using
docker rather than installing `hugo` locally (#56)
c605f97 is described below
commit c605f977eef61e0d5024fc3d89f1e9aaeaa5c9b4
Author: Andrew Lamb <[email protected]>
AuthorDate: Sun May 12 03:51:42 2024 -0400
Add Dockerfile + instructions on how to preview site using docker rather
than installing `hugo` locally (#56)
---
Dockerfile | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
README.md | 39 +++++++++++++++++++++++++++++++++++----
2 files changed, 86 insertions(+), 4 deletions(-)
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2ed3774
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,51 @@
+# 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 running the Parquet website locally
+#
+# Build an image called parquet-site with necessary tools
+# docker build -t parquet-site .
+#
+# Run
+# run docker container mounting the current directory to /parquet-site and
exposing port 1313
+# docker run -it -v `pwd`:/parquet-site -p 1313:1313 parquet-site
+#
+# Now you can run npm and hugo commands in the container
+FROM debian:bullseye-slim
+
+# run docker container mounting the current directory to /parquet-site and
exposing port 1313
+
+# Install necessary utilities
+RUN apt-get update
+RUN apt-get install wget git -y xz-utils
+
+# Install extended version of hugo to /hugo
+# See releases https://github.com/gohugoio/hugo/releases/tag/v0.124.1
+# Note, if on amd64 use
https://github.com/gohugoio/hugo/releases/download/v0.124.1/hugo_extended_0.124.1_linux-amd64.tar.gz
+RUN wget -O -
https://github.com/gohugoio/hugo/releases/download/v0.124.1/hugo_extended_0.124.1_linux-arm64.tar.gz
| tar xz
+RUN mv /hugo /usr/local/bin/hugo
+
+# install golang to /go
+RUN wget -O - https://go.dev/dl/go1.22.3.linux-amd64.tar.gz | tar xz
+
+# install nodejs to /node-v20.13.1-linux-arm64
+RUN wget -O -
https://nodejs.org/dist/v20.13.1/node-v20.13.1-linux-arm64.tar.xz | xz -d | tar
x
+
+# setup path to find binaries
+ENV
PATH=/go/bin:/node-v20.13.1-linux-arm64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+
+
diff --git a/README.md b/README.md
index 63829fc..40303c7 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,8 @@
This website is built / powered by [Hugo](https://gohugo.io/), and extended
from the [Docsy Theme](https://www.docsy.dev/).
-The following steps assume that you have `hugo` installed and working.
+The following steps assume that you have `hugo` installed and working.
+You can also use docker, see the [Docker section](#docker) for more
information.
## Building and Running Locally
@@ -14,7 +15,7 @@ cd parquet-site
git submodule update --init --recursive
```
-To build or update your site’s CSS resources, you also need PostCSS to create
the final assets. By default npm installs tools under the directory where you
run npm install.
+To build or update CSS resources, you also need PostCSS to create the final
assets. By default npm installs tools under the directory where you run npm
install.
```
npm install -D autoprefixer
@@ -22,13 +23,43 @@ npm install -D postcss-cli
npm install -D postcss
```
-To run this website site locally, run the following in the root of the
directory:
+To preview this website site locally, run the following in the root of the
directory:
```shell
hugo server
```
-# Release Documentation
+## Building and Running in Docker
+
+If you don't want to install `hugo` and its dependencies on your local machine,
+you can use docker. To do so, checkout the `parquet-site` repo as explained
+above and then use [Dockerfile](Dockerfile) to build an image with the required
+tools:
+
+```shell
+docker build -t parquet-site .
+````
+
+Then run the container mounting the current directory to `/parquet-site` and
+exposing local port 1313:
+
+```shell
+docker run -it -v `pwd`:/parquet-site -p 1313:1313 parquet-site
+```
+
+Once inside the container, run the following to preview the site:
+```shell
+# Install necessary npm modules in parquet-site directory
+cd parquet-site
+npm install -D autoprefixer
+npm install -D postcss-cli
+npm install -D postcss
+hugo server --bind 0.0.0.0 # run the server
+```
+
+You can now preview the site locally on http://localhost:1313/
+
+# Release Process
To create documentation for a new release of `parquet-format` create a new
<releaseNumber>.md file under `content/en/blog/parquet-format`. Please see
existing files in that directory as an example.