Firefox Sync Server über Docker

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Wie bekomme ich denn quasi die Verbindung über https und dem Docker hin? Da hänge ich grad etwas :-/
 

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Siehe Beschreibung von meinem Docker (https://hub.docker.com/r/djonasdev/synology-mozilla-syncserver):

SSL Support

Since this container has gunicorn >= v19.6.0 installed, it supports SSL (since v0.17.0 http://docs.gunicorn.org/en/0.17.0/news.html). There are two variable in the syncserver.ini file. For more informations visit http://docs.gunicorn.org/en/stable/settings.html#keyfile

1. Einfach nur den Pfad zu deinen "keyfiles" in der syncserver.ini eintragen

keyfile = /etc/ssl/certs/privkey.pem
certfile = /etc/ssl/certs/cert.pem

2. public_url anpassen mit einem vorangestellten https
3. url im Firefox entsprechend anpassen

Weiter Infos:
- https://letsencrypt.org/de/how-it-works/
 
Zuletzt bearbeitet von einem Moderator:

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
keyfile = /etc/ssl/certs/privkey.pem
certfile = /etc/ssl/certs/cert.pem

Kann es sein, das die Keyfiles nicht immer in dem Verzeichnis abgelegt werden? Wenn ich über Putty das Verzeichnis aufrufe,
dann habe ich weder die eine noch die andere Datei im Ordner.
:-/
 

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Ich denke du hast da etwas falsch verstanden:
1. Dein Zertifikat für deine Domain auf der Synology ablegen
2. Zertifikat von der Synology in den Container einbinden/mounten
3. Mountpfad entsprechend in der syncserver.ini anpassen.

1.jpg
2.png
 

Adama

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
05. Mrz 2013
Beiträge
1.976
Punkte für Reaktionen
574
Punkte
134
Damit die SSL-Verbindung als TLS 1.2 gemacht wird, kannst Du noch folgenden Parameter in syncserver.ini ergänzen:
ssl_version = 5
 

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Ich denke du hast da etwas falsch verstanden:
1. Dein Zertifikat für deine Domain auf der Synology ablegen
2. Zertifikat von der Synology in den Container einbinden/mounten
3. Mountpfad entsprechend in der syncserver.ini anpassen.

Vielen Dank für diesen Tipp. Die Syncronisierung auf dem PC erfolgt nun gesichert über https!

Über mein iPhone funktioniert es nach wie vor leider nicht.
Ich habe meine URL in der untere Feld des "geheimen" Menüs eingegeben, mich dann mit meinem Account angemeldet
und er startet den Sync nicht so wirklich.

Ich bin grad etwas ratlos. Hast du noch eine Idee?
(Und sorry das ich so hartnäckig bin :)
 

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Damit die SSL-Verbindung als TLS 1.2 gemacht wird, kannst Du noch folgenden Parameter in syncserver.ini ergänzen:
ssl_version = 5

Danke für die Info

Die Syncronisierung auf dem PC erfolgt nun gesichert über https!

Über mein iPhone funktioniert es nach wie vor leider nicht.
Ich habe meine URL in der untere Feld des "geheimen" Menüs eingegeben, mich dann mit meinem Account angemeldet
und er startet den Sync nicht so wirklich.

Ich bin grad etwas ratlos. Hast du noch eine Idee?

Bei mir funktioniert es problemlos. Hast du ein selbst signiertes Zertifikat? Das iPhone wird das nicht zulassen und daher wird es nicht funktionieren. Ansonsten kann ich dazu nicht viel sagen, da ich keine Probleme mit meinem iPhone habe. Evtl. gibt es eine Debug Ausgabe im Firefox um das Problem eingrenzen zu können.
 

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Bei mir funktioniert es problemlos. Hast du ein selbst signiertes Zertifikat? Das iPhone wird das nicht zulassen und daher wird es nicht funktionieren. Ansonsten kann ich dazu nicht viel sagen, da ich keine Probleme mit meinem iPhone habe. Evtl. gibt es eine Debug Ausgabe im Firefox um das Problem eingrenzen zu können.

Es ist ein Let's Encrypt Zertifikat, welches auch als gültig angezeigt wird, wenn ich die Adresse als URL im Firefox eingebe. Syncronisierung am PC funktioniert über die externe URL wunderbar. Nur meine App aufm iPhone eben nicht. Ich bin etwas ratlos, zumal der Aufruf per Adresse aufm iPhone auch funktioniert.

In der App selber gehe ich doch in das "geheime Menü" und gebe meine URL in das untere der beiden Felder ein,
im der Art: https://subdomain.domain.xyz:443/token/1.0/sync/1.5
oder liegt hier mein Fehler?
 

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Nein, ich habe es bei mir genauso eingestellt. Du kannst aber mal in der Konsole im Docker Container schauen, was zum Zeitpunkt der versuchten Syncronisation ausgegeben wird.
 

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Also im Docker selbst sehe ich keinerlei Bewegung, sei es bei der Syncronisation, welche auf dem PC ja läuft, noch wenn ich über die App den Prozess starte :mad:
 
Zuletzt bearbeitet von einem Moderator:

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Bitte im Reiter Protokoll schauen was dort zum Zeitpunkt der angeforderten Synchronisation ausgegeben wird. Folgende drei Möglichkeiten gibt es hierbei:

1. Keinerlei Einträge zum Zeitpunkt der angeforderten Synchronisation: Dein Link in der Firefox Konfiguration ist falsch
2: Fehler im Protokoll: Fehler analysieren
3. Ausgabe ist gleich meinem Screenshot: Alles funktioniert

2020-02-03 10_32_21-Window.png
 

Bearington

Benutzer
Mitglied seit
17. Jan 2019
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Nabend! So, also ich habe es nochmal versucht. Ich habe zumindest den Fortschritt, das im Container zumindest irgendeine Bewegung zu sehen ist.
Jedoch scheint es weiterhin nicht zu funktionieren. Folgendes habe ich gemacht:

Abbild gedownloaded, dann die ID von meinem Admin genommen und den Container nach deiner Anweisung von dockerhub gestartet. Das klappt soweit, das ich wie folgt angezeigt bekomme:

2020-02-05 20_27_08-Einstellungen.jpg

Ich denke mal, STDERR steht für einen Fehler. Mein Benutzer zum Testen ist vollständig Admin. Was könnte noch der Fehler sein?
 

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
255
Punkte für Reaktionen
4
Punkte
24
@dojo

Bei Firefox identity.sync.tokenserver.uri wie muss die URL aussehen ??
Beim DS214play hatte ich noch diese drin http://IP:8132/token/1.0/sync/1.5

Bei der ds214play Version wurde ja in einer Mysql Datenbank gespeichert, wo befindet sich es jetzt bei Docker Image

Danke Jens
 

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
255
Punkte für Reaktionen
4
Punkte
24
@dojo

Habe eine DS718+ das Docker läuft zwar jedoch bekomme ich so eine Anzeige wie bei #31 nicht angezeigt.


mfg

Jens
 

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Bei Firefox identity.sync.tokenserver.uri wie muss die URL aussehen ??
Beim DS214play hatte ich noch diese drin http://IP:8132/token/1.0/sync/1.5

Die Url ist soweit korrekt. Abhängig ob du ein SSL Zertifikat benutzt oder nicht musst du http oder https verwenden.

Bei der ds214play Version wurde ja in einer Mysql Datenbank gespeichert, wo befindet sich es jetzt bei Docker Image

Standartmäßig wird SQLite verwendet. Den entsprechenden Parameter kannst du in der syncserver.ini (https://github.com/dojo90/synology-docker-mozilla-syncserver/blob/master/docker/syncserver.ini#L28) anpassen. Wenn du eine andere Datenbank verwenden willst, gibt es hier eine Hilfe dazu.

Habe eine DS718+ das Docker läuft zwar jedoch bekomme ich so eine Anzeige wie bei #31 nicht angezeigt.

Was bekommst du den angezeigt?

Gib deinen Link mal in deinen Browser ein. Wenn du folgende Ausgabe bekommst passt alles:

2020-03-02 09_13_28-Window.png
 

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
255
Punkte für Reaktionen
4
Punkte
24
Hallo Dojo

Ja das bekam ich raus, habe in der Config nochwas aktiviert.
allow_new_users = true


/data
Wo legt er die Datenbank ab ??

LogFile:
date stream content
2020-03-02 17:19:54 stdout + exec gunicorn --paste /data/syncserver.ini
2020-03-02 17:19:54 stdout + '[' '!' -e syncserver.ini ]
2020-03-02 17:19:54 stdout + cd /data
2020-03-02 17:19:54 stdout + DATA_DIR=/data
2020-03-02 17:19:54 stdout + DB_FILE=syncserver.db
2020-03-02 17:19:54 stdout + CONFIG_FILE=syncserver.ini
2020-03-02 17:19:54 stdout + exec su -l -c 'exec /bin/docker-run' worker
2020-03-02 17:19:54 stdout + chown -R worker:worker /data
2020-03-02 17:19:54 stdout adduser: user 'worker' in use
2020-03-02 17:19:54 stdout + adduser -D -s /bin/sh -g 1036 -G worker -h /home/worker -u 1036 worker
2020-03-02 17:19:54 stdout addgroup: group 'worker' in use
2020-03-02 17:19:54 stdout + addgroup -g 1036 worker
2020-03-02 17:19:54 stdout + RUN_USER=worker
2020-03-02 17:06:07 stdout + exec gunicorn --paste /data/syncserver.ini
2020-03-02 17:06:07 stdout + '[' '!' -e syncserver.ini ]
2020-03-02 17:06:07 stdout + cd /data
2020-03-02 17:06:07 stdout + DATA_DIR=/data
2020-03-02 17:06:07 stdout + DB_FILE=syncserver.db
2020-03-02 17:06:07 stdout + CONFIG_FILE=syncserver.ini
2020-03-02 17:06:07 stdout + exec su -l -c 'exec /bin/docker-run' worker
2020-03-02 17:06:07 stdout + chown -R worker:worker /data
2020-03-02 17:06:07 stdout adduser: user 'worker' in use
2020-03-02 17:06:07 stdout + adduser -D -s /bin/sh -g 1036 -G worker -h /home/worker -u 1036 worker
2020-03-02 17:06:07 stdout addgroup: group 'worker' in use
2020-03-02 17:06:07 stdout + addgroup -g 1036 worker
2020-03-02 17:06:07 stdout + RUN_USER=worker
2020-03-02 17:05:28 stdout + exec gunicorn --paste /data/syncserver.ini
2020-03-02 17:05:28 stdout + '[' '!' -e syncserver.ini ]
2020-03-02 17:05:28 stdout + cd /data
2020-03-02 17:05:28 stdout + DATA_DIR=/data
2020-03-02 17:05:28 stdout + DB_FILE=syncserver.db
2020-03-02 17:05:28 stdout + CONFIG_FILE=syncserver.ini
2020-03-02 17:05:28 stdout + exec su -l -c 'exec /bin/docker-run' worker
2020-03-02 17:05:28 stdout + chown -R worker:worker /data
2020-03-02 17:05:28 stdout adduser: user 'worker' in use
2020-03-02 17:05:28 stdout + adduser -D -s /bin/sh -g 1036 -G worker -h /home/worker -u 1036 worker
2020-03-02 17:05:28 stdout addgroup: group 'worker' in use
2020-03-02 17:05:28 stdout + addgroup -g 1036 worker
2020-03-02 17:05:28 stdout + RUN_USER=worker
2020-03-02 17:04:15 stdout option in your config file, but do so at your own risk.
2020-03-02 17:04:15 stdout You can disable this check by setting the force_wsgi_environ
2020-03-02 17:04:15 stdout application url is: http://192.168.220.20:8132
2020-03-02 17:04:15 stdout public_url setting is: http://djonasdev-synology-mozilla-syncserver1
2020-03-02 17:04:15 stdout This will almost certainly cause authentication failures!
2020-03-02 17:04:15 stdout ERROR:syncserver:The public_url setting doesn't match the application url.
2020-03-02 17:04:00 stdout + exec gunicorn --paste /data/syncserver.ini
2020-03-02 17:04:00 stdout + sed '/^\s*secret\s*=/s,=.*,= 399823a44a9a4562138c960995f1b722801a6845,'
2020-03-02 17:04:00 stdout + sed '/^\s*sqluri\s*=/s,=.*,= sqlite:////data/syncserver.db,'
2020-03-02 17:04:00 stdout + sed '/^\s*public_url\s*=/s,=.*,= http://djonasdev-synology-mozilla-syncserver1/,'
2020-03-02 17:04:00 stdout + cat /usr/local/share/syncserver.ini
2020-03-02 17:04:00 stdout + SQLURI=sqlite:////data/syncserver.db
2020-03-02 17:04:00 stdout + PUBLIC_URL=http://djonasdev-synology-mozilla-syncserver1/
2020-03-02 17:04:00 stdout + '[' -z ]
2020-03-02 17:04:00 stdout + HOSTNAME=djonasdev-synology-mozilla-syncserver1
2020-03-02 17:04:00 stdout + hostname
2020-03-02 17:04:00 stdout + SECRET=399823a44a9a4562138c960995f1b722801a6845
2020-03-02 17:04:00 stdout + sha1sum
2020-03-02 17:04:00 stdout + awk '{print $1}'
2020-03-02 17:04:00 stdout + head -c 20 /dev/urandom
2020-03-02 17:04:00 stdout + '[' '!' -e syncserver.ini ]
2020-03-02 17:04:00 stdout + cd /data
2020-03-02 17:04:00 stdout + DATA_DIR=/data
2020-03-02 17:04:00 stdout + DB_FILE=syncserver.db
2020-03-02 17:04:00 stdout + CONFIG_FILE=syncserver.ini
2020-03-02 17:04:00 stdout + exec su -l -c 'exec /bin/docker-run' worker
2020-03-02 17:04:00 stdout + chown -R worker:worker /data
2020-03-02 17:04:00 stdout + adduser -D -s /bin/sh -g 1036 -G worker -h /home/worker -u 1036 worker
2020-03-02 17:04:00 stdout + addgroup -g 1036 worker
2020-03-02 17:04:00 stdout + RUN_USER=worker

Danke Super :)
Mit Firefox verbunden und bleibt im Browser nicht aktiv ??
Da fehlt ja nochwas aber was:rolleyes:
Von token/1.0/sync/1.5
Kommt nix warum ??
Jens
 
Zuletzt bearbeitet:

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
255
Punkte für Reaktionen
4
Punkte
24
@dojo

Den angelegten User durch abruf über id -u FirefoxSync die entsprechende UID dann im docker unter Umgebung entsprechend gändert.

Warum bekomme ich nur das #36 zu Stande ??

Was kann man aus den log lesen ?
PUBLIC_URL=http://djonasdev-synology-mozilla-syncserver1/

+ SQLURI=sqlite:////data/syncserver.db

+ cat /usr/local/share/syncserver.ini

+ sed '/^\s*public_url\s*=/s,=.*,= http://djonasdev-synology-mozilla-syncserver1/,'

+ sed '/^\s*sqluri\s*=/s,=.*,= sqlite:////data/syncserver.db,'

+ sed '/^\s*secret\s*=/s,=.*,= 11ce02b805ffffb2c6e136900f5330b43a4fa8ad,'

+ exec gunicorn --paste /data/syncserver.ini

ERROR:syncserver:The public_url setting doesn't match the application url.

This will almost certainly cause authentication failures!

