Make sure the home directory in the docker container has correct permissions

Building on the websites ASF jenkins agent demonstrated that the created build user could not be used inside the container. Workaround here is to open read-write permissions on the workspace inside the container.

patch by Mick Semb Wever; reviewed by Anthony Grasso
2 files changed
tree: 2575c52e6279e75188f8b207ef3aad56f48ad8d3
  1. content/
  2. src/
  3. .asf.yaml
  4. .gitignore
  5. doap.rdf
  6. docker-compose.yml
  7. docker-entrypoint-jekyll-serve.sh
  8. docker-entrypoint.sh
  9. Dockerfile
  10. LICENSE.txt
  11. README.md
README.md

Apache Cassandra website builder

Building the Apache Cassandra website takes a number of steps. To make things easier we have provided a Docker container which can build the full website in two simple commands and have it ready to commit via git. If you are interested in the process head over to the README in src directory.

Prerequisite

To build and run the Docker container you will need Docker version 2.0.0.0 or greater. If you need a copy of the site code you will need git as well.

Building the site

If you need a copy of the site code run this command:

$ git clone https://github.com/apache/cassandra-website.git
$ cd ./cassandra-website

To build the website run the following commands from within the ./cassandra-website directory (assuming you used the above clone command):

$ docker-compose build cassandra-website
$ docker-compose run cassandra-website

:warning: Tip: In order to prevent root-owned modified files in your repository, the container user, build, is set up with a default UID=1000:GID=1000, which is usually the first user configured on a linux machine. If your local user is different you should set up the container user with your local host user's UID:GID, replace the above with:

$ docker-compose build --build-arg UID=$(id -u) --build-arg GID=$(id -g) cassandra-website
$ docker-compose run cassandra-website

Go make yourself a cup of coffee, this will take a while...

Once building has completed, the site content will be in the ./cassandra-website/content directory ready to be committed.

Previewing the site

The fastest way to preview the site is to run the following:

$ docker-compose up preview

Then view the site on http://localhost:8000

If you want to preview the site as you are editing it run this command:

$ docker-compose build cassandra-website
$ docker-compose up cassandra-website-serve

For information about the site layout see the Layout section of README in the src directory.

Staging the site

Changes to the content/ directory on the asf-staging will be staged at https://cassandra.staged.apache.org/

Please validate changes here before pushing to the main website.