Docker prosody install Probleme

Status
Für weitere Antworten geschlossen.

Sinnxorolog

Benutzer
Mitglied seit
26. Nov 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hi,

bin am verzweifeln beim Starten eines Dockers. Es geht um prosody, einen xmpp server.
Kriege folgende Fehlermeldung

Rich (BBCode):
container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/data/prosody/configuration\\\" to rootfs \\\"/volume1/@docker/btrfs/subvolumes/5bc87b461b0a0541c3f7d119abc073d718f855cbf7a46808d37e988b71210ed5\\\" at \\\"/volume1/@docker/btrfs/subvolumes/5bc87b461b0a0541c3f7d119abc073d718f855cbf7a46808d37e988b71210ed5/etc/prosody\\\" caused \\\"not a directory\\\"\""


https://hub.docker.com/r/prosody/prosody/

Den Container habe ich so installiert
Rich (BBCode):
sudo docker run -d \
   -p 5222:5222 \
   -p 5269:5269 \
   -p 5347:5347 \
   -e LOCAL=romeo \
   -e DOMAIN=shakespeare.lit \
   -e PASSWORD=juliet4ever \
   -v /data/prosody/configuration:/etc/prosody \
   -v /logs/prosody:/var/log/prosody \
   -v /data/prosody/modules:/usr/lib/prosody-modules \
   prosody/prosody:latest

mkdir /data
mkdir /data/prosody
mkdir /logs
sudo touch /data/prosody/configuration
sudo touch /data/prosody/modules
sudo touch /etc/prosody


richtig?
sudo mount --bind /data/prosody/ /data/prosody/
sudo mount --bind /data/prosody/ /data/prosody/
sudo mount --bind /logs/ /logs/
sudo mount --bind /etc/prosody /etc/prosody
sudo mount --bind /data/prosody/configuration /data/prosody/configuration

Hat da jemand eine Idee?

Gruß
 

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
728
Punkte für Reaktionen
138
Punkte
69
mit den Verzeichnissen würde ich anders vorgehen
Unter DSM - Systemsteuerung - Gemeinsamer Ordner einen Ordner "docker" erstellen
Mit der Filestation in diesem Ordner den Ordner "prosody" erstellen, in diesem wiederum "configuration" , "log" und "modules" erstellen

Hat den Vorteil, dass Du einen zentralen Ordner für Deine Docker-Dateien hast

sudo docker run -d \
-p 5222:5222 \
-p 5269:5269 \
-p 5347:5347 \
-e LOCAL=romeo \
-e DOMAIN=shakespeare.lit \
-e PASSWORD=juliet4ever \
-v /volume1/docker/prosody/configuration:/etc/prosody \
-v /volume1/docker/prosody/log:/var/log/prosody \
-v /volume1/docker/prosody/modules:/usr/lib/prosody-modules \
prosody/prosody:latest

mkdir /data ..... kannst Du Dir sparen, da Du ja die Verzeichnisse über DSM vorher !!! erstellt hast
sudo mount ..... ditto
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.473
Punkte für Reaktionen
357
Punkte
103
Was zum Henker hat Du denn da gemacht?

Der Run-Befehl ergibt ja noch Sinn, aber was sollen die Befehle dadrunter bitte?!

Dein Problem: du legst Datei an, die du dann auf ein Verzeichnis im Container mappen willst. Kann nicht gehen.

Kleiner Tipp: alle Deine Zeilen mit touch und mount --bind sind Teil deines Problems.
 

stulpinger

Benutzer
Mitglied seit
27. Mai 2009
Beiträge
728
Punkte für Reaktionen
138
Punkte
69
Da Du für den Container keine Spezial-Einstellungen benötigst, würde ich die Konfiguration sowieso über die Docker-GUI machen
vereinfacht das ganze
 

Sinnxorolog

Benutzer
Mitglied seit
26. Nov 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Geht leider nicht, der container stoppt sofort.

@haydibe, anders habe ich es nicht zum Laufen bekommen.

