Gebruiker kan niet inloggen in postgresql

Pagina: 1
Acties:

Vraag


  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
Hallo allen,

Ik sukkel nu al een aantal dagen met een probleem dat zich voordien niet voorgedaan heeft maar ik geraak er niet aan uit waar het probleem zit omdat mijn kennis zo ver niet reikt.

Wat ik probeer te doen is een Docker container op te starten, Paperlessngx, en die de laten connecteren met een postgresql container.
Dat heeft in het verleden op net dezelfde manier gewerkt als de setup nu want het is nog steeds dezelfde setup. Ik heb alles terug moeten configureren want er was een fout opgetreden waardoor ik alles kwijt was.
Alles draait op Unraid en wordt beheerd via Portainer.

Hieronder zie je compose file van paperless en van postgresql
Paperless
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 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 8000.
#
# 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:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
#   and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
services:
  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    container_name: paperlessngx # Verander dit naar de naam die je wilt gebruiken om weer te geven in het overzicht
    hostname: paperlessngx # Verander dit naar de naam om weer te geven op het LAN
    restart: unless-stopped

    # Kies één van de volgende netwerkopties:
    #network_mode: "host" # Verander dit naar keuze als je geen custom netwerk gebruikt
    networks: # Bij gebruik van custom netwerk dit activeren
      - app_net #Dit is de naam van een custom netwerk
      - backend_net

    ports:
      - "8010:8000"

    volumes:
      - /mnt/user/appdata/paperlessngx/data:/usr/src/paperless/data
      - /mnt/user/paperlessngx/media:/usr/src/paperless/media
      - /mnt/user/media/paperlessngx/export:/usr/src/paperless/export
      - /mnt/user/media/paperlessngx/consume:/usr/src/paperless/consume

    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
# postgresql database instellingen
      - PAPERLESS_DBHOST=postgresql
      - POSTGRES_DB=paperless_db
      - POSTGRES_USER=paperless
      - POSTGRES_PASSWORD=HierEenSterkWachtwoord
# redis instellingen
      - PAPERLESS_REDIS=redis://redis:6379
      - REDIS_PASSWORD=HierOokEenWachtwoord
# 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=HierEenRandomKey

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

# 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
# for available languages.
      - PAPERLESS_OCR_LANGUAGES=nld eng

# Netwerkdefinities    
networks: # Gebruiken als je custom netwerk hebt
    app_net:
      external: true # Activeren van het custom netwerk in de container
    backend_net:
      external: true # Activeren van het custom netwerk in de container
Postgres (Onderdeel van een grotere compose)
Ook Postgresql zit in de 'backend_net' netwerk.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  postgresql: # Verander dit naar de naam van de container
    image: postgres:18 # Verander dit naar de publisher en containernaam
    container_name: postgresql # Verander dit naar de naam die je wilt gebruiken om weer te geven in het overzicht
    hostname: postgresql # Verander dit naar de naam om weer te geven op het LAN
    restart: unless-stopped 

    volumes:
      - /mnt/user/appdata/postgresql/18:/var/lib/postgresql/18/docker
          
    #network_mode: "host" # Verander dit naar keuze als je geen custom netwerk gebruikt
    networks: # Bij gebruik van custom netwerk dit activeren
      - backend_net #Dit is de naam van een custom netwerk

    ports: # Poorten veranderen naar container-poorten
      - "5432:5432"  # PostgreSQL poort

    environment:
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=HierHetJuisteWachtwoordVanAdmin
      - PGDATA=/var/lib/postgresql/18/docker
      - TZ=Europe/Amsterdam
      - PUID=1000
      - PGID=1000
Query om gebruiker aan te maken samen met database
code:
1
2
3
CREATE DATABASE paperless_db;
CREATE USER paperless WITH PASSWORD 'sterkwachtwoord';
GRANT ALL PRIVILEGES ON DATABASE paperless_db TO paperless;


Hierna ga ik naar de database zelf om nog rechten toe te kennen.

code:
1
2
3
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO paperless;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO paperless;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO paperless;
Foutmelding
django.db.utils.OperationalError: connection failed: connection to server at "172.18.0.5", port 5432 failed: FATAL: password authentication failed for user "paperless"

s6-rc: warning: unable to start service init-migrations: command exited 1

/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
Wanneer ik dan de paperless container opstart ziet hij wel waar de postgresql staat maar hij kan niet inloggen met de gebruikersnaam.
En hierop loop ik vast. Samen met ChatGPT geraak ik niet wijzer door. Ik heb het gevoel dat hij de bal compleet misslaat want hij wil dat ik zaken controleer en aanpas die volgens mij niks te maken hebben met het probleem.

Kunnen jullie me hierbij verder helpen?

[ Voor 10% gewijzigd door Asterion op 11-12-2025 14:20 ]

