20240515
This commit is contained in:
parent
c72fb8b625
commit
654ff2f496
30 changed files with 265 additions and 15 deletions
17
ressources/paperless-ngx/README.MD
Normal file
17
ressources/paperless-ngx/README.MD
Normal 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
|
||||
|
||||
```
|
65
ressources/paperless-ngx/debmaker
Executable file
65
ressources/paperless-ngx/debmaker
Executable 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
|
||||
|
||||
}
|
14
ressources/paperless-ngx/paperless-consumer.service
Normal file
14
ressources/paperless-ngx/paperless-consumer.service
Normal 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
|
14
ressources/paperless-ngx/paperless-scheduler.service
Normal file
14
ressources/paperless-ngx/paperless-scheduler.service
Normal 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
|
14
ressources/paperless-ngx/paperless-task-queue.service
Normal file
14
ressources/paperless-ngx/paperless-task-queue.service
Normal 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
|
17
ressources/paperless-ngx/paperless-webserver.service
Normal file
17
ressources/paperless-ngx/paperless-webserver.service
Normal 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
|
12
ressources/paperless-ngx/prestart.sh
Executable file
12
ressources/paperless-ngx/prestart.sh
Executable 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
|
0
ressources/paperless-ngx/rootfs/DEBIAN/changelog
Normal file
0
ressources/paperless-ngx/rootfs/DEBIAN/changelog
Normal file
1
ressources/paperless-ngx/rootfs/DEBIAN/conffiles
Normal file
1
ressources/paperless-ngx/rootfs/DEBIAN/conffiles
Normal file
|
@ -0,0 +1 @@
|
|||
/etc/default/paperless-ngx
|
8
ressources/paperless-ngx/rootfs/DEBIAN/control
Normal file
8
ressources/paperless-ngx/rootfs/DEBIAN/control
Normal 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.
|
15
ressources/paperless-ngx/rootfs/DEBIAN/postinst
Executable file
15
ressources/paperless-ngx/rootfs/DEBIAN/postinst
Executable 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}
|
Loading…
Add table
Add a link
Reference in a new issue