Fehler sind entweder kann pid-file nicht schreiben bzw. es liegt keine "prosody.cfg.lua" vor. Wenn ich die manuell erstelle und dort einfüge klapptes trotzdem nicht :/

Gibt es irgendeinen leicht zu installierenden Jabberserver für die Synology ohne Docker?

Über ipKGUI sehe ich da "erl-ejabberd A Jabber/XMPP server written in Erlang/OTP" allerdings kriege ich über die GUI keine apps zum instllieren. Muss man da irgendetwas freischalten?
 
Zuletzt bearbeitet von einem Moderator:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.473
Punkte für Reaktionen
357
Punkte
103
Ich habe mir das Image mal angeschaut. Das Image ist nicht nur schlecht gemacht, es ist auch fehlerhaft.

Ich habe mal etwas in die Trickkiste gegriffen:

1. Konfiguration und andere notwendige Daten aus einem frisch gestarteten "wegwerf-Container" auf den Host kopiert.
volume= MUSS natürlich das Volume verwenden, in dem Du docker installiert hast.

Dieses Skript muss nur ein Mal ausgeführt werden.

Leider kopiert docker cp auch das eignetlich Verzeichnis mit, wodurch in configs, logs und data entsprechend noch mal ein prosody Unterverzeichnis ist.
Entweder muss man damit leben oder die Dateien noch mal eine Verzeichis-Ebene höher ziehen.

Code:
#!/bin/bash
volume=/volume2
mkdir -p $volume/docker/prosody/{config,logs,data}
touch $volume/docker/prosody/prosody.pid
chmod 777 -R $volume/docker/prosody

docker run -d \
   --name prosody \
   -v $volume/docker/prosody/prosody.pid:/var/run/prosody/prosody.pid \
   prosody/prosody:latest

docker cp --follow-link prosody:/etc/prosody $volume/docker/prosody/config/
docker cp --follow-link prosody:/var/log/prosody $volume/docker/prosody/logs/
docker cp --follow-link prosody:/usr/lib/prosody $volume/docker/prosody/data/

docker stop prosody
docker rm prosody

Nachdem in Schritt 1 alle notwendigen Dateien auf deine Syno kopiert wurde, kannst Du sie nun entspannt in den Container hängen.
Code:
volume=/volume2
docker run -d \
   --name prosody \
   -p 5222:5222 \
   -p 5269:5269 \
   -p 5347:5347 \
   -e LOCAL=romeo \
   -e DOMAIN=shakespeare.lit \
   -e PASSWORD=juliet4ever \
   -v $volume/docker/prosody/prosody.pid:/var/run/prosody/prosody.pid \
   -v $volume/docker/prosody/config/prosody:/etc/prosody \
   -v $volume/docker/prosody/logs/prosody:/var/log/prosody \
   -v $volume/docker/prosody/data/prosody:/usr/lib/prosody \
   prosody/prosody:latest

Falls ich es noch nicht geschrieben hatte: drecks Image!
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.473
Punkte für Reaktionen
357
Punkte
103
Wenn es dir übrigens nur um Kommunikation geht (chat/audio/video/screensharing), dann solltest Du dir mal rocket.chat anschauen. Bevor wir in der Firma Microsoft Teams hatten, hatte ich da mal für Team-Interne Kommunikation laufen. Am liebsten hätte ich, wie in der Vergangheit auch, lieber Slack genutzt, aber deutsche Firmen mögen Daten ungerne US-Firmen aushändigen, mit denen sie keine Knebelveräge haben *hüstle*. Die nächstbeste Open-Source Alternative in rocket.chat :)
 

Sinnxorolog

Benutzer
Mitglied seit
26. Nov 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
haydibe, genau darum geht es mir. :D

Auf Rocket.chat bin ich auch schon gestossen. Teste ich gerade.
Ich würde es gerne im Verbund mit sandstorm.io nutzen, mal schauen, wie das docker image von sandstorm ist ^^
 
Zuletzt bearbeitet von einem Moderator:

Sinnxorolog

Benutzer
Mitglied seit
26. Nov 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Rocket Chat - Audio Messages speicher Probleme

