Paperless-ngx über Proxmox VE-HelperScript funzt nicht

Kusselin

Member
Mar 26, 2021
150
5
23
44
Hallo Zusammen,
habe einen LXC Container (unpriveligiert) erstellt mit Ubuntu 22.04 und wollte dann von der neuen Seite hier

https://community-scripts.github.io/ProxmoxVE/scripts?id=paperless-ngx

das Paperless mit dem Script installieren
Script:

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/paperless-ngx.sh)"

Leider funzt das nicht...kommt immer diese Meldung:

Code:
root@paperless-ngx-live:~# bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/paperless-ngx.sh)"
bash: line 2: curl: command not found
bash: line 19: header_info: command not found
bash: line 20: base_settings: command not found
bash: line 23: variables: command not found
bash: line 24: color: command not found
bash: line 25: catch_errors: command not found
bash: line 94: start: command not found
bash: line 95: build_container: command not found
bash: line 96: description: command not found
bash: line 98: msg_ok: command not found
Paperless-ngx setup has been successfully initialized!
 Access it using the following URL:
http://:8000

Könnt Ihr bitte weiterhelfen....danke Euch
 
Hi Kusselin,

vorab, die Helper-Scripte haben Nichts mit den inititiatoren von Proxmox zu tun.

Dennoch ein kurzer Hinweis, ich zitiere aus der von Dir verlinkten URL zum paperless-install-skript:
"...To create a new Proxmox VE Paperless-ngx LXC, run the command below in the Proxmox VE Shell..."

Der Code wird also nicht in einem LXC ausgeführt, sondert direkt auf dem Host.
Das Skript erstellt dann den Container.

Also LXC wieder löschen und den Code in der Proxmox-Shell ausführen.


Beste Grüße,
Frank
 
Last edited:
Hallo Frank, ja stimmt..da war doch was…ohmann..

Dann muss ich unter shell-pve und da das script ausführen..dann werde ich glaube ich auch gefragt nach Container nummer und grösse usw. Gell?

Dann weiss ich noch wird der Container durch einen punkt (blau glaub ich) gekennzeichnet…wie bekomme ich den wieder weg?

Danke Frank

EDIT: O:K. habs jetzt über dden host starten können udn man wird unter "Advanced" alles abgefragt wie beim Erstellen des Containers selbst.......

nachdem alles durchgelaufen ist wollte ich unter IP:8000 im browser die WebGui Starten.....fehlgeschlagen....netzwerküberscreitung udn weisser Bildschirm :-(

Was mach ich noch falsch?

Frage 2 wäre :

Show Login Credentials, type update in the LXC console

wenn ich das dann im LXC Container eingebe, also am prompt .... update kommt command update not found......

eieiei.....schlimm mit mir
 
Last edited:
Ich gehe in der Proxmox GUI auf pve und dann auf Shell und dort löse ich dann den Befehl aus..wie frankd erklärt..dann wähle ich Advanced und unpriviligierter Container und ubuntu..dann vergebe ich die container details ..
 
Irgendwie macht es dein Schreibstil schwer zu verstehen, was genau du gemacht hast und wo genau dein Problem liegt. Mache doch bitte mal Screenshots von jeden deiner Schritte.
Zu Grundsätzlichen:
Der erste Fehler ist ja schon mal überhaupt ein Helper-Skript zu benutzen, obwohl man keine Ahnung hat, was genau das eigentlich macht.
Ich würde wie folgt vorgehen:
lxc-container mit dem Debian Bookworm Template erstellen, danach dann paperless bare metal im lxc nach folgender Anleitung installieren:
https://docs.paperless-ngx.com/setup/#bare_metal
Generell: Wenn du (selbst mit helper script) mit ProxmoxVE nicht zurecht kommst, würde ich mir ja überlegen, ob nicht ein NAS-OS mit Docker-Support wie UnRaid oder OpenMediaVault sinnvoller wäre. Da kriegt man paperless-ngx über docker (was der empfohlene Weg der paperless-ngx Doku ist) vergleichsweise unkompliziert zum laufen.
 
  • Like
Reactions: UdoB
Hallo,

ich denke es liegt hier irgendein Bug am paperless helper script vor da ich auch ein update auf die neueste Version nicht durchführen kann.
Wahrscheinlich wäre es besser, gleich auf docker umzusteigen!

Edit: Das mit docker wurde eh schon erwähnt - du könntest z.B. docker via proxmox helper scripts installieren und dann paperless manuell in docker!
 
Last edited:
Ja klar geht das..aber docker mag ich nicht so..auch vom Verständnis.siehst ja ..deshalb helpers script das alles machen sollte..

Aber wenn nicht muss ich mal schauen..
 
docker-compose.yaml file
Code:
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data

  db:
    image: docker.io/library/mariadb:11
    restart: unless-stopped
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      MARIADB_HOST: paperless
      MARIADB_DATABASE: paperless
      MARIADB_USER: paperless
      MARIADB_PASSWORD: paperless
      MARIADB_ROOT_PASSWORD: paperless

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:2.9.0
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - "8000:8000"
    volumes:
      - data:/usr/src/paperless/data
      - media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - ./consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBENGINE: mariadb
      PAPERLESS_DBHOST: db
      PAPERLESS_DBUSER: paperless # only needed if non-default username
      PAPERLESS_DBPASS: paperless # only needed if non-default password
      PAPERLESS_DBPORT: 3306

volumes:
  data:
  media:
  dbdata:
  redisdata:

docker-compose.env file
Code:
# The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the
# consumption directory.
#USERMAP_UID=1000
#USERMAP_GID=1000

# Additional languages to install for text recognition, separated by a
# whitespace. Note that this is
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
# language used for OCR.
# The container installs English, German, Italian, Spanish and French by
# default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# for available languages.
#PAPERLESS_OCR_LANGUAGES=tur ces

###############################################################################
# Paperless-specific settings                                                 #
###############################################################################

# All settings defined in the paperless.conf.example can be used here. The
# Docker setup does not use the configuration file.
# A few commonly adjusted settings are provided below.

# This is required if you will be exposing Paperless-ngx on a public domain
# (if doing so please consider security measures such as reverse proxy)
#PAPERLESS_URL=https://paperless.example.com

# Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it.
#PAPERLESS_SECRET_KEY=change-me

# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
#PAPERLESS_TIME_ZONE=America/Los_Angeles

# The default language to use for OCR. Set this to the language most of your
# documents are written in.
#PAPERLESS_OCR_LANGUAGE=eng

# Set if accessing paperless via a domain subpath e.g. https://domain.com/PATHPREFIX and using a reverse-proxy like traefik or nginx
#PAPERLESS_FORCE_SCRIPT_NAME=/PATHPREFIX
#PAPERLESS_STATIC_URL=/PATHPREFIX/static/ # trailing slash required

Muss natürlich den eigenen Wünschen entsprechend angepasst werden.
Und beim ersten Start muss man zu erst den Superuser anlegen

Code:
docker compose run --rm webserver createsuperuser

Den Anweisungen folgen und wenn das durch ist einfach
Code:
docker compose up -d

Oder wie bei Dir dann das ganze in Portainer abbilden. Aber ich glaube den Superuser anlegen geht nicht so in Portainer. Kann mich da aber auch irren. Ich arbeite normalerweise ausschließlich mit Kubernetes.
 
  • Like
Reactions: Kusselin
ich denke es liegt hier irgendein Bug am paperless helper script vor da ich auch ein update auf die neueste Version nicht durchführen kann.
Wahrscheinlich wäre es besser, gleich auf docker umzusteigen!

Edit: Das mit docker wurde eh schon erwähnt - du könntest z.B. docker via proxmox helper scripts installieren und dann paperless manuell in docker!
Bitte nicht:

If you want to run application containers, for example, Docker images, it is recommended that you run them inside a Proxmox QEMU VM. This will give you all the advantages of application containerization, while also providing the benefits that VMs offer, such as strong isolation from the host and the ability to live-migrate, which otherwise isn’t possible with containers.
https://pve.proxmox.com/wiki/Linux_Container

Tatsächlich gab es hier im Forum schon öfters Berichte, wo Leute nach einen Update Probleme mit docker und lxc hatten:

Nun muss man sich an die Empfehlung aus der Doku natürlich nicht halten, aber dann sollte man wissen, wie man das wieder heile bekommt, wenn was kaputt geht. Im Fall des OPs kommt mir das nicht sehr sinnvoll vor. Was er natürlich machen könnte: Sich eine VM mit Debian oder Ubuntu Server aufsetzen und dadrin dann Portainer oder dockge als WebUI und darin dann paperless.
Wer aber sich generell noch schwer tut, der wird damit auch nicht glücklich, fürchte ich, darum ja mein Vorschlag mit UnRAID und OpenMediaVault, da ist die Einstiegshürde geringer (aber nicht nicht vorhanden).
Ok..klare Ansage..
Frage noch..legt man den Lxc dann priviligiert oder unpriviligiert an?
Man legt den eben gar nicht an, sondern lässt es das Skript erledigen, wenn ich das Skript richtig verstehe:
https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/paperless-ngx.sh

Jedenfalls liest sich das für mich so, als ob es einen unpriviligierten Container anlegt und dort drin dann die Installation vornimmt. Aber noch mal und das ist echt nicht böse gemeint:
Wenn du an der Stelle schon Probleme hast, dann ist ProxmoxVE mit Skripten für dich vielleicht schlicht das falsche Tool. Diese Skripte können helfen, wenn man sie als Lernumgebung versteht, also sie liest, versteht was sie machen und dann für sich anpasst und guckt ob man richtig gelegen hat. Um Shellprogrammierung oder Linux-Administration zu lernen, ist das sehr hilfreich. Wobei sie in meinen Augen nicht hilfreich sind: Um einfach nur ein paar Dienste zu betreiben, obwohl man keinen Bock hat zuhause Server-Hausmeister zu spielen. Mit einen NAS-OS hat man zwar auch noch Wartungsaufwand, die Hürde ist für den Anfang aber trotzdem kleiner.
Nichts für ungut und schöne Grüße, Johannes.
 
Hallo Zusammen, ich bins nochmal....das hat mir jetzt keine Ruhe gelassen...udn ich habe nochmal probiert...ich habe auf meinem Testproxmox docker udn docker-compose instaliert....dann stack angeleht mit dieser .yml Datei:
# Docker Compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8010.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Open portainer Stacks list and click 'Add stack'
# - Paste the contents of this file and assign a name, e.g. 'paperless'
# - Click 'Deploy the stack' and wait for it to be deployed
# - Open the list of containers, select paperless_webserver_1
# - Click 'Console' and then 'Connect' to open the command line inside the container
# - Run 'python3 manage.py createsuperuser' to create a user
# - Exit the console
#
# For more extensive installation and update instructions, refer to the
# documentation.

services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- /opt/docker/paperless-ngx/redisdata:/data

db:
image: docker.io/library/postgres:16
restart: unless-stopped
volumes:
- /opt/docker/paperless-ngx/Database:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless

webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8080:8000"
volumes:
- /opt/docker/paperless-ngx/data:/usr/src/paperless/data
- /opt/docker/paperless-ngx/media:/usr/src/paperless/media
- /opt/docker/paperless-ngx/export:/usr/src/paperless/export
- /opt/docker/paperless-ngx/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_SECRET_KEY: 12345
PAPERLESS_ADMIN_USER: test
PAPERLESS_ADMIN_PASSWORD: 1234
PAPERLESS_OCR_LANGUAGE: deu+eng
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENTPOINT: http://tika:9998
PAPERLESS_TIME_ZONE: Europe/Berlin
PAPERLESS_CONSUMER_POLLING: 1

# The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the
# consumption directory.
USERMAP_UID: 1000
USERMAP_GID: 100

gotenberg:
image: docker.io/gotenberg/gotenberg:8
restart: unless-stopped

# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"

tika:
image: ghcr.io/paperless-ngx/tika:latest
restart: unless-stopped


# Additional languages to install for text recognition, separated by a
# whitespace. Note that this is
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
# language used for OCR.
# The container installs English, German, Italian, Spanish and French by
# default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# for available languages.
#PAPERLESS_OCR_LANGUAGES: tur ces
# Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it.
#PAPERLESS_SECRET_KEY: change-me
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
#PAPERLESS_TIME_ZONE: America/Los_Angeles
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
#PAPERLESS_OCR_LANGUAGE: eng

dann bin ich auf meinen container und habe da einen ordner docker udn paperless-ngx unter /opt erstellt....darin dann die Ordner data, Database, consume, media, export und redisdata

danach habe ich den Stack "employeed"....hat auch alles funktioniert..... passt soweit....

dann habe ich samba installiert...denn ich will ja mit dem Scanner in den Consume Ordner scannen...also wie folgt forgegangen:

apt install samba -y
adduser paperless
sudo usermod -aG paperless
sudo smbpasswd -a paperless

dann mit nano /etc/samba/smb.conf das eingefügt:
#======================= Global Settings =======================


;[profiles]
; comment = Users profiles
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700

[printers]
comment = All Printers
browseable = no
path = /var/tmp
printable = yes
guest ok = no
read only = yes
create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
; write list = root, @lpadmin

[homes]
comment = Home Directories
browsable = no
read only = yes
valid users = %S
create mask = 0700
directory mask = 0700

[paperless]
comment = Paperless SMB Consume
valid users = paperless
path = /opt/docker/paperless-ngx/consume/
public = no
writable = yes
printable = no
browsable = no
guest ok = no
create mask = 0700
directory mask = 0700

dann in windows gegangen unter den Windoes explorer und da unter Netzwerk ein neues Netzlaufwerk verbunden mit

\\192.168.200.55\paperless\

geil...hat alles geklappt....kann reinscannen und das Laufwerk ist beschreibbar udn ich kann auch direkt dateien in den Ordner reinziehen....

Sowiez sogut....das war der Test Container....jetzt wollte ich das gleiche auf meinem Live system installieren....bin genauso vorgegangen.....leider habe ich beim Samba share keinen zugriff auf den Paperlessordner....kann nix reinschieben bzw. der scanner kann da nix ablegen :-(

Ausgabe von Satus samba ist der
Code:
root@Docker-live:~# systemctl status smbd.service
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: ena>
     Active: active (running) since Sat 2025-01-25 14:53:09 UTC; 40min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 7247 ExecCondition=/usr/share/samba/is-configured smb (code=exited>
   Main PID: 7250 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 4 (limit: 18757)
     Memory: 16.2M (peak: 18.2M)
        CPU: 239ms
     CGroup: /system.slice/smbd.service
             ├─7250 /usr/sbin/smbd --foreground --no-process-group
             ├─7253 "smbd: notifyd" .
             ├─7254 "smbd: cleanupd "
             └─9093 "smbd: client [192.168.200.21]"

Jan 25 14:53:09 Docker-live systemd[1]: Starting smbd.service - Samba SMB Daemo>
Jan 25 14:53:09 Docker-live (smbd)[7250]: smbd.service: Referenced but unset en>
Jan 25 14:53:09 Docker-live systemd[1]: Started smbd.service - Samba SMB Daemon.
Jan 25 15:02:16 Docker-live smbd[7924]: pam_unix(samba:session): session opened>
Jan 25 15:16:11 Docker-live smbd[7924]: pam_unix(samba:session): session closed

Ausgabe von systemctl cat smbd.service:
Code:
root@Docker-live:~# sudo systemctl cat smbd.service
# /usr/lib/systemd/system/smbd.service
[Unit]
Description=Samba SMB Daemon
Documentation=man:smbd(8) man:samba(7) man:smb.conf(5)
Wants=network-online.target
After=network.target network-online.target nmb.service winbind.service

[Service]
Type=notify
PIDFile=/run/samba/smbd.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/default/samba
ExecStart=/usr/sbin/smbd --foreground --no-process-group $SMBDOPTIONS
ExecReload=/bin/kill -HUP $MAINPID
LimitCORE=infinity
ExecCondition=/usr/share/samba/is-configured smb

[Install]
WantedBy=multi-user.target
# Upstream name:
Alias=smb.service

ich habe jetzt halt das Problem das ich zwar auch das Netzlaufwerk erstellen kann mit \\192.168.200.55\paperless\ aber ich habe keine Rechte umd Dateien dort reinzuschieben bzw. mit dem Scanner da rein zu scannen :-(

Könnt ihr mir hier bitte weiterhelfen ...ansonsten klappt alles also ich komme auf die weboberfläche von Paperless udn kann dort auch auf den Button hochladen klicken und dokumente hinzufügen...nur halt nicht über den Samba share...

Danke und Gruss
 
wo liegt der Fehler??
Code:
root@Docker-live:~# systemctl status smbd.service
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: ena>
     Active: active (running) since Sat 2025-01-25 14:53:09 UTC; 1h 39min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 7247 ExecCondition=/usr/share/samba/is-configured smb (code=exited>
   Main PID: 7250 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 4 (limit: 18757)
     Memory: 29.7M (peak: 48.9M)
        CPU: 955ms
     CGroup: /system.slice/smbd.service
             ├─ 7250 /usr/sbin/smbd --foreground --no-process-group
             ├─ 7253 "smbd: notifyd" .
             ├─ 7254 "smbd: cleanupd "
             └─13731 "smbd: client [192.168.200.21]"

Jan 25 14:53:09 Docker-live systemd[1]: Starting smbd.service - Samba SMB Daemo>
Jan 25 14:53:09 Docker-live (smbd)[7250]: smbd.service: Referenced but unset en>
Jan 25 14:53:09 Docker-live systemd[1]: Started smbd.service - Samba SMB Daemon.
Jan 25 15:02:16 Docker-live smbd[7924]: pam_unix(samba:session): session opened>
Jan 25 15:16:11 Docker-live smbd[7924]: pam_unix(samba:session): session closed>
lines 1-23
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-01-25 14:53:09 UTC; 1h 39min ago
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 7247 ExecCondition=/usr/share/samba/is-configured smb (code=exited, status=0/SUCCESS)
   Main PID: 7250 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 4 (limit: 18757)
     Memory: 29.7M (peak: 48.9M)
        CPU: 955ms
     CGroup: /system.slice/smbd.service
             ├─ 7250 /usr/sbin/smbd --foreground --no-process-group
             ├─ 7253 "smbd: notifyd" .
             ├─ 7254 "smbd: cleanupd "
             └─13731 "smbd: client [192.168.200.21]"

Jan 25 14:53:09 Docker-live systemd[1]: Starting smbd.service - Samba SMB Daemon...
Jan 25 14:53:09 Docker-live (smbd)[7250]: smbd.service: Referenced but unset environment variable evaluates to an empty string: SMBDOPTIONS
Jan 25 14:53:09 Docker-live systemd[1]: Started smbd.service - Samba SMB Daemon.
Jan 25 15:02:16 Docker-live smbd[7924]: pam_unix(samba:session): session opened for user paperless(uid=1001) by (uid=0)
Jan 25 15:16:11 Docker-live smbd[7924]: pam_unix(samba:session): session closed for user paperless

Muss hier die UID geändert werden? ich habe den stack mit der .yml Datei mit UID 1000 erstellt
 
Last edited: