diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..54b4a7af84 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM klakegg/hugo:0.95.0-ext-alpine as docsy-user-guide + +RUN apk update +RUN apk add git +COPY package.json /app/docsy/userguide/ +WORKDIR /app/docsy/userguide/ +RUN npm install --production=false + +CMD ["serve", "--cleanDestinationDir", "--themesDir ../..", "--baseURL http://localhost:1313/", "--buildDrafts", "--buildFuture", "--disableFastRender", "--ignoreCache", "--watch"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000..5c3a5e3955 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,14 @@ +version: "3.3" + +services: + + site: + image: docsy/user-guide + build: + context: . + ports: + - "1313:1313" + user: "${DOCSY_USER}" + volumes: + - /app/docsy/userguide/node_modules + - .:/app/docsy diff --git a/userguide/content/en/docs/Contribution guidelines/_index.md b/userguide/content/en/docs/Contribution guidelines/_index.md index 3e09b07d45..899b79d7b2 100644 --- a/userguide/content/en/docs/Contribution guidelines/_index.md +++ b/userguide/content/en/docs/Contribution guidelines/_index.md @@ -100,6 +100,51 @@ If you want to run your own local Hugo server to preview your changes as you wor 1. Continue with the usual GitHub workflow to edit files, commit them, push the changes up to your fork, and create a pull request. +#### Preview your changes using a Docker container + +Docsy comes with `Dockerfile` and `docker-compose` files to run the server +locally with Docker, without installing any additional dependencies. + +- Using [Docker]: + + 1. Build the Docker container: + + ```bash + docker build -t docsy/user-guide + ``` + + 1. Run the container, mounting the repository as a shared volume: + + ```bash + docker run -it --user=$(id -u):$(id -g) -p 1313:1313 \ + -v $(pwd):/app/docsy -v /app/docsy/userguide/node_modules \ + docsy/user-guide + ``` + +- Using [Docker Compose][docker-compose]: + + 1. Build the container: + + ```bash + docker-compose build + ``` + + 1. Run the container: + + ```bash + DOCSY_USER=$(id -u):$(id -g) docker-compose up + ``` + +Open `http://localhost:1313` in your web browser to load the docsy user guide. +In most cases, docsy will automatically reload the site to reflect any changes +to the documentation or the code. Changes to some parts of the docsy code may +require manually reloading the page or re-starting the container. + +Press **Ctrl + C** to stop the container. + +[docker]: https://docs.docker.com/get-docker/ +[docker-compose]: https://docs.docker.com/compose/install/ + ### Creating an issue If there's something you'd like to see in the docs, but you're not sure how to fix it yourself, please create an issue in [this repository](https://github.com/google/docsy). You can also create an issue about a specific page by clicking the **Create Issue** button in the top right hand corner of the page.