Wenn es dir übrigens nur um Kommunikation geht (chat/audio/video/screensharing), dann solltest Du dir mal rocket.chat anschauen. Bevor wir in der Firma Microsoft Teams hatten, hatte ich da mal für Team-Interne Kommunikation laufen. Am liebsten hätte ich, wie in der Vergangheit auch, lieber Slack genutzt, aber deutsche Firmen mögen Daten ungerne US-Firmen aushändigen, mit denen sie keine Knebelveräge haben *hüstle*. Die nächstbeste Open-Source Alternative in rocket.chat :)

@haydibe: rocket.chat läuft, allerdings kann ich keine Audios aufnehmen, Permission denied, wenn ich "Dateien hochladen" FileSystem auswähle und den Pfad auf 777 setze, speichert rocket chat keine Dateien :(
Hast du eine Idee. Die Permission habe auf 777 gesetzt, das Protokoll sagt:

Rich (BBCode):
date	stream	content
2018-12-13 11:13:51	stderr	
2018-12-13 11:13:51	stderr	    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
2018-12-13 11:13:51	stderr	    at _combinedTickCallback (internal/process/next_tick.js:131:7)
2018-12-13 11:13:51	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:469:18
2018-12-13 11:13:51	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/collection.js:1252:5
2018-12-13 11:13:51	stderr	    at handleCallback (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/utils.js:120:56)
2018-12-13 11:13:51	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/collection.js:1215:18
2018-12-13 11:13:51	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/gridfs-stream/index.js:190:25
2018-12-13 11:13:51	stderr	Error: FileNotFound: no file with id BZ26awdzxed3e8Mau found
2018-12-13 11:13:16	stdout	Setting default file store to FileSystem
2018-12-13 11:13:15	stderr	LocalStore: cannot create store at /volume1/rocket/chat/ (EACCES: permission denied, mkdir '/volume1')
2018-12-13 11:13:15	stderr	LocalStore: cannot create store at /volume1/rocket/chat/ (EACCES: permission denied, mkdir '/volume1')
2018-12-13 11:13:15	stderr	LocalStore: cannot create store at /volume1/rocket/chat/ (EACCES: permission denied, mkdir '/volume1')
2018-12-13 11:12:59	stderr	
2018-12-13 11:12:59	stderr	    at process._tickDomainCallback (internal/process/next_tick.js:218:9)
2018-12-13 11:12:59	stderr	    at _combinedTickCallback (internal/process/next_tick.js:131:7)
2018-12-13 11:12:59	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:469:18
2018-12-13 11:12:59	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/collection.js:1252:5
2018-12-13 11:12:59	stderr	    at handleCallback (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/utils.js:120:56)
2018-12-13 11:12:59	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/collection.js:1215:18
2018-12-13 11:12:59	stderr	    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/gridfs-stream/index.js:190:25
2018-12-13 11:12:59	stderr	Error: FileNotFound: no file with id wTr2Tech7k9LrR3Qk found
2018-12-13 11:09:32	stderr
 

Sinnxorolog

Benutzer
Mitglied seit
26. Nov 2018
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
okay,

also 1. Mongo Datenbank erstellt:

Rich (BBCode):
 sudo docker run --name db -d mongo:3.0 --smallfiles

anschließend

Rich (BBCode):
sudo docker run --name rocketchat -p--link db -d rocket.chat

Den Server kann ich aufrufen, mich auch mit der Desktop app einloggen, einfaches chatten klappt auch schön und gut.

Aber Bei den Daten hochladen, will es nicht wirklich. Da zeigt das Docker Protokoll obige Fehlerausgabe.

Hier die Einstellungen von "Daten Hochladen" (UI)
rocket1-datei_hochladen.jpg
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.473
Punkte für Reaktionen
357
Punkte
103
1. Du hast keine Verzeichnise vom Host in den Container gemapped ( docker run -v /host/pfad:/container/pfad:rw)
2. Du musst im Container dann natürlich dann /container/pfad verwenden.
3. Punkt 1 führt dazu, dass mit entfernen des Containers auch Deine Daten weg sein werden.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat