This commit is contained in:
Thomas Legay 2024-05-15 10:20:52 +02:00
parent c72fb8b625
commit 654ff2f496
30 changed files with 265 additions and 15 deletions

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=2.3.0
VERSION=2.4.0
APP=babybuddy
DEPOT=https://github.com/babybuddy/babybuddy.git
GIT_VERSION=v${VERSION}

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=2024.4.1
VERSION=2024.4.3
APP=bitwarden-desktop
DEPOT=https://github.com/bitwarden/clients.git
GIT_VERSION=desktop-v${VERSION}

View file

@ -1,11 +1,11 @@
#!/bin/bash
VERSION=1.11.64
VERSION=1.11.66
APP=element-web
DEPOT=https://github.com/vector-im/element-web.git
GIT_VERSION=v${VERSION}
DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M)
DEBIAN_VERSION_CODENAME=bullseye
DEBIAN_VERSION_CODENAME=bookworm
IMAGE_SIZE=5
PACKAGE_DEPENDENCY="yarn nodejs"

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=1.21.10-0
VERSION=7.0.2
APP=forgejo
DEPOT=https://codeberg.org/forgejo/forgejo
GIT_VERSION=v${VERSION}

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=3.0.2
VERSION=3.0.6
APP=joplin-desktop
GIT_VERSION=v${VERSION}
DEB_VERSION=${VERSION}-$(date +%Y%m%d%H%M)

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=24.0.2
VERSION=24.0.4
APP=keycloak
DEPOT=https://github.com/keycloak/keycloak.git
GIT_VERSION=${VERSION}

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=2.14.0
VERSION=2.16.1
APP=kimai2
DEPOT=https://github.com/kevinpapst/kimai2.git
GIT_VERSION=${VERSION}

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=0.49.5
VERSION=0.49.9
APP=metabase
DEPOT=https://github.com/metabase/metabase.git
GIT_VERSION=v$VERSION

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=2.1.1
VERSION=3.0.0
APP=moodle-editor-tiny-c4l
DEPOT=https://github.com/reskit/moodle-tiny_c4l.git
GIT_VERSION=v$VERSION

View file

@ -1,9 +1,9 @@
#!/bin/bash
VERSION=4.3
VERSION=4.4.0.2
APP=moodle-format-tiles
DEPOT=https://bitbucket.org/dw8/moodle-format_tiles.git
GIT_VERSION=last
GIT_VERSION=moodle44
DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M)
DEBIAN_VERSION_CODENAME=bookworm
IMAGE_SIZE=1

View file

@ -1,9 +1,9 @@
#!/bin/bash
VERSION=4.3.0
VERSION=4.4.0
APP=moodle
DEPOT=git://git.moodle.org/moodle.git
GIT_VERSION=MOODLE_403_STABLE
GIT_VERSION=MOODLE_404_STABLE
DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M)
DEBIAN_VERSION_CODENAME=bookworm
IMAGE_SIZE=2

View file

@ -0,0 +1,17 @@
#### paperless-ngx
##### Information
Site : https://paperless-ngx.com/
Source : https://github.com/paperless-ngx/
##### Install
```bash
apt install -y wget ca-certificates
wget -qO - https://deb.lgy.fr/install.sh | bash
apt-get update
apt-get install -y paperless-ngx
```

View file

