From b3b102814b0e925a237fa76a5fb84610c21c8afa Mon Sep 17 00:00:00 2001 From: thomas Date: Wed, 12 Oct 2022 03:19:49 +0200 Subject: [PATCH] Add clouseau --- README.MD | 1 + ressources/clouseau/README.MD | 22 +++++++++ ressources/clouseau/debmaker | 48 +++++++++++++++++++ ressources/clouseau/rootfs/DEBIAN/changelog | 0 ressources/clouseau/rootfs/DEBIAN/conffiles | 1 + ressources/clouseau/rootfs/DEBIAN/control | 8 ++++ ressources/clouseau/rootfs/DEBIAN/postinst | 5 ++ .../clouseau/rootfs/etc/clouseau/clouseau.ini | 13 +++++ .../rootfs/etc/clouseau/log4j.properties | 4 ++ ressources/clouseau/rootfs/usr/bin/clouseau | 12 +++++ .../usr/lib/systemd/system/clouseau.service | 12 +++++ .../clouseau/rootfs/var/lib/clouseau/.gitkeep | 0 12 files changed, 126 insertions(+) create mode 100644 ressources/clouseau/README.MD create mode 100755 ressources/clouseau/debmaker create mode 100644 ressources/clouseau/rootfs/DEBIAN/changelog create mode 100644 ressources/clouseau/rootfs/DEBIAN/conffiles create mode 100644 ressources/clouseau/rootfs/DEBIAN/control create mode 100755 ressources/clouseau/rootfs/DEBIAN/postinst create mode 100644 ressources/clouseau/rootfs/etc/clouseau/clouseau.ini create mode 100644 ressources/clouseau/rootfs/etc/clouseau/log4j.properties create mode 100755 ressources/clouseau/rootfs/usr/bin/clouseau create mode 100644 ressources/clouseau/rootfs/usr/lib/systemd/system/clouseau.service create mode 100644 ressources/clouseau/rootfs/var/lib/clouseau/.gitkeep diff --git a/README.MD b/README.MD index b32176f..1b5176c 100644 --- a/README.MD +++ b/README.MD @@ -47,6 +47,7 @@ To enter in temporary filesystem - [authelia](./ressources/authelia) - [bitwarden-desktop](./ressources/bitwarden-desktop) - [budibase](./ressources/budibase) + - [clouseau](./ressources/clouseau) - [cloudbeaver](./ressources/cloudbeaver) - [element-web](./ressources/element-web) - [flame](./ressources/flame) diff --git a/ressources/clouseau/README.MD b/ressources/clouseau/README.MD new file mode 100644 index 0000000..926e039 --- /dev/null +++ b/ressources/clouseau/README.MD @@ -0,0 +1,22 @@ +#### clouseau + +##### Information +Source : https://github.com/cloudant-labs/clouseau + +##### Install + +```bash +apt update +apt install -y --no-install-recommends curl apt-transport-https gnupg wget ca-certificates software-properties-common + +wget -qO - https://deb.lgy.fr/install.sh | bash +apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 +apt-add-repository 'deb http://repos.azulsystems.com/debian stable main' +apt-get update +apt-get install -y clouseau + +#edit /etc/clouseau/clouseau.ini + +systemctl enable --now clouseau +``` + diff --git a/ressources/clouseau/debmaker b/ressources/clouseau/debmaker new file mode 100755 index 0000000..06b9d4f --- /dev/null +++ b/ressources/clouseau/debmaker @@ -0,0 +1,48 @@ +#!/bin/bash + +VERSION=2.21.1 +APP=clouseau +DEPOT=https://github.com/cloudant-labs/clouseau.git +GIT_VERSION=${VERSION} +DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) +DEBIAN_VERSION_CODENAME=bullseye +IMAGE_SIZE=3 +PACKAGE_DEPENDENCY="software-properties-common erlang" + +main(){ + envinit + get_git_source + build + makedeb +} + +envinit() { + base_package_upgrade + install_package_dependency + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 + apt-add-repository 'deb http://repos.azulsystems.com/debian stable main' + apt-get update + apt-get install -y --no-install-recommends zulu-7 + mkdir -p /usr/share/maven + wget -O - https://dlcdn.apache.org/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz | tar -zxC /usr/share/maven --strip-components=1 + + rm -f /usr/bin/mvn + ln -s /usr/share/maven/bin/mvn /usr/bin/mvn +} + +build() { + cd /tmp/${APP} + epmd -daemon & + mvn -B package --file pom.xml + skill -9 epmd +} + +makedeb(){ + PATH_DEB=/tmp/src/rootfs + + mkdir ${PATH_DEB}/usr/lib/clouseau + tar -zxvf /tmp/${APP}/target/clouseau-*.tar.gz -C ${PATH_DEB}/usr/lib/clouseau --strip-components=1 + + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} diff --git a/ressources/clouseau/rootfs/DEBIAN/changelog b/ressources/clouseau/rootfs/DEBIAN/changelog new file mode 100644 index 0000000..e69de29 diff --git a/ressources/clouseau/rootfs/DEBIAN/conffiles b/ressources/clouseau/rootfs/DEBIAN/conffiles new file mode 100644 index 0000000..2496a80 --- /dev/null +++ b/ressources/clouseau/rootfs/DEBIAN/conffiles @@ -0,0 +1 @@ +/etc/clouseau/clouseau.ini diff --git a/ressources/clouseau/rootfs/DEBIAN/control b/ressources/clouseau/rootfs/DEBIAN/control new file mode 100644 index 0000000..5feb7fb --- /dev/null +++ b/ressources/clouseau/rootfs/DEBIAN/control @@ -0,0 +1,8 @@ +Package: clouseau +Version: %VERSION% +Section: base +Priority: optional +Architecture: all +Depends: zulu-7 +Maintainer: Thomas Legay +Description: clouseau diff --git a/ressources/clouseau/rootfs/DEBIAN/postinst b/ressources/clouseau/rootfs/DEBIAN/postinst new file mode 100755 index 0000000..eb651fe --- /dev/null +++ b/ressources/clouseau/rootfs/DEBIAN/postinst @@ -0,0 +1,5 @@ +#!/bin/bash + +id clouseau &> /dev/null || useradd clouseau -r -s /bin/false -d /var/lib/clouseau +chown -R clouseau:clouseau /var/lib/clouseau + diff --git a/ressources/clouseau/rootfs/etc/clouseau/clouseau.ini b/ressources/clouseau/rootfs/etc/clouseau/clouseau.ini new file mode 100644 index 0000000..03d108c --- /dev/null +++ b/ressources/clouseau/rootfs/etc/clouseau/clouseau.ini @@ -0,0 +1,13 @@ +[clouseau] + +; the name of the Erlang node created by the service, leave this unchanged +name=clouseau@127.0.0.1 + +; set this to the same distributed Erlang cookie used by the CouchDB nodes +cookie=monster + +; the path where you would like to store the search index files +dir=/var/lib/clouseau/ + +; the number of search indexes that can be open simultaneously +max_indexes_open=500 diff --git a/ressources/clouseau/rootfs/etc/clouseau/log4j.properties b/ressources/clouseau/rootfs/etc/clouseau/log4j.properties new file mode 100644 index 0000000..3f34e88 --- /dev/null +++ b/ressources/clouseau/rootfs/etc/clouseau/log4j.properties @@ -0,0 +1,4 @@ +log4j.rootLogger=debug, CONSOLE +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %c [%p] %m%n diff --git a/ressources/clouseau/rootfs/usr/bin/clouseau b/ressources/clouseau/rootfs/usr/bin/clouseau new file mode 100755 index 0000000..9e59fc8 --- /dev/null +++ b/ressources/clouseau/rootfs/usr/bin/clouseau @@ -0,0 +1,12 @@ +#!/bin/bash +/usr/lib/jvm/zulu-7-amd64/bin/java -server \ + -Xmx2G \ + -Dsun.net.inetaddr.ttl=30 \ + -Dsun.net.inetaddr.negative.ttl=30 \ + -Dlog4j.configuration=file:/etc/clouseau/log4j.properties \ + -XX:OnOutOfMemoryError="kill -9 %p" \ + -XX:+UseConcMarkSweepGC \ + -XX:+CMSParallelRemarkEnabled \ + -classpath '/opt/clouseau/*' \ + com.cloudant.clouseau.Main \ + /etc/clouseau/clouseau.ini diff --git a/ressources/clouseau/rootfs/usr/lib/systemd/system/clouseau.service b/ressources/clouseau/rootfs/usr/lib/systemd/system/clouseau.service new file mode 100644 index 0000000..15c5c1b --- /dev/null +++ b/ressources/clouseau/rootfs/usr/lib/systemd/system/clouseau.service @@ -0,0 +1,12 @@ +[Unit] +Description=clouseau +After=network.target + +[Service] +ExecStart=/usr/bin/clouseau +Restart=always +User=clouseau +Group=clouseau + +[Install] +WantedBy=multi-user.target diff --git a/ressources/clouseau/rootfs/var/lib/clouseau/.gitkeep b/ressources/clouseau/rootfs/var/lib/clouseau/.gitkeep new file mode 100644 index 0000000..e69de29