public_url setting is: http://djonasdev-synology-mozilla-syncserver1

application url is: http://192.168.220.20:8132

You can disable this check by setting the force_wsgi_environ

option in your config file, but do so at your own risk.

Danke Jens
 
Zuletzt bearbeitet:

Esel08

Benutzer
Mitglied seit
10. Jul 2014
Beiträge
255
Punkte für Reaktionen
4
Punkte
24
Hey Dojo



Die habe ich in der ini geändert!
Ich werde noch blöd...

public_url

Beim aufrufen von http://192.168.220.20:8132/token/1.0/sync/1.5 Antwort wie #35
Beim aufrufen von http://192.168.220.20:8132/ Antwort it Works

Das müsste doch gehen, passiert nix beim synchronisieren.

Muss da nochwas geändert werden mit der Datenbank ?

sqluri = sqlite:////data/syncserver.db

Danke


Gruß Jens
 
Zuletzt bearbeitet:

dojo

Benutzer
Mitglied seit
14. Dez 2016
Beiträge
71
Punkte für Reaktionen
9
Punkte
8
Beim aufrufen von http://192.168.220.20:8132/token/1.0/sync/1.5 Antwort wie #35
Beim aufrufen von http://192.168.220.20:8132/ Antwort it Works

Genau so sollte es auch sein. Dann hast du alles richtig konfiguriert ?

Das müsste doch gehen, passiert nix beim synchronisieren.

Schauen was im Log steht, siehe #31

Muss da nochwas geändert werden mit der Datenbank ?

sqluri = sqlite:////data/syncserver.db

Nein, kann unverändert bleiben.

Evtl. musst du allow_new_users = true setzen.
 


 

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