Probleme mit Postgres


Rall1

Recommended Posts

Hallo,

 

ich versuche den Invidious Docker zu installieren. Wie in der Hilfe erklärt, soll postgres12.5 installiert werden. Ab dann komme ich nicht weiter.

 

Wie gebe ich in die Konsole folgende Befehle ein?

 

psql -U postgres

CREATE DATABASE invidious;

create user kemal with encrypted password 'kemal';

GRANT ALL PRIVILEGES ON DATABASE invidious TO kemal;

 

 

 

Ich komme nach diesem Fehler nicht weiter.

 

psql -U postgres

psql: error: FATAL:  role "postgres" does not exist

Link to comment
17 hours ago, Rall1 said:

Wie gebe ich in die Konsole folgende Befehle ein?

 

Gar nicht. Der Container hat dafür ja bereits Variablen:

 

image.png.8b8e4416621505ed67e32ed73a35ddac.png

 

Bei DB hinterlegst du entsprechend "invidious" und als User und Passwort hinterlegst du "kemal". Siehe auch hier das Beispiel:

https://github.com/iv-org/invidious/blob/master/docker-compose.yml

 

Ich vermisse bei "invidious" allerdings eine Einstellung wo man die IP und Port der Datenbank hinterlegen kann. Laut dem Beispiel sucht der nach dem Hostnamen "postgres", wobei nicht dokumentiert ist ob das eine änderbare Variable ist. Hier nutzt er wiederum localhost:

https://github.com/iv-org/invidious/blob/master/config/config.example.yml

 

EDIT: Ah ok, das ist der Grund warum die Anleitung so mega kompliziert ist:

https://forums.unraid.net/topic/112086-support-joshndroids-docker-repo-support-thread/?tab=comments#comment-1025622

 

Ich weiß gerade nicht, ob man dafür ein eigene Custom Netzwerk anlegen muss, damit der eine Container den anderen über seinen Hostnamen finden kann.

 

@ich777 Müsste ich nicht eigentlich in der Lage sein einen Container über seine Container-ID anpingen zu können, wenn beide im Bridge-Netzwerk sind? Ich habe testweise meinem webdav Container ein "--hostname=webdav" mitgegeben und dann versucht über diese Namen und über die Container ID eine Verbindung aufzubauen, was aber nicht geht (beide Container sind in Bridge):

368748879_2021-09-0911_28_49.png.188ce7d78dff37ee6d257d80a7092505.png

Link to comment
29 minutes ago, mgutt said:

beide Container sind in Bridge

In welcher? In der standard bridge oder in einer custom bridge mit eigenem namen? In der standard bridge funktioniert das nicht, nur bei einer custom bridge die vom benutzer selbst angelegt wird.

 

Du musst dann mit dem container namen pingen nicht mit dem host namen.

Link to comment
Just now, ich777 said:

In der standard bridge funktioniert das nicht

Danke für die Info. Habe es jetzt auch in der Doku gefunden, dass das normale Bridge Netzwerk die DNS Einstellungen vom Host übernimmt:

https://docs.docker.com/config/containers/container-networking/

Quote

By default, a container inherits the DNS settings of the host, as defined in the /etc/resolv.conf configuration file. Containers that use the default bridge network get a copy of this file, whereas containers that use a custom network use Docker’s embedded DNS server, which forwards external DNS lookups to the DNS servers configured on the host.

 

@Rall1

Für dich heißt das, dass du erstmal ein Custom Netzwerk erstellen musst. In der Anleitung wird das nur beiläufig mit "I am personally using a custom network 'proxynet' within unraid" erklärt. Das könnte zB so gemacht werden:

docker create network invi

 

Nachdem du das mit dem WebTerminal von Unraid ausgeführt hast, kannst du das Netzwerk "invi" für die beiden Container auswählen. Auch wichtig ist, dass der postgresql Container, egal welche Version du verwenden möchtest, unbedingt "postgres" genannt werden muss, da der invidious container wohl nur diesen Namen sucht, wenn er sich mit der Datenbank verbinden möchte. Oder man übergibt "--hostname=postgres" über die Post Arguments. Das sollte auch gehen. Dann kann er heißen wie er will.

Link to comment
35 minutes ago, ich777 said:

aber wird nicht näher darauf eingegangen warum...

Ich vermute mal, damit man Container immer in separaten Netzen betreibt. Also auch nicht wie das viele hier machen mit dem einen proxynet, sondern dass man immer nur die Container in ein Netzwerk steckt, die auch wirklich miteinander kommunizieren können sollen. Das reduziert dann natürlich die Angriffsfläche, wenn einer der Container gehackt wurde.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.