diff --git a/lib/exec_in_chroot.sh b/lib/exec_in_chroot.sh index 7d84032..a57ce7d 100755 --- a/lib/exec_in_chroot.sh +++ b/lib/exec_in_chroot.sh @@ -26,13 +26,15 @@ configure_depot_yarn() { } configure_depot_nodejs() { - NODE_VERSION=16.x + NODE_VERSION=16 [ ! "$1" == "" ] && NODE_VERSION=$1 - grep -q 16.x /etc/apt/sources.list.d/nodesource.list + XNODE_VERSION=${NODE_VERSION}.x + grep -q ${XNODE_VERSION} /etc/apt/sources.list.d/nodesource.list if [ $? -ne 0 ] then - wget -qO - https://deb.nodesource.com/setup_${NODE_VERSION} | bash + wget -qO - https://deb.nodesource.com/setup_${XNODE_VERSION} | bash fi + echo -e "Package: nodejs\\nPin: version ${NODE_VERSION}.*\\nPin-Priority: 1000" > /etc/apt/preferences.d/nodejs } install_go() { diff --git a/lib/function.sh b/lib/function.sh index f81e976..339d5f0 100644 --- a/lib/function.sh +++ b/lib/function.sh @@ -49,6 +49,7 @@ zdebmaker_inject(){ sudo mkdir ${MOUNT_PATH}/${APP}/tmp/dist/ [ -d ${MOUNT_PATH}/${APP}/tmp/src ] && sudo rm -rf ${MOUNT_PATH}/${APP}/tmp/src/ sudo mkdir -p ${MOUNT_PATH}/${APP}/tmp/src + sudo echo . /tmp/src/exec_in_chroot.sh | sudo tee ${MOUNT_PATH}/${APP}/root/.bashrc sudo cp -pfr ressources/${APP}/* ${MOUNT_PATH}/${APP}/tmp/src sudo cp lib/exec_in_chroot.sh ${MOUNT_PATH}/${APP}/tmp/src sudo find ${MOUNT_PATH}/${APP}/tmp/src -name .gitkeep -exec rm {} \; diff --git a/ressources/adguardhome/debmaker b/ressources/adguardhome/debmaker index 92efdf0..7e5504d 100755 --- a/ressources/adguardhome/debmaker +++ b/ressources/adguardhome/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=0.108.0-b.20 +VERSION=0.108.0-b.21 APP=adguardhome DEPOT=https://github.com/AdguardTeam/AdGuardHome.git GIT_VERSION=v${VERSION} diff --git a/ressources/budibase/debmaker b/ressources/budibase/debmaker index b3f63e0..895178d 100755 --- a/ressources/budibase/debmaker +++ b/ressources/budibase/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=2.1.11 +VERSION=2.1.26 APP=budibase DEPOT=https://github.com/Budibase/budibase.git GIT_VERSION=v${VERSION} diff --git a/ressources/cloudbeaver/debmaker b/ressources/cloudbeaver/debmaker index f91463c..2f5959a 100755 --- a/ressources/cloudbeaver/debmaker +++ b/ressources/cloudbeaver/debmaker @@ -19,7 +19,7 @@ main(){ envinit() { configure_depot_yarn - configure_depot_nodejs 14.x + configure_depot_nodejs 14 install_package_dependency npm install -g lerna } diff --git a/ressources/crfpp/README.MD b/ressources/crfpp/README.MD new file mode 100644 index 0000000..454dfd5 --- /dev/null +++ b/ressources/crfpp/README.MD @@ -0,0 +1,15 @@ +#### crfpp + +##### Information +Site : https://taku910.github.io/crfpp + +Source : https://github.com/taku910/crfpp + +##### Install + +```bash +apt install -y wget ca-certificates +wget -qO - https://deb.lgy.fr/install.sh | bash +apt-get update +apt-get install -y crfpp +``` diff --git a/ressources/crfpp/debmaker b/ressources/crfpp/debmaker new file mode 100755 index 0000000..7288243 --- /dev/null +++ b/ressources/crfpp/debmaker @@ -0,0 +1,32 @@ +#!/bin/bash + +VERSION=0.59 +APP=crfpp +DEPOT=https://github.com/2pc/crfpp.git +GIT_VERSION=last +DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) +DEBIAN_VERSION_CODENAME=bullseye +IMAGE_SIZE=1 +PACKAGE_DEPENDENCY="build-essential autoconf" + +main(){ + base_package_upgrade + install_package_dependency + get_git_source + build + makedeb +} + +build() { + cd /tmp/${APP} + sed -i 's/#include "winmain.h"//' crf_*.cpp + ./configure --prefix=/tmp/src/rootfs/usr + make install +} + +makedeb(){ + PATH_DEB=/tmp/src/rootfs + + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} diff --git a/ressources/crfpp/rootfs/DEBIAN/changelog b/ressources/crfpp/rootfs/DEBIAN/changelog new file mode 100644 index 0000000..e69de29 diff --git a/ressources/crfpp/rootfs/DEBIAN/control b/ressources/crfpp/rootfs/DEBIAN/control new file mode 100644 index 0000000..d866a10 --- /dev/null +++ b/ressources/crfpp/rootfs/DEBIAN/control @@ -0,0 +1,7 @@ +Package: crfpp +Version: %VERSION% +Section: contrib +Priority: optional +Architecture: all +Maintainer: Thomas Legay +Description: crfpp diff --git a/ressources/element-web/debmaker b/ressources/element-web/debmaker index cbbb4fb..2bfb7b0 100755 --- a/ressources/element-web/debmaker +++ b/ressources/element-web/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=1.11.13 +VERSION=1.11.14 APP=element-web DEPOT=https://github.com/vector-im/element-web.git GIT_VERSION=v${VERSION} diff --git a/ressources/glpi/debmaker b/ressources/glpi/debmaker index ef85711..65be20d 100755 --- a/ressources/glpi/debmaker +++ b/ressources/glpi/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=10.0.3 +VERSION=10.0.5 APP=glpi DEPOT=https://github.com/glpi-project/glpi.git GIT_VERSION=${VERSION} diff --git a/ressources/grocy/debmaker b/ressources/grocy/debmaker index c59644b..0231558 100755 --- a/ressources/grocy/debmaker +++ b/ressources/grocy/debmaker @@ -1,11 +1,11 @@ #!/bin/bash -VERSION=3.3.1 +VERSION=3.3.2 APP=grocy DEPOT=https://github.com/grocy/grocy.git GIT_VERSION=v$VERSION DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) -DEBIAN_VERSION_CODENAME=sid +DEBIAN_VERSION_CODENAME=bookworm IMAGE_SIZE=4 STEP="base_package_upgrade envinit get_git_source build makedeb" diff --git a/ressources/joplin-desktop/debmaker b/ressources/joplin-desktop/debmaker index c65beae..e66d0a0 100755 --- a/ressources/joplin-desktop/debmaker +++ b/ressources/joplin-desktop/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=2.9.12 +VERSION=2.9.16 APP=joplin-desktop GIT_VERSION=v${VERSION} DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) diff --git a/ressources/joplin-server/debmaker b/ressources/joplin-server/debmaker index 6cc9a40..4ed2a5b 100755 --- a/ressources/joplin-server/debmaker +++ b/ressources/joplin-server/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=2.9.5 +VERSION=2.9.7 APP=joplin-server GIT_VERSION=server-v${VERSION} DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M) diff --git a/ressources/mautrix-whatsapp/debian/changelog b/ressources/mautrix-whatsapp/debian/changelog index d65c611..eb9c240 100644 --- a/ressources/mautrix-whatsapp/debian/changelog +++ b/ressources/mautrix-whatsapp/debian/changelog @@ -1,3 +1,9 @@ +mautrix-whatsapp (0.7.2) UNRELEASED; urgency=medium + + * First deb version + + -- Thomas Legay Mon, 17 Sep 2022 21:08:37 +0200 + mautrix-whatsapp (0.7.1) UNRELEASED; urgency=medium * First deb version diff --git a/ressources/mautrix-whatsapp/debmaker b/ressources/mautrix-whatsapp/debmaker index b163069..bd28bc0 100755 --- a/ressources/mautrix-whatsapp/debmaker +++ b/ressources/mautrix-whatsapp/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=0.7.1 +VERSION=0.7.2 APP=mautrix-whatsapp DEPOT=https://github.com/mautrix/whatsapp.git GIT_VERSION=v${VERSION} diff --git a/ressources/mealie/README.MD b/ressources/mealie/README.MD new file mode 100644 index 0000000..05ae921 --- /dev/null +++ b/ressources/mealie/README.MD @@ -0,0 +1,19 @@ +#### mealie + +##### Information +Site : https://mealie.io/ + +Source : https://github.com/hay-kot/mealie + +##### Install + +```bash +apt install -y wget ca-certificates +wget -qO - https://deb.lgy.fr/install.sh | bash +apt-get update +apt-get install -y mealie + +#Edit /etc/default/mealie-api and /etc/default/mealie-frontend + +systemctl enable --now mealie-api mealie-frontend +``` diff --git a/ressources/mealie/debmaker b/ressources/mealie/debmaker new file mode 100755 index 0000000..51591bc --- /dev/null +++ b/ressources/mealie/debmaker @@ -0,0 +1,77 @@ +#!/bin/bash + +VERSION=1.0.0 +APP=mealie +DEPOT=https://github.com/hay-kot/mealie.git +GIT_VERSION=last +DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M) +DEBIAN_VERSION_CODENAME=bookworm +IMAGE_SIZE=6 +PACKAGE_DEPENDENCY="curl build-essential libpq-dev libwebp-dev libsasl2-dev libldap2-dev libssl-dev gnupg2 python3-pip python3-dev git wget ca-certificates python3-poetry python3-cachecontrol nodejs yarn" + +main(){ + base_package_upgrade + configure_depot_nodejs + configure_depot_yarn + install_package_dependency + get_git_source + build_frontend + build_api + makedeb_frontend + makedeb_api +} + +build_frontend() { + cd /tmp/${APP}/frontend + + yarn install + yarn build + rm -fr node_modules/ + NODE_ENV=production yarn install +} + +build_api() { + cd /tmp/${APP}/ + + export PYTHONUNBUFFERED=1 + export PYTHONDONTWRITEBYTECODE=1 + export PIP_NO_CACHE_DIR=off + export PIP_DISABLE_PIP_VERSION_CHECK=on + export PIP_DEFAULT_TIMEOUT=100 + export POETRY_VIRTUALENVS_IN_PROJECT=true + export POETRY_NO_INTERACTION=1 + export VENV_PATH="/usr/share/mealie/.venv" + + [ -e /usr/share/mealie ] && rm -fr /usr/share/mealie + mkdir /usr/share/mealie + mv mealie/ alembic* poetry.lock gunicorn_conf.py pyproject.toml /usr/share/mealie + cd /usr/share/mealie + poetry install -E pgsql --no-dev + + export PRODUCTION=true + /usr/share/mealie/.venv/bin/python /usr/share/mealie/mealie/scripts/install_model.py + +} + +makedeb_frontend(){ + PATH_DEB=/tmp/src/rootfs-frontend + + mkdir -p ${PATH_DEB}/usr/share/mealie/ + cp -fr /tmp/${APP}/frontend ${PATH_DEB}/usr/share/mealie/ + + mkdir -p ${PATH_DEB}/var/lib/mealie/api + ln -s /usr/share/mealie/alembic ${PATH_DEB}/var/lib/mealie/api/alembic + + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} + +makedeb_api(){ + PATH_DEB=/tmp/src/rootfs-api + + mkdir -p ${PATH_DEB}/usr/share/ + cp -fr /usr/share/mealie ${PATH_DEB}/usr/share/ + + sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control + fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist +} diff --git a/ressources/mealie/rootfs-api/DEBIAN/changelog b/ressources/mealie/rootfs-api/DEBIAN/changelog new file mode 100644 index 0000000..e69de29 diff --git a/ressources/mealie/rootfs-api/DEBIAN/conffiles b/ressources/mealie/rootfs-api/DEBIAN/conffiles new file mode 100644 index 0000000..ffb552a --- /dev/null +++ b/ressources/mealie/rootfs-api/DEBIAN/conffiles @@ -0,0 +1 @@ +/etc/default/mealie-api diff --git a/ressources/mealie/rootfs-api/DEBIAN/control b/ressources/mealie/rootfs-api/DEBIAN/control new file mode 100644 index 0000000..aa4a2a3 --- /dev/null +++ b/ressources/mealie/rootfs-api/DEBIAN/control @@ -0,0 +1,7 @@ +Package: mealie-api +Version: %VERSION% +Section: contrib +Priority: optional +Architecture: all +Maintainer: Thomas Legay +Description: mealie-api diff --git a/ressources/mealie/rootfs-api/DEBIAN/postinst b/ressources/mealie/rootfs-api/DEBIAN/postinst new file mode 100755 index 0000000..8d6c226 --- /dev/null +++ b/ressources/mealie/rootfs-api/DEBIAN/postinst @@ -0,0 +1,19 @@ +#!/bin/bash +APP=mealie-api +HOMEDIR=/var/lib/mealie/api + +[ -d ${HOMEDIR} ] || mkdir -p ${HOMEDIR} +id ${APP} &> /dev/null || useradd ${APP} -r -s /bin/false -d ${HOMEDIR} + +chown ${APP}:${APP} ${HOMEDIR} + +systemctl | grep ${APP} | grep -q running && systemctl daemon-reload && systemctl restart ${APP} + +if [[ $(systemctl list-unit-files | grep ${APP}.services) -eq 0 ]] +then + systemctl daemon-reload + if [ "$(systemctl is-active ${APP}.service)" != "inactive" ] + then + systemctl restart ${APP} + fi +fi diff --git a/ressources/mealie/rootfs-api/etc/default/mealie-api b/ressources/mealie/rootfs-api/etc/default/mealie-api new file mode 100644 index 0000000..427aea9 --- /dev/null +++ b/ressources/mealie/rootfs-api/etc/default/mealie-api @@ -0,0 +1,46 @@ +PRODUCTION=true +TESTING=false +BASE_DIR=/usr/share/mealie +DATA_DIR=/var/lib/mealie/api + +ALLOW_SIGNUP=false +API_PORT=9000 +API_DOCS=true +SECURITY_MAX_LOGIN_ATTEMPTS=5 +SECURITY_USER_LOCKOUT_TIME=24 +TOKEN_TIME=48 + +DB_ENGINE=sqlite # Optional='sqlite', 'postgres' + +# ===================================== +# Postgres Config +POSTGRES_USER=mealie +POSTGRES_PASSWORD=mealie +POSTGRES_SERVER=postgres +POSTGRES_PORT=5432 +POSTGRES_DB=mealie + +# ===================================== +# Web Concurrency +WEB_GUNICORN=true +WORKERS_PER_CORE=0.5 +MAX_WORKERS=1 +WEB_CONCURRENCY=1 + +# ===================================== +# Email configuration +# SMTP_HOST= +# SMTP_PORT=587 +# SMTP_FROM_NAME=Mealie +# SMTP_AUTH_STRATEGY=TLS # Options='TLS', 'SSL', 'NONE' +# SMTP_FROM_EMAIL= +# SMTP_USER= +# SMTP_PASSWORD= + +#LDAP_AUTH_ENABLED= +#LDAP_SERVER_URL= +#LDAP_TLS_INSECURE= +#LDAP_TLS_CACERTFILE= +#LDAP_BIND_TEMPLATE= +#LDAP_BASE_DN= +#LDAP_ADMIN_FILTER= diff --git a/ressources/mealie/rootfs-api/usr/bin/mealie-api b/ressources/mealie/rootfs-api/usr/bin/mealie-api new file mode 100755 index 0000000..13599de --- /dev/null +++ b/ressources/mealie/rootfs-api/usr/bin/mealie-api @@ -0,0 +1,3 @@ +#!usr/bin/env bash +/usr/share/mealie/.venv/bin/python /usr/share/mealie/mealie/db/init_db.py +/usr/share/mealie/.venv/bin/uvicorn mealie.app:app --host 0.0.0.0 diff --git a/ressources/mealie/rootfs-api/usr/lib/systemd/system/mealie-api.service b/ressources/mealie/rootfs-api/usr/lib/systemd/system/mealie-api.service new file mode 100644 index 0000000..4a4a71b --- /dev/null +++ b/ressources/mealie/rootfs-api/usr/lib/systemd/system/mealie-api.service @@ -0,0 +1,16 @@ +[Unit] +Description=mealie-api +After=multi-user.target + +[Service] +User=mealie-api +Group=mealie-api +EnvironmentFile=/etc/default/mealie-api +ExecStart=/usr/bin/mealie-api +WorkingDirectory=/var/lib/mealie/api +SyslogIdentifier=mealie-api +Restart=on-failure +RestartSec=30s + +[Install] +WantedBy=multi-user.target diff --git a/ressources/mealie/rootfs-frontend/DEBIAN/changelog b/ressources/mealie/rootfs-frontend/DEBIAN/changelog new file mode 100644 index 0000000..e69de29 diff --git a/ressources/mealie/rootfs-frontend/DEBIAN/conffiles b/ressources/mealie/rootfs-frontend/DEBIAN/conffiles new file mode 100644 index 0000000..e2d7963 --- /dev/null +++ b/ressources/mealie/rootfs-frontend/DEBIAN/conffiles @@ -0,0 +1 @@ +/etc/default/mealie-frontend diff --git a/ressources/mealie/rootfs-frontend/DEBIAN/control b/ressources/mealie/rootfs-frontend/DEBIAN/control new file mode 100644 index 0000000..3a46a93 --- /dev/null +++ b/ressources/mealie/rootfs-frontend/DEBIAN/control @@ -0,0 +1,7 @@ +Package: mealie-frontend +Version: %VERSION% +Section: contrib +Priority: optional +Architecture: all +Maintainer: Thomas Legay +Description: mealie-frontend diff --git a/ressources/mealie/rootfs-frontend/DEBIAN/postinst b/ressources/mealie/rootfs-frontend/DEBIAN/postinst new file mode 100755 index 0000000..0b25d12 --- /dev/null +++ b/ressources/mealie/rootfs-frontend/DEBIAN/postinst @@ -0,0 +1,19 @@ +#!/bin/bash +APP=mealie-frontend +HOMEDIR=/var/lib/mealie/frontend + +[ -d ${HOMEDIR} ] || mkdir -p ${HOMEDIR} +id ${APP} &> /dev/null || useradd ${APP} -r -s /bin/false -d ${HOMEDIR} + +chown ${APP}:${APP} ${HOMEDIR} + +systemctl | grep ${APP} | grep -q running && systemctl daemon-reload && systemctl restart ${APP} + +if [[ $(systemctl list-unit-files | grep ${APP}.services) -eq 0 ]] +then + systemctl daemon-reload + if [ "$(systemctl is-active ${APP}.service)" != "inactive" ] + then + systemctl restart ${APP} + fi +fi diff --git a/ressources/mealie/rootfs-frontend/etc/default/mealie-frontend b/ressources/mealie/rootfs-frontend/etc/default/mealie-frontend new file mode 100644 index 0000000..0c0d5e2 --- /dev/null +++ b/ressources/mealie/rootfs-frontend/etc/default/mealie-frontend @@ -0,0 +1,19 @@ +NODE_ENV=production +#API_URL=http://mealie-api:9000 +API_URL=http://localhost:9000 + +THEME_LIGHT_PRIMARY=#E58325 +THEME_LIGHT_ACCENT=#007A99 +THEME_LIGHT_SECONDARY=#973542 +THEME_LIGHT_SUCCESS=#43A047 +THEME_LIGHT_INFO=#1976D2 +THEME_LIGHT_WARNING=#FF6D00 +THEME_LIGHT_ERROR=#EF5350 + +THEME_DARK_PRIMARY=#E58325 +THEME_DARK_ACCENT=#007A99 +THEME_DARK_SECONDARY=#973542 +THEME_DARK_SUCCESS=#43A047 +THEME_DARK_INFO=#1976D2 +THEME_DARK_WARNING=#FF6D00 +THEME_DARK_ERROR=#EF5350 diff --git a/ressources/mealie/rootfs-frontend/usr/lib/systemd/system/mealie-frontend.service b/ressources/mealie/rootfs-frontend/usr/lib/systemd/system/mealie-frontend.service new file mode 100644 index 0000000..585a738 --- /dev/null +++ b/ressources/mealie/rootfs-frontend/usr/lib/systemd/system/mealie-frontend.service @@ -0,0 +1,16 @@ +[Unit] +Description=mealie-frontend +After=multi-user.target + +[Service] +User=mealie-frontend +Group=mealie-frontend +EnvironmentFile=/etc/default/mealie-frontend +ExecStart=node ./node_modules/nuxt/bin/nuxt.js start -H 0.0.0.0 +WorkingDirectory=/usr/share/mealie/frontend/ +SyslogIdentifier=mealie-frontend +Restart=on-failure +RestartSec=30s + +[Install] +WantedBy=multi-user.target diff --git a/ressources/picapport/rootfs/DEBIAN/postinst b/ressources/picapport/rootfs/DEBIAN/postinst index 8788aa9..6de9549 100755 --- a/ressources/picapport/rootfs/DEBIAN/postinst +++ b/ressources/picapport/rootfs/DEBIAN/postinst @@ -6,11 +6,11 @@ id ${APP} &> /dev/null || useradd ${APP} -r -s /bin/false -d /var/lib/${APP} chown ${APP}:${APP} /var/lib/${APP}/ chown ${APP}:${APP} /var/lib/${APP}/* -if [[ $(systemctl list-unit-files | grep picapport.services) -eq 0 ]] -then - systemctl daemon-reload - if [ "$(systemctl is-active ${APP}.service)" != "inactive" ] - then +if [[ $(systemctl list-unit-files | grep ${APP}.services) -eq 0 ]] +then + systemctl daemon-reload + if [ "$(systemctl is-active ${APP}.service)" != "inactive" ] + then systemctl restart ${APP} fi fi diff --git a/ressources/zigbee2mqtt/debmaker b/ressources/zigbee2mqtt/debmaker index 1b8e59f..f4398bd 100755 --- a/ressources/zigbee2mqtt/debmaker +++ b/ressources/zigbee2mqtt/debmaker @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=1.28.1 +VERSION=1.28.2 APP=zigbee2mqtt DEPOT=https://github.com/Koenkk/zigbee2mqtt.git GIT_VERSION=${VERSION}