From 1933270b2a9ae7be0cacb9378c51dd5f2de40ea3 Mon Sep 17 00:00:00 2001 From: thomas Date: Mon, 10 Oct 2022 22:47:48 +0200 Subject: [PATCH] budibase update --- ressources/budibase/README.MD | 60 +++++++++++++++---- ressources/budibase/debmaker | 24 +++++--- ressources/budibase/rootfs/DEBIAN/conffiles | 3 +- ressources/budibase/rootfs/DEBIAN/control | 4 +- ressources/budibase/rootfs/DEBIAN/postinst | 9 +++ .../rootfs/etc/default/budibase-server | 23 +++++++ .../rootfs/etc/default/budibase-worker | 19 ++++++ .../systemd/system/budibase-server.service | 13 ++++ .../systemd/system/budibase-worker.service | 13 ++++ 9 files changed, 145 insertions(+), 23 deletions(-) create mode 100755 ressources/budibase/rootfs/DEBIAN/postinst create mode 100644 ressources/budibase/rootfs/etc/default/budibase-server create mode 100644 ressources/budibase/rootfs/etc/default/budibase-worker create mode 100644 ressources/budibase/rootfs/usr/lib/systemd/system/budibase-server.service create mode 100644 ressources/budibase/rootfs/usr/lib/systemd/system/budibase-worker.service diff --git a/ressources/budibase/README.MD b/ressources/budibase/README.MD index 24f9c76..c858288 100644 --- a/ressources/budibase/README.MD +++ b/ressources/budibase/README.MD @@ -1,26 +1,62 @@ -#### element-web +#### budibase ##### Information -Site : https://element.io/ +Site : https://budibase.com/ -Source : https://github.com/vector-im/element-web +Source : https://github.com/Budibase/budibase ##### Install ```bash -apt install -y wget ca-certificates +apt update +apt install -y --no-install-recommends curl apt-transport-https gnupg wget ca-certificates + wget -qO - https://deb.lgy.fr/install.sh | bash -apt-get update -apt install element-web +wget -qO - https://deb.nodesource.com/setup_16.x | bash +echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" > /etc/apt/sources.list.d/yarn.list +wget -qO - https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor > /usr/share/keyrings/yarnkey.gpg -# sample configuration for apache2 +curl https://couchdb.apache.org/repo/keys.asc | gpg --dearmor > /usr/share/keyrings/couchdb-archive-keyring.gpg +source /etc/os-release +echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/couchdb.list -cp /usr/share/doc/element-web/apache2-element-web.conf /etc/apache2/sites-available/element-web.conf -a2ensite element-web +apt update +apt install -y --no-install-recommends couchdb yarn nodejs nginx redis-server minio budibase -# edit /etc/apache2/sites-available/element-web.conf -# edit /etc/element-web/config.json -systemctl restart apache2 +apt install unzip -y +wget https://github.com/cloudant-labs/clouseau/releases/download/2.21.0/clouseau-2.21.0-dist.zip +unzip clouseau-2.21.0-dist.zip +mv clouseau-2.21.0 /opt/clouseau +wget -qO /opt/clouseau/clouseau.ini https://github.com/Budibase/budibase/raw/develop/hosting/single/clouseau/clouseau.ini +wget -qO /opt/clouseau/log4j.properties https://github.com/Budibase/budibase/raw/develop/hosting/single/clouseau/log4j.properties + +wget https://download.java.net/openjdk/jdk7u75/ri/jdk_ri-7u75-b13-linux-x64-18_dec_2014.tar.gz -qO - | tar -zx -C /opt/ + +/opt/java-se-7u75-ri/bin/java -server \ + -Xmx2G \ + -Dsun.net.inetaddr.ttl=30 \ + -Dsun.net.inetaddr.negative.ttl=30 \ + -Dlog4j.configuration=file:/opt/clouseau/log4j.properties \ + -XX:OnOutOfMemoryError="kill -9 %p" \ + -XX:+UseConcMarkSweepGC \ + -XX:+CMSParallelRemarkEnabled \ + -classpath '/opt/clouseau/*' \ + com.cloudant.clouseau.Main \ + /opt/clouseau/clouseau.ini + + +cat < /etc/default/minio +MINIO_ACCESS_KEY=DruccokdudaufElWuejyeerog-Anphoj +MINIO_SECRET_KEY=NorcyagOovLadjonCekUthgeOcyuFrac +MINIO_BROWSER=off +EOF +wget -qO /etc/nginx/sites-enabled/default https://github.com/Budibase/budibase/raw/develop/hosting/single/nginx/nginx-default-site.conf +wget -qO /etc/nginx/nginx.conf https://github.com/Budibase/budibase/raw/develop/hosting/single/nginx/nginx.conf + + +echo requirepass neddOryianquasJuwrav2DrokVuWeac >> /etc/redis/redis.conf + +systemctl restart couchdb minio nginx redis budibase-worker budibase-server ``` diff --git a/ressources/budibase/debmaker b/ressources/budibase/debmaker index 1890a3e..aeca65e 100755 --- a/ressources/budibase/debmaker +++ b/ressources/budibase/debmaker @@ -1,20 +1,20 @@ #!/bin/bash -VERSION=2.0.14 +VERSION=2.0.24 APP=budibase DEPOT=https://github.com/Budibase/budibase.git -GIT_VERSION=v${VERSION} +GIT_VERSION=last DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) DEBIAN_VERSION_CODENAME=bullseye -IMAGE_SIZE=12 +IMAGE_SIZE=20 PACKAGE_DEPENDENCY="yarn nodejs" main(){ base_package_upgrade envinit get_git_source -# build -# makedeb + build + makedeb } envinit() { @@ -25,16 +25,24 @@ envinit() { build() { cd /tmp/${APP} - yarn + npm install -g yarn jest lerna --force + yarn yarn bootstrap yarn build + + rm -fr /tmp/${APP}/packages/*/build } makedeb(){ PATH_DEB=/tmp/src/rootfs + + mkdir -p ${PATH_DEB}/opt/budibase/ + mv /tmp/budibase/packages/* ${PATH_DEB}/opt/budibase/ + mkdir -p ${PATH_DEB}/opt/budibase/server/client + cp ${PATH_DEB}/opt/budibase/client/manifest.json ${PATH_DEB}/opt/budibase/server/client + cp ${PATH_DEB}/opt/budibase/client/dist/budibase-client.js ${PATH_DEB}/opt/budibase/server/client - tar -zxf /tmp/${APP}/dist/element-${GIT_VERSION}.tar.gz --strip-components=1 -C ${PATH_DEB}/usr/share/element-web/ - cp /tmp/${APP}/config.sample.json ${PATH_DEB}/etc/element-web/config.json sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +$ } diff --git a/ressources/budibase/rootfs/DEBIAN/conffiles b/ressources/budibase/rootfs/DEBIAN/conffiles index a0be536..2c92295 100644 --- a/ressources/budibase/rootfs/DEBIAN/conffiles +++ b/ressources/budibase/rootfs/DEBIAN/conffiles @@ -1 +1,2 @@ -/etc/element-web/config.json +/etc/default/budibase-server +/etc/default/budibase-worker diff --git a/ressources/budibase/rootfs/DEBIAN/control b/ressources/budibase/rootfs/DEBIAN/control index 9c6dcd5..e025575 100644 --- a/ressources/budibase/rootfs/DEBIAN/control +++ b/ressources/budibase/rootfs/DEBIAN/control @@ -1,7 +1,7 @@ -Package: element-web +Package: budibase Version: %VERSION% Section: base Priority: optional Architecture: all Maintainer: Thomas Legay -Description: element-web +Description: budibase diff --git a/ressources/budibase/rootfs/DEBIAN/postinst b/ressources/budibase/rootfs/DEBIAN/postinst new file mode 100755 index 0000000..0523ce3 --- /dev/null +++ b/ressources/budibase/rootfs/DEBIAN/postinst @@ -0,0 +1,9 @@ +#!/bin/bash + +id budibase-server &> /dev/null || useradd budibase-server -r -s /bin/false -d /var/lib/budibase-server + +chown -R budibase-server:budibase-server /var/lib/budibase-server + +id budibase-worker &> /dev/null || useradd budibase-worker -r -s /bin/false -d /var/lib/budibase-worker + +chown -R budibase-worker:budibase-worker /var/lib/budibase-worker diff --git a/ressources/budibase/rootfs/etc/default/budibase-server b/ressources/budibase/rootfs/etc/default/budibase-server new file mode 100644 index 0000000..198bd2d --- /dev/null +++ b/ressources/budibase/rootfs/etc/default/budibase-server @@ -0,0 +1,23 @@ +COUCH_DB_URL=http://admin:admin@localhost:5984 +WORKER_URL=http://localhost:4002 +MINIO_URL=http://localhost:9000 +MINIO_ACCESS_KEY=DruccokdudaufElWuejyeerog-Anphoj +MINIO_SECRET_KEY=NorcyagOovLadjonCekUthgeOcyuFrac +INTERNAL_API_KEY=yaif4ShnumbivfoctErvAsBark?8Koks +BUDIBASE_ENVIRONMENT=prod +PORT=4001 +JWT_SECRET=AdliejyiarApsEmNuilyanmuifyojhay +LOG_LEVEL=info +#SENTRY_DSN=https://a34ae347621946bf8acded18e5b7d4b8@o420233.ingest.sentry.io/5338131 +#ENABLE_ANALYTICS="true" +REDIS_URL=localhost:6379 +REDIS_PASSWORD=neddOryianquasJuwrav2DrokVuWeac +BB_ADMIN_USER_EMAIL=thomas +BB_ADMIN_USER_PASSWORD=thomas +#PLUGINS_DIR=${PLUGINS_DIR} +WORKER_PORT=4002 +APP_PORT=4001 +DATA_DIR=/root/budibase/packages + NODE_ENV=production +SELF_HOSTED=1 +BUDIBASE_ENVIRONMENT=PRODUCTION diff --git a/ressources/budibase/rootfs/etc/default/budibase-worker b/ressources/budibase/rootfs/etc/default/budibase-worker new file mode 100644 index 0000000..b32b82a --- /dev/null +++ b/ressources/budibase/rootfs/etc/default/budibase-worker @@ -0,0 +1,19 @@ +CLUSTER_PORT=80 +JWT_SECRET=AdliejyiarApsEmNuilyanmuifyojhay +MINIO_ACCESS_KEY=DruccokdudaufElWuejyeerog-Anphoj +MINIO_SECRET_KEY=NorcyagOovLadjonCekUthgeOcyuFrac +MINIO_URL=http://localhost:9000 +APPS_URL=http://localhost:4001 +COUCH_DB_USERNAME=admin +COUCH_DB_PASSWORD=admin +COUCH_DB_URL=http://admin:admin@localhost:5984 +#SENTRY_DSN=https://a34ae347621946bf8acded18e5b7d4b8@o420233.ingest.sentry.io/5338131 +INTERNAL_API_KEY=yaif4ShnumbivfoctErvAsBark?8Koks +REDIS_URL=localhost:6379 +REDIS_PASSWORD=neddOryianquasJuwrav2DrokVuWeac +PORT=4002 +WORKER_PORT=4002 +APP_PORT=4001 + NODE_ENV=production +SELF_HOSTED=1 +BUDIBASE_ENVIRONMENT=PRODUCTION diff --git a/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-server.service b/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-server.service new file mode 100644 index 0000000..2836a56 --- /dev/null +++ b/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-server.service @@ -0,0 +1,13 @@ +[Unit] +Description=budibase-server +After=network.target + +[Service] +EnvironmentFile=/etc/default/budibase-server +ExecStart=/usr/bin/node /opt/budibase/server/dist/index.js +Restart=always +#User=budibase-server +#Group=budibase-server + +[Install] +WantedBy=multi-user.target diff --git a/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-worker.service b/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-worker.service new file mode 100644 index 0000000..fb05e50 --- /dev/null +++ b/ressources/budibase/rootfs/usr/lib/systemd/system/budibase-worker.service @@ -0,0 +1,13 @@ +[Unit] +Description=budibase-worker +After=network.target + +[Service] +EnvironmentFile=/etc/default/budibase-worker +ExecStart=/usr/bin/node /opt/budibase/worker/dist/index.js +Restart=always +#User=budibase-worker +#Group=budibase-worker + +[Install] +WantedBy=multi-user.target