Paperless-Installation will nicht klappen

Danke euch beiden @Krik @Quasan

Dann werde ich paperpless zur Gruppe docker hinzufügen.

Was muss ich dann machen in sudoers?
Wenn ich da paperless nicht eingetragen habe, bekomme ich immer die Meldung "...sudoers".
Ergänzung ()

Es klappt trotz Gruppe docker nicht.

Code:
paperless@vm-paperless:~$ groups paperless
paperless : paperless cdrom floppy sudo audio dip video plugdev users netdev docker
Code:
Installing paperless...

--2026-01-11 15:07:09--  https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.postgres-tika.yml
Auflösen des Hostnamens raw.githubusercontent.com (raw.githubusercontent.com)… 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...
Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 2836 (2,8K) [text/plain]
Wird in »docker-compose.yml« gespeichert.

docker-compose.yml    100%[=======================>]   2,77K  --.-KB/s    in 0s

2026-01-11 15:07:09 (11,4 MB/s) - »docker-compose.yml« gespeichert [2836/2836]

--2026-01-11 15:07:09--  https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/.env
Auflösen des Hostnamens raw.githubusercontent.com (raw.githubusercontent.com)… 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...
Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 31 [text/plain]
Wird in ».env« gespeichert.

.env                  100%[=======================>]      31  --.-KB/s    in 0,001s

2026-01-11 15:07:10 (39,0 KB/s) - ».env« gespeichert [31/31]

[+] pull 5/5
 ! Image docker.io/gotenberg/gotenberg:8.25         Interrupted                  0.0s
 ✘ Image docker.io/library/redis:8                  Error failed to resolve reference "docker.io/library/redis:8": failed to do request: Head "https://registry-1.docker.io/v2/library/redis/manifests/8": dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:54949->[::1]:53: read: connection refused0.0s
 ! Image docker.io/apache/tika:latest               Interrupted                  0.0s
 ! Image docker.io/library/postgres:18              Interrupted                  0.0s
 ! Image ghcr.io/paperless-ngx/paperless-ngx:latest Interrupted                  0.0s
Error response from daemon: failed to resolve reference "docker.io/library/redis:8": failed to do request: Head "https://registry-1.docker.io/v2/library/redis/manifests/8": dial tcp: lookup registry-1.docker.io on [::1]:53: read udp [::1]:54949->[::1]:53: read: connection refused

Wenn ich im Browser folgendes eingebe:
https://registry-1.docker.io/v2/library/redis/manifests/8
wird folgendes angezeigt:
Code:
{
  "errors": [
    {
      "code": "UNAUTHORIZED",
      "message": "authentication required",
      "detail": [
        {
          "Type": "repository",
          "Class": "",
          "Name": "library/redis",
          "Action": "pull"
        }
      ]
    }
  ]
}
 
Zuletzt bearbeitet:
Hm... ich befürchte fast, dass deine früheren Versuche was kaputt gemacht haben.

1. In welchem Verzeichnis hast du das Skript ausgeführt?
2. Als es dich danach gefragt hat
echo ""
echo "2. Folder configuration"
echo "======================="
echo ""
echo "The target folder is used to store the configuration files of "
echo "paperless. You can move this folder around after installing paperless."
echo "You will need this folder whenever you want to start, stop, update or "
echo "maintain your paperless instance."
echo ""

ask "Target folder" "$(pwd)/paperless-ngx"
TARGET_FOLDER=$ask_result
Was hast du geantwortet?

Da muss da drin ein Verzeichnis namens redisdata sein. Ich tippe darauf, dass das bei früheren Experimenten mit den falschen Berechtigungen erzeugt wurde. Bitte das mal mit einfachem ls -alh kontrollieren.
 
Krik schrieb:
1. In welchem Verzeichnis hast du das Skript ausgeführt?
In dem Verzeichniss, in dem ich nach der Anmeldung via KiTTY (SSH) lande.
Keine Ahnung, wo ich da bin.
Code:
paperless@vm-paperless:~$

Krik schrieb:
Was hast du geantwortet?
Gar nicht.
Woher hast du diese Infos?

Krik schrieb:
Bitte das mal mit einfachem ls -alh kontrollieren.
Code:
paperless@vm-paperless:~$ ls -alh
insgesamt 40K
drwx------ 4 paperless paperless 4,0K 11. Jan 03:56 .
drwxr-xr-x 3 root      root      4,0K 10. Jan 20:30 ..
-rw------- 1 paperless paperless 1,3K 11. Jan 18:03 .bash_history
-rw-r--r-- 1 paperless paperless  220 10. Jan 20:30 .bash_logout
-rw-r--r-- 1 paperless paperless 3,5K 10. Jan 20:30 .bashrc
-rw------- 1 paperless paperless   20 11. Jan 02:25 .lesshst
drwxrwxr-x 3 paperless paperless 4,0K 11. Jan 02:26 .local
drwxrwxr-x 2 paperless paperless 4,0K 11. Jan 15:47 paperless-ngx
-rw-r--r-- 1 paperless paperless  807 10. Jan 20:30 .profile
-rw-r--r-- 1 paperless paperless    0 11. Jan 02:44 .sudo_as_admin_successful
-rw-rw-r-- 1 paperless paperless  180 11. Jan 15:07 .wget-hsts
 
DHC schrieb:
In dem Verzeichniss, in dem ich nach der Anmeldung via KiTTY (SSH) lande.
Keine Ahnung, wo ich da bin.
Code:
paperless@vm-paperless:~$
Im home-Verzeichnis des Benutzers, mit dem du dich angemeldet hast. Hier also /home/paperless.
Die Tilde ~ steht für das home-Verzeichnis.
Das aktuelle Verzeichnis kann man mit pwd (print working directory) ausgeben lassen.

Komm schon, die wenigstens die einfachsten Konsolenbefehle wirst du doch selber ergoogeln können.

DHC schrieb:
Woher hast du diese Infos?
Aus dem Installskript, dass du in Post #40 verlinkt hast.
https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh

DHC schrieb:
drwxrwxr-x 2 paperless paperless 4,0K 11. Jan 15:47 paperless-ngx
Gehe mal in das Verzeichnis und dann nochmal ls -alh.
 
  • Gefällt mir
Reaktionen: madmax2010
Krik schrieb:
Komm schon, die wenigstens die einfachsten Konsolenbefehle wirst du doch selber ergoogeln können.
Sorry. Für dich ist das selbstverständlich. Woher soll ich wissen, das Tilde Home ist?
Deshalb bin ich in einem anderen Thread auf der Suche nach empfehlenswerten Büchern, um mehr über Linux zu erfahren.

Krik schrieb:
Post #40 verlinkt hast
OK.
Das war der erste Versuch das Bash-Skript auszuführen.
Nun scheint es aber ein anderes Problem zu geben.

Krik schrieb:
Gehe mal in das Verzeichnis
Code:
paperless@vm-paperless:~/paperless-ngx$ ls -alh
insgesamt 20K
drwxrwxr-x 2 paperless paperless 4,0K 11. Jan 15:47 .
drwx------ 4 paperless paperless 4,0K 11. Jan 03:56 ..
-rw-rw-r-- 1 paperless paperless  181 11. Jan 15:07 docker-compose.env
-rw-rw-r-- 1 paperless paperless 2,9K 11. Jan 15:07 docker-compose.yml
-rw-rw-r-- 1 paperless paperless   31 11. Jan 15:07 .env
 
ne, dns problem eher

zeig mal
cat /etc/resolv.conf
nslookup registry-1.docker.io
systemctl status systemd-resolved
 
madmax2010 schrieb:
cat /etc/resolv.conf
Code:
paperless@vm-paperless:~$ cat /etc/resolv.conf

# Generated by dhcpcd from ens33.dhcp, ens33.dhcp6, ens33.ra
# /etc/resolv.conf.head can replace this line
domain fritz.box
nameserver 192.168.132.1
nameserver fd2f:cf74:6535:0:b2f2:8ff:fed5:cef9
nameserver 2003:c6:df02:5300:b2f2:8ff:fed5:cef9
# /etc/resolv.conf.tail can replace this line
madmax2010 schrieb:
nslookup registry-1.docker.io
Code:
paperless@vm-paperless:~$ nslookup registry-1.docker.io

Server:         192.168.132.1
Address:        192.168.132.1#53

Non-authoritative answer:
Name:   registry-1.docker.io
Address: 13.216.182.78
Name:   registry-1.docker.io
Address: 3.210.156.213
Name:   registry-1.docker.io
Address: 34.193.215.148
Name:   registry-1.docker.io
Address: 54.144.182.236
Name:   registry-1.docker.io
Address: 98.88.156.192
Name:   registry-1.docker.io
Address: 52.70.44.192
Name:   registry-1.docker.io
Address: 18.205.34.3
Name:   registry-1.docker.io
Address: 23.22.106.255
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc00:ac30:4651:d954:aff6
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc01:251f:2cc9:f78c:d5a5
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc01:8197:4417:be9c:22c
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc01:6296:aefe:256d:4c73
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc00:6511:89ca:d5b7:769c
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc02:9e1d:6685:56f0:8997
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc01:89a6:a0d5:af94:c056
Name:   registry-1.docker.io
Address: 2600:1f18:2148:bc01:2217:76f9:a2a6:ed92
madmax2010 schrieb:
systemctl status systemd-resolved
Code:
paperless@vm-paperless:~$ systemctl status systemd-resolved

Unit systemd-resolved.service could not be found.
Ergänzung ()

Das Bash-Skript scheint nun durchzulaufen.
Bisher keine Fehler.
Mal schauen, ob alles durchläuft und Paperless dann läuft.

Evtl. hat es mit meinen DOT-Einträgen in der FritzBox zu tun, das davor keine Verbindung hergestellt werden konnte.
 
Zuletzt bearbeitet:
Es wäre doch zu schön gewesen.

Aber nein.


Code:
 ✔ Image docker.io/library/redis:8                  Pulled                      33.4s  ✔ Image ghcr.io/paperless-ngx/paperless-ngx:latest Pulled                     148.5s
 ✔ Image docker.io/library/postgres:18              Pulled                     111.1s
 ✔ Image docker.io/gotenberg/gotenberg:8.25         Pulled                     144.1s
 ✔ Image docker.io/apache/tika:latest               Pulled                    2582.5s

Starting DB first for initialization
WARN[0000] No services to build
[+] up 2/2
 ✔ Network paperless_default Created                                             0.0s
 ✔ Container paperless-db-1  Created                                             0.3s
[+] stop 1/1
 ✔ Container paperless-db-1 Stopped                                              0.1s
WARN[0000] No services to build
[+]  5/5t 5/54
 ✔ Volume paperless_redisdata      Created                                       0.0s
 ✔ Container paperless-gotenberg-1 Started                                       0.4s
 ✔ Container paperless-tika-1      Started                                       0.4s
 ✔ Container paperless-broker-1    Started                                       0.4s
 ✔ Container paperless-db-1        Started                                       0.3s
WARN[0000] No services to build
Container paperless-webserver-run-8f263f558292 Creating
Container paperless-webserver-run-8f263f558292 Created
[init-start] paperless-ngx docker container starting...
[init-start] paperless-ngx docker container starting init as root
[env-init] Checking for environment from files
[env-init] No *_FILE environment found
[init-db-wait] Waiting for PostgreSQL to start...
[init-tesseract-langs] Checking if additional teseract languages needed
[init-tesseract-langs] No additional installs requested
[init-redis-wait] Waiting for Redis to report ready
[init-user] No UID changes for paperless
[init-user] No GID changes for paperless
[init-folders] Running with root privileges, adjusting directories and permissions
mkdir: created directory '/tmp/paperless'
mkdir: created directory '/usr/src/paperless/data/index'
mkdir: created directory '/usr/src/paperless/media/documents'
mkdir: created directory '/usr/src/paperless/media/documents/originals'
mkdir: created directory '/usr/src/paperless/media/documents/thumbnails'
changed ownership of '/usr/src/paperless/export' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/data' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/data/index' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/media' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/media/documents' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/media/documents/thumbnails' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/media/documents/originals' from root:root to paperless:paperless
changed ownership of '/usr/src/paperless/consume' from root:root to paperless:paperless
changed ownership of '/tmp/paperless' from root:root to paperless:paperless
db:5432 - accepting connections
[init-db-wait] Connected to PostgreSQL
[init-db-wait] Database is ready
[init-migrations] Apply database migrations...
Waiting for Redis...
Connected to Redis broker.
[init-redis-wait] Redis ready
Operations to perform:
  Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying account.0001_initial... OK
  Applying account.0002_email_max_length... OK
  Applying account.0003_alter_emailaddress_create_unique_verified_email... OK
  Applying account.0004_alter_emailaddress_drop_unique_email... OK
  Applying account.0005_emailaddress_idx_upper_email... OK
  Applying account.0006_emailaddress_lower... OK
  Applying account.0007_emailaddress_idx_email... OK
  Applying account.0008_emailaddress_unique_primary_email_fixup... OK
  Applying account.0009_emailaddress_unique_primary_email... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying auditlog.0001_initial... OK
  Applying auditlog.0002_auto_support_long_primary_keys... OK
  Applying auditlog.0003_logentry_remote_addr... OK
  Applying auditlog.0004_logentry_detailed_object_repr... OK
  Applying auditlog.0005_logentry_additional_data_verbose_name... OK
  Applying auditlog.0006_object_pk_index... OK
  Applying auditlog.0007_object_pk_type... OK
  Applying auditlog.0008_action_index... OK
  Applying auditlog.0009_alter_logentry_additional_data... OK
  Applying auditlog.0010_alter_logentry_timestamp... OK
  Applying auditlog.0011_logentry_serialized_data... OK
  Applying auditlog.0012_add_logentry_action_access... OK
  Applying auditlog.0013_alter_logentry_timestamp... OK
  Applying auditlog.0014_logentry_cid... OK
  Applying auditlog.0015_alter_logentry_changes... OK
  Applying auditlog.0016_logentry_remote_port... OK
  Applying auditlog.0017_add_actor_email... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying authtoken.0001_initial... OK
  Applying authtoken.0002_auto_20160226_1747... OK
  Applying authtoken.0003_tokenproxy... OK
  Applying authtoken.0004_alter_tokenproxy_options... OK
  Applying django_celery_results.0001_initial... OK
  Applying django_celery_results.0002_add_task_name_args_kwargs... OK
  Applying django_celery_results.0003_auto_20181106_1101... OK
  Applying django_celery_results.0004_auto_20190516_0412... OK
  Applying django_celery_results.0005_taskresult_worker... OK
  Applying django_celery_results.0006_taskresult_date_created... OK
  Applying django_celery_results.0007_remove_taskresult_hidden... OK
  Applying django_celery_results.0008_chordcounter... OK
  Applying django_celery_results.0009_groupresult... OK
  Applying django_celery_results.0010_remove_duplicate_indices... OK
  Applying django_celery_results.0011_taskresult_periodic_task_name... OK
  Applying django_celery_results.0012_taskresult_date_started... OK
  Applying django_celery_results.0013_taskresult_django_cele_periodi_1993cf_idx... OK
  Applying django_celery_results.0014_alter_taskresult_status... OK
  Applying documents.0001_initial... OK
  Applying documents.0002_auto_20151226_1316... OK
  Applying documents.0003_sender... OK
  Applying documents.0004_auto_20160114_1844_squashed_0011_auto_20160303_1929... OK
  Applying documents.0012_auto_20160305_0040... OK
  Applying documents.0013_auto_20160325_2111... OK
  Applying documents.0014_document_checksum... OK
  Applying documents.0015_add_insensitive_to_match_squashed_0018_auto_20170715_1712... OK
  Applying documents.0019_add_consumer_user... OK
  Applying documents.0020_document_added... OK
  Applying documents.0021_document_storage_type... OK
  Applying documents.0022_auto_20181007_1420... OK
  Applying documents.0023_document_current_filename... OK
  Applying documents.1000_update_paperless_all... OK
  Applying documents.1001_auto_20201109_1636... OK
  Applying documents.1002_auto_20201111_1105... OK
  Applying documents.1003_mime_types... OK
  Applying documents.1004_sanity_check_schedule... OK
  Applying documents.1005_checksums... OK
  Applying documents.1006_auto_20201208_2209_squashed_1011_auto_20210101_2340... OK
  Applying paperless_mail.0001_initial_squashed_0009_mailrule_assign_tags... OK
  Applying paperless_mail.0010_auto_20220311_1602... OK
  Applying paperless_mail.0011_remove_mailrule_assign_tag_squashed_0024_alter_mailrule_name_and_more... OK
  Applying documents.1012_fix_archive_files... OK
  Applying documents.1013_migrate_tag_colour... OK
  Applying documents.1014_auto_20210228_1614... OK
  Applying documents.1015_remove_null_characters... OK
  Applying documents.1016_auto_20210317_1351_squashed_1020_merge_20220518_1839... OK
  Applying documents.1021_webp_thumbnail_conversion... OK
  Applying documents.1022_paperlesstask_squashed_1036_alter_savedviewfilterrule_rule_type... OK
  Applying documents.1037_webp_encrypted_thumbnail_conversion... OK
  Applying documents.1038_sharelink... OK
  Applying documents.1039_consumptiontemplate... OK
  Applying documents.1040_customfield_customfieldinstance_and_more... OK
  Applying documents.1041_alter_consumptiontemplate_sources... OK
  Applying documents.1042_consumptiontemplate_assign_custom_fields_and_more... OK
  Applying documents.1043_alter_savedviewfilterrule_rule_type... OK
  Applying documents.1044_workflow_workflowaction_workflowtrigger_and_more... OK
  Applying documents.1045_alter_customfieldinstance_value_monetary_squashed_1049_document_deleted_at_document_restored_at... OK
  Applying documents.1050_customfield_extra_data_and_more... OK
  Applying documents.1051_alter_correspondent_owner_alter_document_owner_and_more... OK
  Applying documents.1052_document_transaction_id... OK
  Applying documents.1053_document_page_count... OK
  Applying documents.1054_customfieldinstance_value_monetary_amount_and_more... OK
  Applying documents.1055_alter_storagepath_path... OK
  Applying documents.1056_customfieldinstance_deleted_at_and_more... OK
  Applying documents.1057_paperlesstask_owner... OK
  Applying documents.1058_workflowtrigger_schedule_date_custom_field_and_more... OK
  Applying documents.1059_workflowactionemail_workflowactionwebhook_and_more... OK
  Applying documents.1060_alter_customfieldinstance_value_select... OK
  Applying documents.1061_workflowactionwebhook_as_json... OK
  Applying documents.1062_alter_savedviewfilterrule_rule_type... OK
  Applying documents.1063_paperlesstask_type_alter_paperlesstask_task_name_and_more... OK
  Applying documents.1064_delete_log... OK
  Applying documents.1065_workflowaction_assign_custom_fields_values... OK
  Applying documents.1066_alter_workflowtrigger_schedule_offset_days... OK
  Applying documents.1067_alter_document_created... OK
  Applying documents.1068_alter_document_created... OK
  Applying documents.1069_workflowtrigger_filter_has_storage_path_and_more... OK
  Applying documents.1070_customfieldinstance_value_long_text_and_more... OK
  Applying documents.1071_tag_tn_ancestors_count_tag_tn_ancestors_pks_and_more... OK
  Applying documents.1072_workflowtrigger_filter_custom_field_query_and_more... OK
  Applying documents.1073_migrate_workflow_title_jinja... OK
  Applying documents.1074_workflowrun_deleted_at_workflowrun_restored_at_and_more... OK
  Applying guardian.0001_initial... OK
  Applying guardian.0002_generic_permissions_index... OK
  Applying guardian.0003_remove_groupobjectpermission_guardian_gr_content_ae6aec_idx_and_more... OK
  Applying mfa.0001_initial... OK
  Applying mfa.0002_authenticator_timestamps... OK
  Applying mfa.0003_authenticator_type_uniq... OK
  Applying paperless.0001_initial... OK
  Applying paperless.0002_applicationconfiguration_app_logo_and_more... OK
  Applying paperless.0003_alter_applicationconfiguration_max_image_pixels... OK
  Applying paperless.0004_applicationconfiguration_barcode_asn_prefix_and_more... OK
  Applying paperless_mail.0025_alter_mailaccount_owner_alter_mailrule_owner_and_more... OK
  Applying paperless_mail.0026_mailrule_enabled... OK
  Applying paperless_mail.0027_mailaccount_expiration_mailaccount_account_type_and_more... OK
  Applying paperless_mail.0028_alter_mailaccount_password_and_more... OK
  Applying paperless_mail.0029_mailrule_pdf_layout... OK
  Applying sessions.0001_initial... OK
  Applying socialaccount.0001_initial... OK
  Applying socialaccount.0002_token_max_lengths... OK
  Applying socialaccount.0003_extra_data_default_dict... OK
  Applying socialaccount.0004_app_provider_id_settings... OK
  Applying socialaccount.0005_socialtoken_nullable_app... OK
  Applying socialaccount.0006_alter_socialaccount_extra_data... OK
