From fbda04b73a479f5d5b787323ba85f07fa6d4550d Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sat, 15 Apr 2023 04:28:33 +0000 Subject: [PATCH 1/7] add opencex and generate_env --- generate_env.sh | 587 ++++++++++++++++++++++++++++++++++++++++++++++++ opencex.sh | 543 +------------------------------------------- 2 files changed, 598 insertions(+), 532 deletions(-) create mode 100644 generate_env.sh diff --git a/generate_env.sh b/generate_env.sh new file mode 100644 index 0000000..2c796c4 --- /dev/null +++ b/generate_env.sh @@ -0,0 +1,587 @@ +#!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +echo "`cat < /app/opencex/backend/.env diff --git a/opencex.sh b/opencex.sh index 6117902..7fb0926 100644 --- a/opencex.sh +++ b/opencex.sh @@ -18,9 +18,9 @@ fi mkdir /app/opencex -p cd /app/opencex || exit -git clone https://github.com/Polygant/OpenCEX-backend.git ./backend -git clone https://github.com/Polygant/OpenCEX-frontend.git ./frontend -git clone https://github.com/Polygant/OpenCEX-static.git ./nuxt +git clone -b stage https://github.com/Polygant/OpenCEX-backend.git ./backend +git clone -b stage https://github.com/Polygant/OpenCEX-frontend.git ./frontend +git clone -b stage https://github.com/Polygant/OpenCEX-static.git ./nuxt echo "`cat < /dev/null && pwd ) cd /app/opencex/backend || exit -FILE=/app/opencex/backend/.env -if test ! -f "$FILE"; then - -echo "`cat < /app/opencex/backend/.env - +cd /app/opencex/backend || exit +FILE=/app/opencex/backend/.env +if test ! -f "$FILE"; then +source $SCRIPT_DIR/generate_env.sh +cp $SCRIPT_DIR/config.env /app/opencex/backend/.env fi source /app/opencex/backend/.env @@ -593,7 +73,6 @@ envsubst < /app/opencex/frontend/src/example.local_config.js > /app/opencex/fron cat << EOF >> /app/opencex/backend/.env - #opencex frontend values RECAPTCHA=$RECAPTCHA TELEGRAM=$TELEGRAM From ad5a6b250289fed3e2fd3ffde6b7fac4c9ec86fc Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sat, 15 Apr 2023 04:21:44 +0000 Subject: [PATCH 2/7] more file restructuring --- generate_env.sh | 2 ++ install-deps.sh | 21 +++++++++++++++++++++ opencex.sh | 26 +++----------------------- 3 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 install-deps.sh diff --git a/generate_env.sh b/generate_env.sh index 2c796c4..4e561a2 100644 --- a/generate_env.sh +++ b/generate_env.sh @@ -1,5 +1,6 @@ #!/bin/bash SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +source $SCRIPT_DIR/install-deps.sh echo "`cat < /app/opencex/backend/.env +cp /app/opencex/backend/.env $SCRIPT_DIR/config.env diff --git a/install-deps.sh b/install-deps.sh new file mode 100644 index 0000000..a497096 --- /dev/null +++ b/install-deps.sh @@ -0,0 +1,21 @@ +if [ $(dpkg-query -W -f='${Status}' docker-ce 2>/dev/null | grep -c "ok installed") -eq 0 ]; then + echo "Docker not found, install docker..." + sudo apt-get update > /dev/null 2>&1 + sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release > /dev/null 2>&1 + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /usr/share/keyrings/docker-archive-keyring.gpg + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + sudo apt-get update > /dev/null 2>&1 + sudo apt-get install -y docker-ce docker-ce-cli containerd.io git docker-compose-plugin > /dev/null 2>&1 + sudo systemctl enable docker > /dev/null 2>&1 + sudo systemctl start docker > /dev/null 2>&1 + echo "Docker has been successfully installed." +else + echo "Docker already installed." +fi + +mkdir /app/opencex -p +cd /app/opencex || exit +git clone -b stage https://github.com/Polygant/OpenCEX-backend.git ./backend +git clone -b stage https://github.com/Polygant/OpenCEX-frontend.git ./frontend +git clone -b stage https://github.com/Polygant/OpenCEX-static.git ./nuxt + diff --git a/opencex.sh b/opencex.sh index 7fb0926..a97c198 100644 --- a/opencex.sh +++ b/opencex.sh @@ -1,27 +1,8 @@ #!/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +echo $SCRIPT_DIR -if [ $(dpkg-query -W -f='${Status}' docker-ce 2>/dev/null | grep -c "ok installed") -eq 0 ]; then - echo "Docker not found, install docker..." - sudo apt-get update > /dev/null 2>&1 - sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release > /dev/null 2>&1 - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /usr/share/keyrings/docker-archive-keyring.gpg - echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - sudo apt-get update > /dev/null 2>&1 - sudo apt-get install -y docker-ce docker-ce-cli containerd.io git docker-compose-plugin > /dev/null 2>&1 - sudo systemctl enable docker > /dev/null 2>&1 - sudo systemctl start docker > /dev/null 2>&1 - echo "Docker has been successfully installed." -else - echo "Docker already installed." -fi - - -mkdir /app/opencex -p -cd /app/opencex || exit -git clone -b stage https://github.com/Polygant/OpenCEX-backend.git ./backend -git clone -b stage https://github.com/Polygant/OpenCEX-frontend.git ./frontend -git clone -b stage https://github.com/Polygant/OpenCEX-static.git ./nuxt - +source $SCRIPT_DIR/install-deps.sh echo "`cat < /dev/null && pwd ) cd /app/opencex/backend || exit if test -f $SCRIPT_DIR/config.env ; then cp $SCRIPT_DIR/config.env /app/opencex/backend/.env From ad2f54e014f4e5fe644902f7242ac1c623421962 Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sat, 22 Apr 2023 10:04:56 +0000 Subject: [PATCH 3/7] fix export in opencex.sh and add script to regenerate frontend --- opencex.sh | 2 +- regen-frontend.sh | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 regen-frontend.sh diff --git a/opencex.sh b/opencex.sh index a97c198..2d2d92f 100644 --- a/opencex.sh +++ b/opencex.sh @@ -42,8 +42,8 @@ source $SCRIPT_DIR/generate_env.sh cp $SCRIPT_DIR/config.env /app/opencex/backend/.env fi -source /app/opencex/backend/.env set -a +source /app/opencex/backend/.env cd /app/opencex/frontend || exit FILE=/app/opencex/frontend/src/local_config diff --git a/regen-frontend.sh b/regen-frontend.sh new file mode 100644 index 0000000..693f893 --- /dev/null +++ b/regen-frontend.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -a +source /app/opencex/backend/.env +set +a +cd /app/opencex/frontend || exit +envsubst < /app/opencex/frontend/src/example.local_config.js > /app/opencex/frontend/src/local_config + +# build front +mkdir -p /app/opencex/frontend/deploy/ +cp /app/deploy/frontend/Dockerfile /app/opencex/frontend/deploy/Dockerfile +cp /app/deploy/frontend/default.conf /app/opencex/frontend/deploy/default.conf +cp /app/deploy/frontend/nginx.conf /app/opencex/frontend/deploy/nginx.conf +sed -i "s/ADMIN_BASE_URL/$ADMIN_BASE_URL/g" /app/opencex/frontend/deploy/default.conf +sed -i "s/DOMAIN/$DOMAIN/g" /app/opencex/frontend/deploy/default.conf +docker build -t frontend -f deploy/Dockerfile . + +: ' +mkdir -p /app/opencex/nuxt/deploy/ +cd /app/opencex/nuxt || exit +cp /app/deploy/nuxt/.env.template /app/opencex/nuxt/ +cp /app/deploy/nuxt/Dockerfile /app/opencex/nuxt/deploy/Dockerfile +envsubst < /app/opencex/nuxt/.env.template > /app/opencex/nuxt/.env +docker build -t nuxt -f deploy/Dockerfile . +' From 78434a52fae8df72ccce5997907b10f05363a821 Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sat, 22 Apr 2023 15:14:02 +0000 Subject: [PATCH 4/7] fix regen scripts --- generate_env.sh | 12 ++++++++++++ opencex.sh | 14 -------------- regen-backend.sh | 9 +++++++++ regen-frontend.sh | 3 +-- 4 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 regen-backend.sh diff --git a/generate_env.sh b/generate_env.sh index 4e561a2..3b5a092 100644 --- a/generate_env.sh +++ b/generate_env.sh @@ -587,3 +587,15 @@ fi envsubst < /app/opencex/backend/.env.template > /app/opencex/backend/.env cp /app/opencex/backend/.env $SCRIPT_DIR/config.env + +### save to env +cat << EOF >> /app/opencex/backend/.env +#opencex frontend values +RECAPTCHA=$RECAPTCHA +TELEGRAM=$TELEGRAM +TG_NEWS=$TG_NEWS +SUPPORT_EMAIL=$SUPPORT_EMAIL +FACEBOOK=$FACEBOOK +TWITTER=$TWITTER +LINKEDIN=$LINKEDIN +EOF diff --git a/opencex.sh b/opencex.sh index 2d2d92f..9e48fd3 100644 --- a/opencex.sh +++ b/opencex.sh @@ -49,20 +49,6 @@ FILE=/app/opencex/frontend/src/local_config if test ! -f "$FILE"; then envsubst < /app/opencex/frontend/src/example.local_config.js > /app/opencex/frontend/src/local_config -### save to env - -cat << EOF >> /app/opencex/backend/.env - -#opencex frontend values -RECAPTCHA=$RECAPTCHA -TELEGRAM=$TELEGRAM -TG_NEWS=$TG_NEWS -SUPPORT_EMAIL=$SUPPORT_EMAIL -FACEBOOK=$FACEBOOK -TWITTER=$TWITTER -LINKEDIN=$LINKEDIN -EOF - fi ################## diff --git a/regen-backend.sh b/regen-backend.sh new file mode 100644 index 0000000..f607799 --- /dev/null +++ b/regen-backend.sh @@ -0,0 +1,9 @@ +#/bin/bash +set -a +source /app/opencex/backend/.env +set +a +# build backend +cd /app/opencex/backend/ || exit +chmod +x /app/opencex/backend/manage.py +docker build -t opencex . --no-cache + diff --git a/regen-frontend.sh b/regen-frontend.sh index 693f893..6b367a4 100644 --- a/regen-frontend.sh +++ b/regen-frontend.sh @@ -14,11 +14,10 @@ sed -i "s/ADMIN_BASE_URL/$ADMIN_BASE_URL/g" /app/opencex/frontend/deploy/default sed -i "s/DOMAIN/$DOMAIN/g" /app/opencex/frontend/deploy/default.conf docker build -t frontend -f deploy/Dockerfile . -: ' mkdir -p /app/opencex/nuxt/deploy/ cd /app/opencex/nuxt || exit cp /app/deploy/nuxt/.env.template /app/opencex/nuxt/ cp /app/deploy/nuxt/Dockerfile /app/opencex/nuxt/deploy/Dockerfile envsubst < /app/opencex/nuxt/.env.template > /app/opencex/nuxt/.env docker build -t nuxt -f deploy/Dockerfile . -' + From 1656767763a282ba8995f7a896345e0af70beec4 Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sat, 22 Apr 2023 15:19:04 +0000 Subject: [PATCH 5/7] no cache --- regen-frontend.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/regen-frontend.sh b/regen-frontend.sh index 6b367a4..111b0d2 100644 --- a/regen-frontend.sh +++ b/regen-frontend.sh @@ -12,12 +12,13 @@ cp /app/deploy/frontend/default.conf /app/opencex/frontend/deploy/default.conf cp /app/deploy/frontend/nginx.conf /app/opencex/frontend/deploy/nginx.conf sed -i "s/ADMIN_BASE_URL/$ADMIN_BASE_URL/g" /app/opencex/frontend/deploy/default.conf sed -i "s/DOMAIN/$DOMAIN/g" /app/opencex/frontend/deploy/default.conf -docker build -t frontend -f deploy/Dockerfile . +docker build -t frontend -f deploy/Dockerfile . --no-cache mkdir -p /app/opencex/nuxt/deploy/ cd /app/opencex/nuxt || exit cp /app/deploy/nuxt/.env.template /app/opencex/nuxt/ cp /app/deploy/nuxt/Dockerfile /app/opencex/nuxt/deploy/Dockerfile -envsubst < /app/opencex/nuxt/.env.template > /app/opencex/nuxt/.env -docker build -t nuxt -f deploy/Dockerfile . +envsubst < /app/opencex/nuxt/.env.template > /app/opencex/nuxt/.env +docker build -t nuxt -f deploy/Dockerfile . --no-cache + From 9e487efb774979d3567ef13d1a333e6594b2dee4 Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sun, 23 Apr 2023 05:41:41 +0000 Subject: [PATCH 6/7] fixes for regen backend/frontend --- regen-backend.sh | 4 ++++ regen-frontend.sh | 1 + 2 files changed, 5 insertions(+) diff --git a/regen-backend.sh b/regen-backend.sh index f607799..ea053d2 100644 --- a/regen-backend.sh +++ b/regen-backend.sh @@ -1,4 +1,8 @@ #/bin/bash +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +cp $SCRIPT_DIR/config.env /app/opencex/backend/.env + +set -e set -a source /app/opencex/backend/.env set +a diff --git a/regen-frontend.sh b/regen-frontend.sh index 111b0d2..c548ad3 100644 --- a/regen-frontend.sh +++ b/regen-frontend.sh @@ -1,4 +1,5 @@ #!/bin/bash +set -e set -a source /app/opencex/backend/.env set +a From 5b3aaa60970fa3f488ad2650c72196fd40b89b89 Mon Sep 17 00:00:00 2001 From: Joseph C Wang Date: Sun, 30 Apr 2023 01:36:34 +0000 Subject: [PATCH 7/7] add config.env to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6989133..0be9060 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ env.txt .idea +config.env