Alle reacties


  • Juup
  • Registratie: Februari 2000
  • Niet online
Asterion schreef op donderdag 11 december 2025 @ 12:27:
Wanneer ik dan de paperless container opstart ziet hij wel waar de postgresql staat maar hij kan niet inloggen met de gebruikersnaam.
Wat is de exacte foutmelding?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 23:43

MueR

Admin Devschuur® & Discord

is niet lief

Dit heeft niets met softwareontwikkeling te maken. Softwareontwikkeling > Client software algemeen

Anyone who gets in between me and my morning coffee should be insecure.


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:13

Hero of Time

Moderator LNX

There is only one Legend

Weet je ook 100% zeker dat Paperless Postgresql 18 ondersteund? Die versie is erg nieuw, dus ga eerst eens dingen testen met Pgsql 17.

Check ook of in pg_hba.conf externe verbindingen worden toegestaan. En dat Postgresql ook luistert op alle adressen, ipv socket of localhost. Hier staat namelijk niks over in je compose en geen idee of dit al is ingesteld in de container image.

Commandline FTW | Tweakt met mate


  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
Juup schreef op donderdag 11 december 2025 @ 13:20:
[...]

Wat is de exacte foutmelding?
Ok, wat stom dat ik dat er niet bij gezet heb! |:(
django.db.utils.OperationalError: connection failed: connection to server at "172.18.0.5", port 5432 failed: FATAL: password authentication failed for user "paperless"

s6-rc: warning: unable to start service init-migrations: command exited 1

/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.

/run/s6/basedir/scripts/rc.init: fatal: stopping the container.
[...]
Het heeft gewerkt, met een kleine wijziging in de instellingen maar wel met versie 18.
Dus ik zou zeggen van wel?
Dit staat op het einde van het bestand.
# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

host all all all scram-sha-256
Dit staat er ook nog:
# ----------------------
# Authentication Records
# ----------------------
#
# This file controls: which hosts are allowed to connect, how clients
# are authenticated, which PostgreSQL user names they can use, which
# databases they can access. Records take one of these forms:
#
# local DATABASE USER METHOD [OPTIONS]
# host DATABASE USER ADDRESS METHOD [OPTIONS]
# hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
# hostgssenc DATABASE USER ADDRESS METHOD [OPTIONS]
# hostnogssenc DATABASE USER ADDRESS METHOD [OPTIONS]
Maar dit bestand heb ik nog nooit bewerkt. Is het dan nodig om iets te veranderen?

  • smesjz
  • Registratie: Juli 2002
  • Niet online
je hebt dit: "CREATE USER paperless WITH PASSWORD 'sterkwachtwoord';" maar in je pg_hba.conf
"host all all all scram-sha-256"

Je zou eens kunnen met "host all all all password" of gewoon "trust".

  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
smesjz schreef op donderdag 11 december 2025 @ 14:31:
je hebt dit: "CREATE USER paperless WITH PASSWORD 'sterkwachtwoord';" maar in je pg_hba.conf
"host all all all scram-sha-256"

Je zou eens kunnen met "host all all all password" of gewoon "trust".
Hiermee kom ik al iets verder maar nu geet hij volgende foutmelding:
django.db.utils.OperationalError: connection failed: connection to server at "172.18.0.5", port 5432 failed: FATAL: database "paperless" does not exist
Nochtans staat er in de compose paperless_db als database..


'k heb werkelijk geen idee meer waar het zou mislopen.
Omdenduur ben ik geneigd om de gehele server even te herinstalleren 8)7

  • smesjz
  • Registratie: Juli 2002
  • Niet online
Niet fraai maar je kan dit nog proberen als superuser / postgres als je nergens kan vinden waar paperless als db wordt gebruikt:
ALTER DATABASE paperless_db RENAME TO paperless

  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
smesjz schreef op donderdag 11 december 2025 @ 21:24:
Niet fraai maar je kan dit nog proberen als superuser / postgres als je nergens kan vinden waar paperless als db wordt gebruikt:
ALTER DATABASE paperless_db RENAME TO paperless
Nu vind hij de database wel maar heeft hij geen rechten om te schrijven 8)7
Terwijl die rechten wel zijn gegeven.

Ik denk dat ik maar even het gehele zaakje opnieuw ga installeren en enkel met volumes werken ipv bind mounts. Misschien ligt daar ergens de oorzaak?

  • Vloris
  • Registratie: December 2001
  • Laatst online: 20:28
Asterion schreef op vrijdag 12 december 2025 @ 09:22:
[...]


Nu vind hij de database wel maar heeft hij geen rechten om te schrijven 8)7
Terwijl die rechten wel zijn gegeven.
Je hebt net de database gerenamed, de rechten staan nog op de oude, niet meer bestaande database waarschijnlijk?

  • Vloris
  • Registratie: December 2001
  • Laatst online: 20:28