[init-index] No index version file found
[init-superuser] Not creating superuser
[init-index] Search index out of date. Updating...
[init-checks] Running Django checks
System check identified no issues (0 silenced).
[custom-init] /custom-cont-init.d doesn't exist, nothing to do
[init-complete] paperless-ngx docker container init completed in 18 seconds
[init-complete] Starting services
[svc-flower] Checking if we should start flower...
[svc-flower] Not starting flower
[INFO] Starting granian (main PID: 192)
[INFO] Listening at: http://:::8000
[INFO] Spawning worker-1 with PID: 218
celery beat v5.5.3 (immunity) is starting.
[2026-01-11 19:37:39,130] [INFO] [paperless.management.consumer] Using inotify to watch directory for changes: /usr/src/paperless/consume
Superuser created successfully.
[2026-01-11 19:37:39,672] [INFO] [paperless.asgi] [init] Paperless-ngx version: v2.20.3
__    -    ... __   -        _
LocalTime -> 2026-01-11 19:37:40
Configuration ->
    . broker -> redis://broker:6379//
    . loader -> celery.loaders.app.AppLoader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> /usr/src/paperless/data/celerybeat-schedule.db
    . logfile -> [stderr]@%INFO
    . maxinterval -> 5.00 minutes (300s)
[2026-01-11 19:37:40,008] [INFO] [celery.beat] beat: Starting...
[INFO] Shutting down granian
[2026-01-11 19:37:40,072] [ERROR] [celery.beat] Removing corrupted schedule file '/usr/src/paperless/data/celerybeat-schedule.db': error(11, 'Resource temporarily unavailable')
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 532, in setup_schedule
    self._store = self._open_schedule()
                  ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 522, in _open_schedule
    return self.persistence.open(self.schedule_filename, writeback=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/shelve.py", line 243, in open
    return DbfilenameShelf(filename, flag, protocol, writeback)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/shelve.py", line 227, in __init__
    Shelf.__init__(self, dbm.open(filename, flag), protocol, writeback)
                         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/dbm/__init__.py", line 95, in open
    return mod.open(file, flag, mode)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
_gdbm.error: [Errno 11] Resource temporarily unavailable: '/usr/src/paperless/data/celerybeat-schedule.db'
[2026-01-11 19:37:40,085] [CRITICAL] [celery.beat] beat raised exception <class 'AttributeError'>: AttributeError("partially initialized module 'django_celery_results.backends' has no attribute 'DatabaseBackend' (most likely due to a circular import)")
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/celery/apps/beat.py", line 113, in start_scheduler
    service.start()
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 635, in start
    humanize_seconds(self.scheduler.max_interval))
                     ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/kombu/utils/objects.py", line 40, in __get__
    return super().__get__(instance, owner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/functools.py", line 998, in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 678, in scheduler
    return self.get_scheduler()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 669, in get_scheduler
    return symbol_by_name(self.scheduler_cls, aliases=aliases)(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 514, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 265, in __init__
    self.setup_schedule()
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 558, in setup_schedule
    self.install_default_entries(self.schedule)
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 270, in install_default_entries
    not self.app.backend.supports_autoexpire:
        ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1435, in backend
    self._backend = self._get_backend()
                    ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1100, in _get_backend
    backend, url = backends.by_url(
                   ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/backends.py", line 69, in by_url
    return by_name(backend, loader), url
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/backends.py", line 49, in by_name
    cls = symbol_by_name(backend, aliases)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/kombu/utils/imports.py", line 59, in symbol_by_name
    module = imp(module_name, package=package, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 999, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/local/lib/python3.12/site-packages/django_celery_results/backends/__init__.py", line 2, in <module>
    from .database import DatabaseBackend
  File "/usr/local/lib/python3.12/site-packages/celery/apps/beat.py", line 158, in _sync
    service.sync()
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 657, in sync
    self.scheduler.close()
    ^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/kombu/utils/objects.py", line 40, in __get__
    return super().__get__(instance, owner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/functools.py", line 998, in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 678, in scheduler
    return self.get_scheduler()
           ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 669, in get_scheduler
    return symbol_by_name(self.scheduler_cls, aliases=aliases)(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 514, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 265, in __init__
    self.setup_schedule()
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 558, in setup_schedule
    self.install_default_entries(self.schedule)
  File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 270, in install_default_entries
    not self.app.backend.supports_autoexpire:
        ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1435, in backend
    self._backend = self._get_backend()
                    ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1100, in _get_backend
    backend, url = backends.by_url(
                   ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/backends.py", line 69, in by_url
    return by_name(backend, loader), url
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/celery/app/backends.py", line 49, in by_name
    cls = symbol_by_name(backend, aliases)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/kombu/utils/imports.py", line 64, in symbol_by_name
    return getattr(module, cls_name) if cls_name else module
           ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: partially initialized module 'django_celery_results.backends' has no attribute 'DatabaseBackend' (most likely due to a circular import)
[2026-01-11 19:37:40,091] [WARNING] [celery.redirected] Traceback (most recent call last):
[2026-01-11 19:37:40,091] [WARNING] [celery.redirected]   File "/usr/local/bin/celery", line 10, in <module>
...
[2026-01-11 19:37:40,091] [WARNING] [celery.redirected] sys.exit(main())
...
[2026-01-11 19:37:40,095] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/__main__.py", line 15, in main
...
[2026-01-11 19:37:40,096] [WARNING] [celery.redirected] sys.exit(_main())
...
[2026-01-11 19:37:40,100] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/bin/celery.py", line 231, in main
...
[2026-01-11 19:37:40,101] [WARNING] [celery.redirected] return celery(auto_envvar_prefix="CELERY")
...
[2026-01-11 19:37:40,107] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1442, in __call__
...
[2026-01-11 19:37:40,108] [WARNING] [celery.redirected] return self.main(*args, **kwargs)
...
[2026-01-11 19:37:40,112] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1363, in main
...
[2026-01-11 19:37:40,113] [WARNING] [celery.redirected] rv = self.invoke(ctx)
...
[2026-01-11 19:37:40,115] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1830, in invoke
...
[2026-01-11 19:37:40,115] [WARNING] [celery.redirected] return _process_result(sub_ctx.command.invoke(sub_ctx))
...
[2026-01-11 19:37:40,121] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 1226, in invoke
...
[2026-01-11 19:37:40,121] [WARNING] [celery.redirected] return ctx.invoke(self.callback, **ctx.params)
...
[2026-01-11 19:37:40,125] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/core.py", line 794, in invoke
...
[2026-01-11 19:37:40,126] [WARNING] [celery.redirected] return callback(*args, **kwargs)
...
[2026-01-11 19:37:40,129] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/click/decorators.py", line 34, in new_func
...
[2026-01-11 19:37:40,129] [WARNING] [celery.redirected] return f(get_current_context(), *args, **kwargs)
...

 -------------- celery@bdbb07a6cd4f v5.5.3 (immunity)
--- ***** -----
-- ******* ---- Linux-6.12.63+deb13-amd64-x86_64-with-glibc2.41 2026-01-11 19:37:40
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app:         paperless:0x7f8422499070
- ** ---------- .> transport:   redis://broker:6379//
- ** ---------- .> results:
- *** --- * --- .> concurrency: 1 (prefork)
-- ******* ---- .> task events: ON
--- ***** -----
 -------------- [queues]
                .> celery           exchange=celery(direct) key=celery


[tasks]
  . documents.bulk_edit.delete
  . documents.signals.handlers.process_cf_select_update
  . documents.tasks.bulk_update_documents
  . documents.tasks.check_scheduled_workflows
  . documents.tasks.consume_file
  . documents.tasks.empty_trash
  . documents.tasks.index_optimize
  . documents.tasks.sanity_check
  . documents.tasks.train_classifier
  . documents.tasks.update_document_content_maybe_archive_file
  . documents.workflows.webhooks.send_webhook
  . paperless_mail.mail.apply_mail_action
  . paperless_mail.mail.error_callback
  . paperless_mail.tasks.process_mail_accounts

[2026-01-11 19:37:40,132] [WARNING] [celery.redirected] ^
...
[2026-01-11 19:37:40,134] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/bin/base.py", line 135, in caller
...
[2026-01-11 19:37:40,134] [WARNING] [celery.redirected] return f(ctx, *args, **kwargs)
...
[2026-01-11 19:37:40,137] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/bin/beat.py", line 72, in beat
...
[2026-01-11 19:37:40,137] [WARNING] [celery.redirected] return beat().run()
...
[2026-01-11 19:37:40,139] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/apps/beat.py", line 84, in run
...
[2026-01-11 19:37:40,140] [WARNING] [celery.redirected] self.start_scheduler()
[2026-01-11 19:37:40,140] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/apps/beat.py", line 113, in start_scheduler
...
[2026-01-11 19:37:40,140] [WARNING] [celery.redirected] service.start()
[2026-01-11 19:37:40,140] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 635, in start
...
[2026-01-11 19:37:40,141] [WARNING] [celery.redirected] humanize_seconds(self.scheduler.max_interval))
...
[2026-01-11 19:37:40,144] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/kombu/utils/objects.py", line 40, in __get__
...
[2026-01-11 19:37:40,144] [WARNING] [celery.redirected] return super().__get__(instance, owner)
...
[2026-01-11 19:37:40,148] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/functools.py", line 998, in __get__
...
[2026-01-11 19:37:40,148] [WARNING] [celery.redirected] val = self.func(instance)
...
[2026-01-11 19:37:40,151] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 678, in scheduler
...
[2026-01-11 19:37:40,151] [WARNING] [celery.redirected] return self.get_scheduler()
...
[2026-01-11 19:37:40,154] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 669, in get_scheduler
...
[2026-01-11 19:37:40,155] [WARNING] [celery.redirected] return symbol_by_name(self.scheduler_cls, aliases=aliases)(
...
[2026-01-11 19:37:40,160] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 514, in __init__
...
[2026-01-11 19:37:40,161] [WARNING] [celery.redirected] super().__init__(*args, **kwargs)
[2026-01-11 19:37:40,161] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 265, in __init__
...
[2026-01-11 19:37:40,161] [WARNING] [celery.redirected] self.setup_schedule()
[2026-01-11 19:37:40,161] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 558, in setup_schedule
...
[2026-01-11 19:37:40,161] [WARNING] [celery.redirected] self.install_default_entries(self.schedule)
[2026-01-11 19:37:40,162] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/beat.py", line 270, in install_default_entries
...
[2026-01-11 19:37:40,162] [WARNING] [celery.redirected] not self.app.backend.supports_autoexpire:
...
[2026-01-11 19:37:40,164] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1435, in backend
...
[2026-01-11 19:37:40,165] [WARNING] [celery.redirected] self._backend = self._get_backend()
...
[2026-01-11 19:37:40,168] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/app/base.py", line 1100, in _get_backend
...
[2026-01-11 19:37:40,169] [WARNING] [celery.redirected] backend, url = backends.by_url(
...
[2026-01-11 19:37:40,172] [WARNING] [celery.redirected]   File "/usr/local/lib/python3.12/site-packages/celery/app/backends.py", line 69, in by_url
[2026-01-11 19:37:40,172] [WARNING] [celery.redirected]
[2026-01-11 19:37:40,172] [WARNING] [celery.redirected] return by_name(backend, loader), url
...
...
...
[2026-01-11 19:37:40,270] [WARNING] [celery.redirected] partially initialized module 'django_celery_results.backends' has no attribute 'DatabaseBackend' (most likely due to a circular import)
[2026-01-11 19:37:40,290] [INFO] [celery.apps.worker] celery@bdbb07a6cd4f ready.

worker: Warm shutdown (MainProcess)
WARN[0000] No services to build
[+] up 5/5
 ✔ Container paperless-gotenberg-1 Running                                       0.0s
 ✔ Container paperless-broker-1    Running                                       0.0s
 ✔ Container paperless-db-1        Running                                       0.0s
 ✔ Container paperless-tika-1      Running                                       0.0s
 ✔ Container paperless-webserver-1 Created                                       0.1s
Ergänzung ()

Geht doch.
Wer hätte das gedacht.
Ich war geschockt von den tausenden [WARNING]-Meldungen.
Aber über den Browser kann ich Paperless erreichen.
Ergänzung ()

Vielen Dank an alle, die mir geholfen und mich bei den Problemen unterstützt haben.

Besonderer Dank gilt hier @Krik für seine Geduld mit mir, die hat nicht jeder hier.

Ich bin dann mal gespannt, was es für eine Diplomarbeit wird, wenn ich da mal etwas updaten muss.
Da werde ich sicher wieder einige hier Nerven müssen.

Ich gehe aber mal davon aus, ich hoffe das wird bestätigt, dass ich in Zukunft über docker-compose Updates der in Docker installierten Pakete updaten kann.
Es wurde über das Skript ja entsprechende Dateien angelegt (xxx.yml und xxx.env).
Oder irre ich mich da?
Oder muss ich das Skript noch mal durchlaufen lassen?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Krik und madmax2010
docker-compse pull // docker compose pull und dann neustarten reicht in der regel
 
[2026-01-11 19:37:40,072] [ERROR] [celery.beat] Removing corrupted schedule file '/usr/src/paperless/data/celerybeat-schedule.db': error(11, 'Resource temporarily unavailable')
Keine Ahnung, warum bei Redis so ein Fehler aufgetreten ist. Vielleicht ein Überbleibsel von ehemaligen Installationsversuchen?
Egal, das Problem scheint sich selber behoben zu haben.

Der Log nach liegt dein Consume-Verzeichnis in /usr/src/paperless/consume.
Ich habe es bspw. bei mir so eingerichtet, dass das Consume-Verzeichnis von meinem Scanner erreichbar ist und er gescannte Dokumente automatisch dort ablegt. Paperless überwacht das Verzeichnis, sieht die Scans und verarbeitet sie direkt. Ich muss dann nur noch mal kurz auf der Weboberfläche nachschauen, ob alles richtig erkannt wurde. Top!

Hau da auch mal eine .docx rein und schau, ob die richtig verarbeitet wird. Bei der ersten Version, die ich damals installiert habe, hat Tika sie nicht als Dokument erkannt. Stattdessen wurde sie als .zip erkannt und die Verarbeitung abgelehnt, weil Paperless damit nichts anfangen kann.
Irgendwann später habe ich die docker-compose.yml so geändert, dass andere Container gezogen werden und erst dann lief die Erkennung richtig.
 
Krik schrieb:
dein Consume-Verzeichnis in /usr/src/paperless/consume.
Ich habe aber beim Skript den folgenden Consume-Ordner angegeben.
Code:
/home/paperless/paperless-ngx/consume
Keine Ahnung, warum der nun in
Code:
usr/src/paperless/consume
gelandet ist.

Ich schau da später mal nach, ob das in dem genannten Ordner (/home/...) funktioniert oder nicht.
Ergänzung ()

Also laut
Code:
docker-compose.yml
gibt es da wohl eine Umleitung, wenn ich das richtig interpretiere.
Siehe:
Code:
    volumes:
      - /home/paperless/paperless-ngx/data:/usr/src/paperless/data
      - /home/paperless/paperless-ngx/media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - /home/paperless/paperless-ngx/consume:/usr/src/paperless/consume
Ergänzung ()

Krik schrieb:
dass das Consume-Verzeichnis von meinem Scanner erreichbar ist
Das ist natürlich auch noch eine Sache, die ich angehen muss.

Aktuell habe ich auf dem NAS einen Ordner, wo die Scans landen.

Später soll die VM von Paperless ja auf dem NAS laufen.
Da muss ich nun noch schauen, wie ich die Scans in den Consume-Ordner rein bekomme.
Wäre da Samba eine Option? Das habe ich zumindest mal in einer Anleitung gelesen
Oder wie realisiert man das am sinnvollsten?

In einer Anleitung wird das z. B. wie folgt beschrieben:
Code:
11. Samba für consume Ordner Freigabe installien:

apt install samba -y

12. Sambaconfig öffnen:

nano /etc/samba/smb.conf

13. Am Ende der Datei diesen Block einfügen:

[paperless-consume]
   path = /opt/paperless/consume
   browseable = yes
   writable = yes
   guest ok = yes
   create mask = 0777
   directory mask = 0777

14. consume Ordner Rechte setzen:

chmod -R 777 /opt/paperless/consume

15. Samba neustarten

systemctl restart smbd

16. im Windows Datei Explorer

\\Ihre IP\paperless-consume
 
Zuletzt bearbeitet:
DHC schrieb:
Also laut
Code:
docker-compose.yml
gibt es da wohl eine Umleitung, wenn ich das richtig interpretiere.
Siehe:
Code:
    volumes:
      - /home/paperless/paperless-ngx/data:/usr/src/paperless/data
      - /home/paperless/paperless-ngx/media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - /home/paperless/paperless-ngx/consume:/usr/src/paperless/consume
Links vom Doppelpunkt ist der Pfad auf dem Host-System, rechts vom Doppelpunkt ist der Pfad im Container. Ok, ich habe die Log falsch interpretiert. Ich dachte /usr/src/paperless/consume ist der Pfad auf dem Host-System.

DHC schrieb:
Später soll die VM von Paperless ja auf dem NAS laufen.
Da muss ich nun noch schauen, wie ich die Scans in den Consume-Ordner rein bekomme.
Wäre da Samba eine Option?
Das hängt ab, ob der Scanner auf einen Samba-Server bzw. auf eine Windows-Freigabe zugreifen kann.
Von den Möglichkeiten, die mein Scanner mir bietet, habe ich FTP gewählt. Alle anderen Methoden wollte ich so nicht (Direktanschluss via USB) oder fand ich Quatsch (Versand per Mail).

DHC schrieb:
In einer Anleitung wird das z. B. wie folgt beschrieben:
Aus dem Stegreif kann ich nicht sagen, ob man das genau so machen sollte. Es sieht aber so aus, als könnte das funktionieren, wenn du den Pfad noch auf den korrekten änderst.
 
Krik schrieb:
Das hängt ab, ob der Scanner auf einen Samba-Server bzw. auf eine Windows-Freigabe zugreifen kann.
Das ist kein Problem. Mein Scanner/Drucker kann das.
So mache ich das ja auch aktuell auf das NAS.

FTP hatte ich auch schon überlegt.
Ich bin da nur noch nicht ganz durchgestiegen, wie ich das einrichten muss.

Der Drucker/Scanner unterstützt nur max. SMB2, deshalb muss ich im NAS auch SMB2 einstellen.
Mir wäre es lieber auf SMB3 (Sollte wohl sicherer sein) oder via SFTP oder FTPS.

Geht das denn auch mit Samba?
Wahrscheinlich nicht.
Dafür wird man dann wohl einen separaten FTP-Server benötigen. Vermute ich mal.

Ich werde jetzt erst mal Samba installieren. Und schauen, was dabei herauskommt.
Vorher werde ich natürlich einen Snapshot auf der VM machen. Dann kann ich wieder zurück, wenn das Ganze nicht klappt.

Der Vorteil von Samba ist halt, dass ich von jedem PC aus im Netzwerk einfach Dokumente rüber schaufeln kann.
Bei FTP benötigt es dann wohl wieder einen Client oder man muss es dann wohl via Browser machen.
Ergänzung ()

Wie sollte es auch anders sein.

Funktioniert mal wieder nicht.

Code:
paperless@vm-paperless:~/paperless-ngx/consume$ systemctl status smbd
● smbd.service - Samba SMB Daemon
     Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: enabled)
     Active: active (running) since Mon 2026-01-12 18:08:44 CET; 7min ago
 Invocation: 375351e1acb24f0ca499274ea5860e52
       Docs: man:smbd(8)
             man:samba(7)
             man:smb.conf(5)
    Process: 4079 ExecCondition=/usr/share/samba/is-configured smb (code=exited, stat>
    Process: 4081 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=e>
   Main PID: 4091 (smbd)
     Status: "smbd: ready to serve connections..."
      Tasks: 5 (limit: 2251)
     Memory: 10.8M (peak: 43.3M)
        CPU: 623ms
     CGroup: /system.slice/smbd.service
             ├─4091 /usr/sbin/smbd --foreground --no-process-group
             ├─4095 "smbd: notifyd" .
             ├─4096 "smbd: cleanupd "
             ├─4119 "smbd: client [192.168.132.102]"
             └─4200 "smbd: client [192.168.132.102]"

Erstaunlicherweise wird meine IP als Client angezeigt.
Aber ich kann den Ordner mit dem Explorer nicht öffnen. Es kommt eine Fehlermeldung.

1768238696375.png


Folgendes habe ich in die conf eingetragen:
Code:
# Paperless-ngx
[paperless-consume]
   path = /home/paperless/paperless-ngx/consume
   browseable = yes
   writable = yes
   guest ok = yes
   create mask = 0777

Interessant ist, dass mir Softperfect Network Scanner die VM, samt Ordner anzeigt.
1768239572113.png

Scheint dann wohl eher ein Problem mit Windows zu sein. Oder?
Oder muss ich da verschiedene Version des SMB in Samba konfigurieren?

Mit meiner LMDE-VM bekomme ich auch keine Verbindung.

Code:
paperless@vm-paperless:~$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        log file = /var/log/samba/log.%m
        logging = file
        map to guest = Bad User
        max log size = 1000
        obey pam restrictions = Yes
        pam password change = Yes
        panic action = /usr/share/samba/panic-action %d
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        server role = standalone server
        unix password sync = Yes
        usershare allow guests = Yes
        idmap config * : backend = tdb


[homes]
        browseable = No
        comment = Home Directories
        create mask = 0700
        directory mask = 0700
        valid users = %S


[printers]
        browseable = No
        comment = All Printers
        create mask = 0700
        path = /var/tmp
        printable = Yes


[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers


[paperless-consume]
        create mask = 0777
        directory mask = 0777
        guest ok = Yes
        path = /home/paperless/paperless-ngx/consume
        read only = No

In Windows scheint die anonyme Verwendung möglich zu sein. Siehe "EnableInsecureGuestLogons".

Code:
PS C:\Windows\system32> Get-SmbClientConfiguration


ConnectionCountPerRssNetworkInterface : 4
DirectoryCacheEntriesMax              : 16
DirectoryCacheEntrySizeMax            : 65536
DirectoryCacheLifetime                : 10
DormantFileLimit                      : 1023
EnableBandwidthThrottling             : True
EnableByteRangeLockingOnReadOnlyFiles : True
EnableInsecureGuestLogons             : True
EnableLargeMtu                        : True
EnableLoadBalanceScaleOut             : True
EnableMultiChannel                    : True
EnableSecuritySignature               : True
ExtendedSessionTimeout                : 1000
FileInfoCacheEntriesMax               : 64
FileInfoCacheLifetime                 : 10
FileNotFoundCacheEntriesMax           : 128
FileNotFoundCacheLifetime             : 5
KeepConn                              : 600
MaxCmds                               : 50
MaximumConnectionCountPerServer       : 32
OplocksDisabled                       : False
RequireSecuritySignature              : False
SessionTimeout                        : 60
UseOpportunisticLocking               : True
WindowSizeThreshold                   : 8
 
Zuletzt bearbeitet:
DHC schrieb:
Geht das denn auch mit Samba?
Wahrscheinlich nicht.
Dafür wird man dann wohl einen separaten FTP-Server benötigen. Vermute ich mal.
Samba kann nur SMB-Dienste bereitstellen. Für FTP brauchst du FTP-Serversoftware. Logisch, oder? ;)

DHC schrieb:
Folgendes habe ich in die conf eingetragen:
# Paperless-ngx [paperless-consume] path = /home/paperless/paperless-ngx/consume browseable = yes writable = yes guest ok = yes create mask = 0777
Interessant ist, dass mir Softperfect Network Scanner die VM, samt Ordner anzeigt.
(...)
Scheint dann wohl eher ein Problem mit Windows zu sein. Oder?
Oder muss ich da verschiedene Version des SMB in Samba konfigurieren?
Ich bin mir ziemlich sicher, dass hier ein Rechteproblem vorliegt. Wie du schon festgestellt hast, ist die Freigabe da, aber du darfst den Inhalt nicht sehen, weil das Rechtesystem das nicht zulässt.

1. Du brauchst einen Samba-User. Das ist der Login, der für die Freigabe benötigt wird. Dieser User hat nichts mit dem Linux-User zu tun! Wir nennen den einfach auch mal paperless. smbpasswd -a paperless
2. Sichere deine /etc/samba/smb.conf.
3. Ersetze den Inhalt der smb.conf durch:
Code:
[global]
    workgroup = WORKGROUP
    server string = %h server
    dns proxy = no
    map to guest = bad user
    log file = /var/log/samba/log.%m
    max log size = 1000

    panic action = /usr/share/samba/panic-action %d
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    passwd program = /usr/bin/passwd %u
    security = user
    encrypt passwords = true
    passdb backend = tdbsam
    obey pam restrictions = yes
    pam password change = yes
    unix password sync = yes

    load printers = no
    printcap name = /dev/null
    disable spools = yes

[paperless-consume]
    comment = Dokumente-Scans für Paperless-ngx
    path = /home/paperless/paperless-ngx/consume
    browsable = yes
    create mask = 0644
    directoy mask = 0755
    valid users = paperless
    writeable = yes
4. Dann Samba neustarten: systemctl restart nmbd smbd
Jetzt sollte es gehen. Ich hab das aber mehr oder weniger aus dem Stegreif geschrieben. Es kann hier und da ein Fehler drin sein.

Der Zugriff via //IP des Samba-Servers/paperless-consume mit dem Login paperless:smbpasswort sollte jetzt funktionieren.

Die Druckerfreigabe ist erst mal deaktiviert. Das kannst du später ändern, wenn du willst.

PS:
Aus Prinzip gibt man nie irgendwo 777-Rechte an. Das bedeutet, dass dann jeder (wirklich egal wer) dann machen kann, was er will. Es gibt nur ganz, ganz wenige Situationen, wo das gerechtfertig ist.
 
Zurück
Oben