diff --git a/bin/bdocker b/bin/bdocker index 2df04084..c2a68452 100755 --- a/bin/bdocker +++ b/bin/bdocker @@ -45,7 +45,7 @@ SCRIPT_DIR="$(cd "$(dirname "${SCRIPT}")" && pwd)" BUBBLE_DIR="$(cd "${SCRIPT_DIR}"/.. && pwd)" -MODE=${1:?no mode specified, use build or run} +MODE=${1:?no mode specified, use: build, run, term, push or clean} META_FILE="${BUBBLE_DIR}/bubble-server/src/main/resources/META-INF/bubble/bubble.properties" VERSION="${2:-$(cat "${META_FILE}" | grep bubble.version | awk -F '=' '{print $2}' | awk -F ' ' '{print $NF}' | awk '{$1=$1};1')}" @@ -87,13 +87,18 @@ if [[ "${MODE}" == "build" ]] ; then elif [[ "${MODE}" == "run" ]] ; then # Copy existing env if found ENV_FILE=$(mktemp /tmp/.bubble.env.XXXXXXX) + if [[ -z "${BUBBLE_ENV}" ]] ; then + BUBBLE_ENV="${HOME}/.bubble.env" + fi if [[ -f "${BUBBLE_ENV}" ]] ; then cat "${BUBBLE_ENV}" > "${ENV_FILE}" fi # Define API port echo " -export BUBBLE_SERVER_PORT=${BUBBLE_PORT}" >> "${ENV_FILE}" +export BUBBLE_SERVER_PORT=${BUBBLE_PORT} +export PUBLIC_BASE_URI=http://127.0.0.1:${BUBBLE_PORT} +" >> "${ENV_FILE}" # Define LetsEncrypt email, from env var or stdin if [[ $(cat "${BUBBLE_ENV}" | grep -v '^#' | grep -c LETSENCRYPT_EMAIL) -eq 0 ]] ; then diff --git a/bubble-server/src/main/resources/docker/run_bubble.sh b/bubble-server/src/main/resources/docker/run_bubble.sh index 78e861e3..d03d182e 100755 --- a/bubble-server/src/main/resources/docker/run_bubble.sh +++ b/bubble-server/src/main/resources/docker/run_bubble.sh @@ -12,9 +12,12 @@ if [[ -n "${BUBBLE_SERVER_PORT}" ]] ; then echo "export BUBBLE_SERVER_PORT=${BUBBLE_SERVER_PORT}" >> /bubble/bubble.env - echo "export BUBBLE_W00T=w00t" >> /bubble/bubble.env -else - echo "export BUBBLE_LAME0=l4m3" >> /bubble/bubble.env +fi +if [[ -n "${LETSENCRYPT_EMAIL}" ]] ; then + echo "export LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}" >> /bubble/bubble.env +fi +if [[ -n "${PUBLIC_BASE_URI}" ]] ; then + echo "export PUBLIC_BASE_URI=${PUBLIC_BASE_URI}" >> /bubble/bubble.env fi exec /usr/bin/java \ diff --git a/bubble-server/src/main/resources/docker/run_bubble_slim.sh b/bubble-server/src/main/resources/docker/run_bubble_slim.sh index 9d50db48..93522813 100755 --- a/bubble-server/src/main/resources/docker/run_bubble_slim.sh +++ b/bubble-server/src/main/resources/docker/run_bubble_slim.sh @@ -27,6 +27,12 @@ fi if [[ -n "${BUBBLE_SERVER_PORT}" ]] ; then echo "export BUBBLE_SERVER_PORT=${BUBBLE_SERVER_PORT}" >> /bubble/bubble.env fi +if [[ -n "${LETSENCRYPT_EMAIL}" ]] ; then + echo "export LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}" >> /bubble/bubble.env +fi +if [[ -n "${PUBLIC_BASE_URI}" ]] ; then + echo "export PUBLIC_BASE_URI=${PUBLIC_BASE_URI}" >> /bubble/bubble.env +fi exec /usr/bin/java \ -Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true -Dbubble.listenAll=true \ diff --git a/launcher b/launcher index 9d5ce809..c8c091e3 100644 --- a/launcher +++ b/launcher @@ -161,9 +161,10 @@ function run_launcher() { die "'uname -s' returned empty string!" fi - if [[ -z "$(which docker)" ]]; then + DOCKER="$(which docker)" + if [[ -z "${DOCKER}" ]]; then setup_docker - if [[ -z "$(which docker)" ]]; then + if [[ -z "${DOCKER}" ]]; then die "***** Error installing docker Install docker manually from https://docs.docker.com/engine/install/ Then re-run this script. @@ -182,11 +183,11 @@ Then re-run this script. # Pull bubble docker image if [[ "${CALLER}" == "root" ]] ; then - docker pull "${DOCKER_TAG}" || die "Error pulling docker image: ${DOCKER_TAG}" + ${DOCKER} pull "${DOCKER_TAG}" || die "Error pulling docker image: ${DOCKER_TAG}" else - docker pull "${DOCKER_TAG}" || \ - echo "***** error running 'docker pull' as ${CALLER}, trying via sudo ..." && \ - sudo su - "${CALLER}" -c "docker pull ${DOCKER_TAG}" || die "Error pulling docker image: ${DOCKER_TAG}" + ${DOCKER} pull "${DOCKER_TAG}" || \ + echo "***** error running '${DOCKER} pull' as ${CALLER}, trying via sudo ..." && \ + sudo su - "${CALLER}" -c "${DOCKER} pull ${DOCKER_TAG}" || die "Error pulling docker image: ${DOCKER_TAG}" fi # Determine email for LetsEncrypt certs @@ -206,28 +207,25 @@ Then re-run this script. # Run bubble docker image if [[ "${CALLER}" == "root" ]] ; then - docker run ${EXPOSE} \ + run ${EXPOSE} \ -p ${BUBBLE_PORT}:${BUBBLE_PORT} \ -e LETSENCRYPT_EMAIL="${LETSENCRYPT_EMAIL}" \ - -e BUBBLE_PORT=${BUBBLE_PORT} \ + -e BUBBLE_SERVER_PORT=${BUBBLE_PORT} \ + -e PUBLIC_BASE_URI=http://127.0.0.1:${BUBBLE_PORT} \ -t "${DOCKER_TAG}" else - echo "docker run ${EXPOSE} \ - -p ${BUBBLE_PORT}:${BUBBLE_PORT} \ - -e LETSENCRYPT_EMAIL=\"${LETSENCRYPT_EMAIL}\" \ - -e BUBBLE_PORT=${BUBBLE_PORT} \ - -t \"${DOCKER_TAG}\"" && exit 0 - - docker run ${EXPOSE} \ + ${DOCKER} run ${EXPOSE} \ -p ${BUBBLE_PORT}:${BUBBLE_PORT} \ -e LETSENCRYPT_EMAIL="${LETSENCRYPT_EMAIL}" \ - -e BUBBLE_PORT=${BUBBLE_PORT} \ + -e BUBBLE_SERVER_PORT=${BUBBLE_PORT} \ + -e PUBLIC_BASE_URI=http://127.0.0.1:${BUBBLE_PORT} \ -t "${DOCKER_TAG}" || \ - echo "***** error running 'docker run' as ${CALLER}, trying via sudo ..." && \ - sudo su - "${CALLER}" -c "docker run ${EXPOSE} \ + echo "***** error running '${DOCKER} run' as ${CALLER}, trying via sudo ..." && \ + sudo su - "${CALLER}" -c "${DOCKER} run ${EXPOSE} \ -p ${BUBBLE_PORT}:${BUBBLE_PORT} \ - -e BUBBLE_PORT=${BUBBLE_PORT} \ + -e BUBBLE_SERVER_PORT=${BUBBLE_PORT} \ -e LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} \ + -e PUBLIC_BASE_URI=http://127.0.0.1:${BUBBLE_PORT} \ -t ${DOCKER_TAG}" fi } diff --git a/utils/cobbzilla-wizard b/utils/cobbzilla-wizard index 2b5c7f6e..9792c0ac 160000 --- a/utils/cobbzilla-wizard +++ b/utils/cobbzilla-wizard @@ -1 +1 @@ -Subproject commit 2b5c7f6e424e5b686454af3bfeeb796314500145 +Subproject commit 9792c0ac6d6a7cfde87c65a109cc239ab196f1f9