Maar de reden dat hij 'paperless' en niet 'paperless_db' probeert te gebruiken is omdat je in je paperless docker-compose de verkeerde environment-variabele gebruikt.
Deze heb je er staan, maar daar doet paperless niets mee:
code:
1
POSTGRES_DB=paperless_db

Je moet deze hebben:
code:
1
PAPERLESS_DBNAME=paperless_db

  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
Vloris schreef op vrijdag 12 december 2025 @ 09:28:
[...]

Je hebt net de database gerenamed, de rechten staan nog op de oude, niet meer bestaande database waarschijnlijk?
Dat had ik ondertussen ook gedaan, de rechten opnieuw toegewezen maar bracht geen oplossing.
Vloris schreef op vrijdag 12 december 2025 @ 09:30:
Maar de reden dat hij 'paperless' en niet 'paperless_db' probeert te gebruiken is omdat je in je paperless docker-compose de verkeerde environment-variabele gebruikt.
Deze heb je er staan, maar daar doet paperless niets mee:
code:
1
POSTGRES_DB=paperless_db

Je moet deze hebben:
code:
1
PAPERLESS_DBNAME: paperless_db
Da's een goeie. Staat inderdaad zo in de compose file!
Maar na het aanpassen wilt hij het nog steeds niet doen. Hij heeft geen rechten..

[ Voor 97% gewijzigd door Asterion op 12-12-2025 09:47 ]


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:13

Hero of Time

Moderator LNX

There is only one Legend

Kan je het log in de Postgresql container lezen om te zien wat die zegt?

Commandline FTW | Tweakt met mate


  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
Hero of Time schreef op vrijdag 12 december 2025 @ 11:22:
Kan je het log in de Postgresql container lezen om te zien wat die zegt?
2025-12-12 13:32:30.058 CET [1] LOG: starting PostgreSQL 18.1 (Debian 18.1-1.pgdg13+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit

2025-12-12 13:32:30.058 CET [1] LOG: listening on IPv4 address "0.0.0.0", port 5432

2025-12-12 13:32:30.058 CET [1] LOG: listening on IPv6 address "::", port 5432

2025-12-12 13:32:30.062 CET [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"

2025-12-12 13:32:30.074 CET [33] LOG: database system was shut down at 2025-12-12 10:58:46 CET

2025-12-12 13:32:30.090 CET [1] LOG: database system is ready to accept connections

2025-12-12 13:32:34.794 CET [38] ERROR: permission denied for schema public at character 14

2025-12-12 13:32:34.794 CET [38] STATEMENT: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, "app" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "applied" timestamp with time zone NOT NULL)

2025-12-12 13:32:42.374 CET [40] ERROR: permission denied for schema public at character 14

2025-12-12 13:32:42.374 CET [40] STATEMENT: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, "app" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "applied" timestamp with time zone NOT NULL)

2025-12-12 13:32:49.958 CET [43] ERROR: permission denied for schema public at character 14

2025-12-12 13:32:49.958 CET [43] STATEMENT: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, "app" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "applied" timestamp with time zone NOT NULL)

2025-12-12 13:32:57.616 CET [45] ERROR: permission denied for schema public at character 14

2025-12-12 13:32:57.616 CET [45] STATEMENT: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, "app" varchar(255) NOT NULL, "name" varchar(255) NOT NULL, "applied" timestamp with time zone NOT NULL)

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:13

Hero of Time

Moderator LNX

There is only one Legend

Daar heb je iig een foutmelding om verder mee te kijken wat je nog meer moet doen. Ergens heb je wat rechten vergeten blijkbaar.

Commandline FTW | Tweakt met mate


  • Asterion
  • Registratie: Maart 2008
  • Laatst online: 21:00
Hero of Time schreef op vrijdag 12 december 2025 @ 14:15:
Daar heb je iig een foutmelding om verder mee te kijken wat je nog meer moet doen. Ergens heb je wat rechten vergeten blijkbaar.
Idd, zover was ik ook mee.
Het zijn echter gewoon dezelfde foutmeldingen die ik ook krijg in de logs van paperless..

De rechten heb ik ondertussen al tig keer toegekend maar er blijft maar iets misgaan..

Ik denk dat heel de boel maar even opnieuw installeer.
'k Heb nu al zodanig veel veranderd en gewijzigd dat ik niet meer weet wat er nog goed is.

Alleszins bedankt voor de hulp!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 00:13

Hero of Time

Moderator LNX

There is only one Legend

De documentatie van Paperless, iig die van paperless-ngx die ik zo snel vond, is erg summier in wat je voor Postgresql en MySQL/MariaDB moet doen. Alsof je een aparte database al 1001x hebt opgezet voordat je hier mee aan de slag gaat. Daar hebben we dus ook niks aan om op terug te vallen.

Commandline FTW | Tweakt met mate

Pagina: 1