From d91ba02e7f5235a24f92379a6bb25e6eab8863fe Mon Sep 17 00:00:00 2001 From: Derek Smith Date: Sun, 15 Jan 2023 15:57:47 -0500 Subject: [PATCH] Added initial Clams build support. --- deployment/www/stub/clams/Dockerfile | 29 ++++++++++++++++++++++++++++ deployment/www/stub/clams/build.sh | 28 +++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 deployment/www/stub/clams/Dockerfile create mode 100755 deployment/www/stub/clams/build.sh diff --git a/deployment/www/stub/clams/Dockerfile b/deployment/www/stub/clams/Dockerfile new file mode 100644 index 0000000..40d2d44 --- /dev/null +++ b/deployment/www/stub/clams/Dockerfile @@ -0,0 +1,29 @@ +FROM node:latest + +RUN apt-get update && apt-get install tzdata -y +ENV TZ="America/New_York" + +#RUN npm install -g npm@9.3.0 + +# Clone the repository +RUN git clone https://github.com/clams-tech/browser-app.git /usr/src/clams +WORKDIR /usr/src/clams + +# checkout specific tag +RUN git -c advice.detachedHead=false checkout tags/1.2.0 + +# couldn't do a yarn build without updating this. +# RUN npx -y update-browserslist-db@latest + + +# install dependencies +RUN yarn + +EXPOSE 4173 + +RUN mkdir /output +VOLUME /output + +RUN yarn build + +ENTRYPOINT [ "cp", "-a", "/usr/src/clams/.svelte-kit/output/.", "/output/" ] \ No newline at end of file diff --git a/deployment/www/stub/clams/build.sh b/deployment/www/stub/clams/build.sh new file mode 100755 index 0000000..96d4f89 --- /dev/null +++ b/deployment/www/stub/clams/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# The purpose of this script is to use a Docker container to get and build the Clams +# server-side pieces and output them to a specified directory. These files are then +# ready build to be served by a TLS-enabled reverse proxy. It goes +# Client Browser -> wss (WebSocket over TLS) -> ProxyServer -> TCP to btcpayserver:9735 + +set -ex +cd "$(dirname "$0")" + +export CLAMS_OUTPUT_DIR="$REMOTE_HOME/clams" + +ssh "$PRIMARY_WWW_FQDN" sudo rm -rf "$CLAMS_OUTPUT_DIR" +ssh "$PRIMARY_WWW_FQDN" mkdir -p "$CLAMS_OUTPUT_DIR" + +if docker ps | grep -q clams; then + docker kill clams +fi + +if docker ps -a | grep -q clams; then + docker system prune -f +fi + +docker build -t clams:latest . + +docker run -it --name clams -v "$CLAMS_OUTPUT_DIR":/output clams:latest + +ssh "$PRIMARY_WWW_FQDN" sudo chown -R ubuntu:ubuntu "$CLAMS_OUTPUT_DIR"