From 972f1a1961dbac7e30004ee5f49e58bb39b04e7c Mon Sep 17 00:00:00 2001 From: Petr Bokoc Date: Oct 18 2018 11:33:34 +0000 Subject: Update configs and build scripts --- diff --git a/build.sh b/build.sh index c9349e3..083da18 100755 --- a/build.sh +++ b/build.sh @@ -1,16 +1,35 @@ #!/bin/sh +image="antora/antora" +cmd="--html-url-extension-style=indexify site.yml" + if [ "$(uname)" == "Darwin" ]; then # Running on macOS. # Let's assume that the user has the Docker CE installed # which doesn't require a root password. - docker run --rm -it -v $(pwd):/antora antora/antora --html-url-extension-style=indexify site.yml + docker run --rm -it -v $(pwd):/antora $image $cmd elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then # Running on Linux. - # Let's assume that it's running the Docker deamon + # Check whether podman is available, else faill back to docker # which requires root. - echo "" - echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." -sudo docker run --rm -it -v $(pwd):/antora:z antora/antora --html-url-extension-style=indexify site.yml + if [ -f /usr/bin/podman ]; then + runtime="podman" + else + runtime="docker" + fi + if groups | grep -wq "docker"; then + # Check if the current user is in the "docker" group. If true, no sudo is needed. + echo "" + echo "This build script is using $runtime to run the build in an isolated environment." + echo "" + $runtime run --rm -it -v $(pwd):/antora:z $image $cmd + else + # User isn't in the docker group; run the command with sudo. + echo "" + echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + echo "" + sudo $runtime run --rm -it -v $(pwd):/antora:z $image $cmd + fi fi diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..f7093b3 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,14 @@ +server { + listen 80; + server_name localhost; + + location / { + root /antora/public; + index index.html index.htm; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/preview.sh b/preview.sh index acab783..16d02d8 100755 --- a/preview.sh +++ b/preview.sh @@ -5,14 +5,32 @@ if [ "$(uname)" == "Darwin" ]; then # Let's assume that the user has the Docker CE installed # which doesn't require a root password. echo "The preview will be available at http://localhost:8080/" - docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx + docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then # Running on Linux. - # Let's assume that it's running the Docker deamon + # Check whether podman is available, else faill back to docker # which requires root. - echo "" - echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." - echo "The preview will be available at http://localhost:8080/" - sudo docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx + if [ -f /usr/bin/podman ]; then + runtime="podman" + else + runtime="docker" + fi + if groups | grep -wq "docker"; then + # Check if the current user is in the "docker" group. If true, no sudo is needed. + echo "" + echo "This build script is using $runtime to run the build in an isolated environment." + echo "The preview will be available at http://localhost:8080/" + echo "" + $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx + else + # User isn't in the docker group; run the command with sudo. + echo "" + echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." + echo "" + echo "The preview will be available at http://localhost:8080/" + echo "" + sudo $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx + fi fi diff --git a/site.yml b/site.yml index b016506..b03a3d4 100644 --- a/site.yml +++ b/site.yml @@ -1,10 +1,8 @@ -site: +site: title: Local Preview start_page: fedora:system-administrators-guide:index content: sources: - - url: https://pagure.io/forks/bex/fedora-docs/docs-fp-o.git - branches: antora_rawhide - url: . branches: HEAD ui: @@ -12,11 +10,11 @@ ui: url: https://asamalik.fedorapeople.org/ui-bundle.zip snapshot: true default_layout: with_menu -output: - clean: true +output: + clean: true dir: ./public - destinations: - - provider: archive + destinations: + - provider: archive runtime: pull: true cache_dir: ./cache