diff --git a/.dockerignore b/.dockerignore index 6f01cb222eb3201710d40c4a5fb9f3ad4a50aae9..2b5e51a618a9be6492db086de1ae4d57cc5ca41a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ /node_modules /public +/Dockerfile /.?* diff --git a/Dockerfile b/Dockerfile index b5c9d7ff72bcc53f7561b21a5f7d5fda4c5dfb9a..762a38e2b572a05edfda5dcd951936f54960e85c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,10 +51,11 @@ ENV SERVER_HOST=0.0.0.0 \ OUTPUT=/public \ WKHTMLTOPDF_BINARY=/usr/local/bin/wkhtmltopdf -RUN mkdir -p -m 0777 $OUTPUT +RUN mkdir -p -m 0777 $OUTPUT \ + && ln -s /opt/prezbuilder/bin/prezbuilder /usr/local/bin/prezbuilder -WORKDIR /opt/prezbuilder +WORKDIR /src EXPOSE 3000/tcp 35729/tcp -ENTRYPOINT ["/opt/prezbuilder/node_modules/.bin/gulp"] +ENTRYPOINT ["/usr/local/bin/prezbuilder"] CMD ["dev"] diff --git a/bin/prezbuilder b/bin/prezbuilder new file mode 100755 index 0000000000000000000000000000000000000000..dae525a095aa35f894e52c3e815964b21fa5c490 --- /dev/null +++ b/bin/prezbuilder @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -e + +usage() { + echo "Usage: $0 dev|build [src_dir [output_dir]]" >&2 + exit 1 +} + +checkdir() { + if [[ -z $1 ]]; then + echo "" + return 0 + fi + local DIR="$(readlink -f $1)" + if [[ ! -d "$DIR" ]]; then + echo "$1 is not an existing directory" >&2 + usage + fi + echo "$DIR" + return 0 +} + +case "$1" in + dev|build) COMMAND="$1" ;; + *) usage +esac + +export SRC="$(checkdir $2)" +export OUTPUT="$(checkdir $3)" + +BASE="$(dirname $(readlink -f $0))/.." +exec "$BASE/node_modules/.bin/gulp" --cwd "$BASE" "$COMMAND"