@ -0,0 +1,65 @@
#!/bin/bash
VERSION=2.8.1
APP=paperless-ngx
DEPOT=https://github.com/paperless-ngx/paperless-ngx.git
GIT_VERSION=v${VERSION}
DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M)
DEBIAN_VERSION_CODENAME=bookworm
IMAGE_SIZE=8
PACKAGE_DEPENDENCY="nodejs python3 python3-pip python3-dev imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev mime-support libzbar0 poppler-utils unpaper ghostscript icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr"
main(){
base_package_upgrade
configure_depot_nodejs 20
install_package_dependency
default_prebuild
build
makedeb
}
build(){
cd /tmp/${APP}
/tmp/venv/bin/pip install --upgrade pipenv==2023.12.1 setuptools wheel
/tmp/venv/bin/pipenv sync --dev
cd /tmp/${APP}/src-ui
export NODE_OPTIONS=--max-old-space-size=8192
npm ci
npx playwright install --with-deps
./node_modules/.bin/ng build --configuration production
cd /tmp/${APP}
/tmp/venv/bin/pipenv requirements > requirements.txt
cd /tmp/${APP}/src
/tmp/venv/bin/pipenv run python3 manage.py compilemessages
/tmp/venv/bin/pipenv run python3 manage.py collectstatic --no-input
}
makedeb(){
PATH_DEB=/tmp/src/rootfs
mkdir -p ${PATH_DEB}/usr/lib/systemd/system/
mkdir -p ${PATH_DEB}/usr/share/paperless-ngx
mkdir -p ${PATH_DEB}/usr/share/doc/paperless-ngx
mkdir -p ${PATH_DEB}/etc/default
mkdir -p ${PATH_DEB}/var/cache/paperless-ngx
cp -fr /tmp/${APP}/src/ ${PATH_DEB}/usr/share/paperless-ngx
cp -fr /tmp/${APP}/requirements.txt ${PATH_DEB}/usr/share/paperless-ngx
cp -fr /tmp/${APP}/static ${PATH_DEB}/usr/share/paperless-ngx
cp -fr /tmp/${APP}/gunicorn.conf.py ${PATH_DEB}/usr/share/paperless-ngx
cp -fr /tmp/${APP}/paperless.conf.example ${PATH_DEB}/etc/default/paperless-ngx
cp -fr /tmp/${APP}/README.md ${PATH_DEB}/usr/share/doc/paperless-ngx
cp -fr /tmp/${APP}/LICENSE ${PATH_DEB}/usr/share/doc/paperless-ngx
mv /tmp/src/prestart.sh ${PATH_DEB}/usr/share/paperless-ngx
mv /tmp/src/*.service ${PATH_DEB}/usr/lib/systemd/system/
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
}

View file

@ -0,0 +1,14 @@
[Unit]
Description=Paperless consumer
#Requires=redis.service
[Service]
User=paperless-ngx
Group=paperless-ngx
EnvironmentFile=/etc/default/paperless-ngx
WorkingDirectory=/usr/share/paperless-ngx/src
ExecStartPre=/usr/share/paperless-ngx/prestart.sh
ExecStart=/var/cache/paperless-ngx/python-venv/bin/python3 manage.py document_consumer
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,14 @@
[Unit]
Description=Paperless Celery Beat
#Requires=redis.service
[Service]
User=paperless-ngx
Group=paperless-ngx
EnvironmentFile=/etc/default/paperless-ngx
WorkingDirectory=/usr/share/paperless-ngx/src
ExecStartPre=/usr/share/paperless-ngx/prestart.sh
ExecStart=/var/cache/paperless-ngx/python-venv/bin/celery --app paperless beat --loglevel INFO
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,14 @@
[Unit]
Description=Paperless Celery Workers
#Requires=redis.service
[Service]
User=paperless-ngx
Group=paperless-ngx
EnvironmentFile=/etc/default/paperless-ngx
WorkingDirectory=/usr/share/paperless-ngx/src
ExecStartPre=/usr/share/paperless-ngx/prestart.sh
ExecStart=/var/cache/paperless-ngx/python-venv/bin/celery --app paperless worker --loglevel INFO
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,17 @@
[Unit]
Description=Paperless webserver
After=network.target
Wants=network.target
#Requires=redis.service
#Requires=paperless-webserver.socket
[Service]
User=paperless-ngx
Group=paperless-ngx
EnvironmentFile=/etc/default/paperless-ngx
WorkingDirectory=/usr/share/paperless-ngx/src
ExecStartPre=/usr/share/paperless-ngx/prestart.sh
ExecStart=/var/cache/paperless-ngx/python-venv/bin/gunicorn -c ../gunicorn.conf.py paperless.asgi:application
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,12 @@
#!/usr/bin/env bash
(
flock 9
if [ -e /var/cache/paperless-ngx/lastcheck ] && [ "$(cat /var/cache/paperless-ngx/lastcheck)" == "$(date +%y%m%d)" ]
then
echo allready check today
else
python3 -m venv /var/cache/paperless-ngx/python-venv
/var/cache/paperless-ngx/python-venv/bin/pip3 install -r /usr/share/paperless-ngx/requirements.txt
date +%y%m%d > /var/cache/paperless-ngx/lastcheck
fi
) 9>python3 -m venv /tmp/paperless-ngx-python-venv

View file

@ -0,0 +1 @@
/etc/default/paperless-ngx

View file

@ -0,0 +1,8 @@
Package: paperless-ngx
Version: %VERSION%
Section: contrib
Priority: optional
Architecture: all
Maintainer: Thomas Legay <thomas@lgy.fr>
Depends: python3, python3-pip, python3-dev, imagemagick, fonts-liberation, gnupg, libpq-dev, default-libmysqlclient-dev, pkg-config, libmagic-dev, mime-support, libzbar0, poppler-utils, unpaper, ghostscript, icc-profiles-free, qpdf, liblept5, libxml2, pngquant, zlib1g, tesseract-ocr, gcc
Description: Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.

View file

@ -0,0 +1,15 @@
#!/bin/bash
APP=paperless-ngx
HOMEDIR=/var/lib/paperless-ngx
LOGDIR=/var/log/paperless-ngx
CACHEDIR=/var/cache/paperless-ngx
[ -d ${HOMEDIR} ] || mkdir -p ${HOMEDIR}
id ${APP} &> /dev/null || useradd ${APP} -r -s /bin/false -d ${HOMEDIR}
chown ${APP}:${APP} ${HOMEDIR}
[ -d ${LOGDIR} ] || mkdir -p ${LOGDIR}
chown ${APP}:${APP} ${LOGDIR}
[ -d ${CACHEDIR} ] || mkdir -p ${CACHEDIR}
chown ${APP}:${APP} ${CACHEDIR}

View file

@ -0,0 +1,31 @@
#!/bin/bash
VERSION=0.1
APP=smbnetfs-utils
GIT_VERSION=${VERSION}
DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M)
DEPOT=N/A
DEBIAN_VERSION_CODENAME=bookworm
IMAGE_SIZE=1
PACKAGE_DEPENDENCY=""
main(){
base_package_upgrade
install_package_dependency
makedeb
}
makedeb(){
PATH_DEB=/tmp/src/rootfs/
mkdir -p ${PATH_DEB}/usr/bin/
mkdir -p ${PATH_DEB}/etc/default/
mkdir -p ${PATH_DEB}/usr/lib/systemd/system/
mv /tmp/src/smbnetfs@.service ${PATH_DEB}/usr/lib/systemd/system/
mv /tmp/src/smbnetfs-utils ${PATH_DEB}/usr/bin/
mv /tmp/src/smbnetfs-utils.default ${PATH_DEB}/etc/default/smbnetfs-utils
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
}

View file

@ -0,0 +1 @@
/etc/default/smbnetfs-utils

View file

@ -0,0 +1,8 @@
Package: smbnetfs-utils
Version: %VERSION%
Section: contrib
Priority: optional
Architecture: all
Depends: smbnetfs
Maintainer: Thomas Legay <thomas@lgy.fr>
Description: smbnetfs-utils

View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
source /etc/default/smbnetfs-utils
ACTION=$1
if [ ! -e ${HOME}/${CONF_FILE} ]; then
echo 'configuration file needed'
exit 1
fi
if [ "$ACTION" == "" ]; then
echo 'smbnetfs-utils [mount/unmount]'
elif [ "$ACTION" == "mount" ]; then
[ ! -e ${HOME}/${SMBNETFS_MOUNT_POINT} ] && mkdir -p ${HOME}/${SMBNETFS_MOUNT_POINT}
/usr/bin/smbnetfs -f ${HOME}/${SMBNETFS_MOUNT_POINT} -o config=${HOME}/${CONF_FILE}
elif [ "$ACTION" == "unmount" ] ; then
/usr/bin/fusermount -u ${HOME}/${SMBNETFS_MOUNT_POINT}
fi

View file

@ -0,0 +1,2 @@
SMBNETFS_MOUNT_POINT=network
CONF_FILE=.smb/smbnetfs.conf

View file

@ -0,0 +1,14 @@
[Unit]
Description=Mount Samba Shares
After=network.target
[Service]
User=%I
Group=%I
ExecStart=/usr/bin/smbnetfs-utils mount
ExecStop=/usr/bin/smbnetfs-utils unmount
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target

View file

@ -1,6 +1,6 @@
#!/bin/bash
VERSION=1.36.1
VERSION=1.37.1
APP=zigbee2mqtt
DEPOT=https://github.com/Koenkk/zigbee2mqtt.git
GIT_VERSION=${VERSION}