Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Backitup kein JavaScript Restore möglich!

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Backitup kein JavaScript Restore möglich!

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      legro @Thomas Braun last edited by

      @thomas-braun said in Backitup kein JavaScript Restore möglich!:

      @legro sagte in Backitup kein JavaScript Restore möglich!:

      Offenbar sieht der von mir berichtete Fehler so aus, als hätten er dieselbe Fehlerursache(n).

      Nein, hat er definitiv nicht.

      Nun ja, dann werde ich meinen obigen Beitrag wohl nochmals in einem eigenen Thread veröffentlichen.

      Beide Fälle haben allerdings gemeinsam, dass die jeweils wiederherzustellende Backup-Datei nicht gefunden werden kann. BackItUp meckert - so wie ich das Ganze einschätze - eine falsche Quelle für diese Dateien an. Sollte dann nicht in BackItUp auch einmal gesucht werden?

      Bevor ich mal wieder von einem Admin falsch verstanden werde: Wenn ich daran denke, wie positiv BackItUp sich seit meinen gescheiterten Versuchen, von Buster auf Bullseye umzusteigen, entwickelt hat, kann ich nur herzlich danke sagen.

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • simatec
        simatec Developer Most Active @legro last edited by

        @legro mach beibder Fritzbox das, was @Thomas-Braun gesagt hat. Noserverino aktivieren und smb 3.1.1

        L 1 Reply Last reply Reply Quote 0
        • B
          BenjaminCz @Thomas Braun last edited by

          @thomas-braun
          Also jetzt funktioniert mal das Kopieren.

          Hier die Lösung:

          1.jpg

          1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @legro last edited by

            @legro sagte in Backitup kein JavaScript Restore möglich!:

            Sollte dann nicht in BackItUp auch einmal gesucht werden?

            Wenn du damit falsche Einstellungen bei dir meinst: Ja, schon.

            B 2 Replies Last reply Reply Quote 0
            • B
              BenjaminCz @Thomas Braun last edited by

              @thomas-braun Ja und es Funktionieren nun auch alle Restores. Nach dem Backup tut Backitup automatisch unmount machen oder woher kamen die vielen Mounts ?

              Thomas Braun 1 Reply Last reply Reply Quote 0
              • B
                BenjaminCz @Thomas Braun last edited by

                @thomas-braun weil jetzt sieht es so aus:

                pi@raspberrypi:~ $ mount | sort
                bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
                cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
                configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
                debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
                /dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,flush,errors=remount-ro)
                /dev/mmcblk0p2 on / type ext4 (rw,noatime)
                devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
                devtmpfs on /dev type devtmpfs (rw,relatime,size=1800664k,nr_inodes=84204,mode=755)
                fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
                mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
                proc on /proc type proc (rw,relatime)
                securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
                sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
                sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
                systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
                tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
                tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
                tmpfs on /run type tmpfs (rw,nosuid,nodev,size=786212k,nr_inodes=819200,mode=755)
                tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=393104k,nr_inodes=98276,mode=700,uid=1000,gid=1000)
                tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
                pi@raspberrypi:~ $
                
                

                Ist Sauber oder ?

                1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @BenjaminCz last edited by

                  @benjamincz sagte in Backitup kein JavaScript Restore möglich!:

                  Nach dem Backup tut Backitup automatisch unmount machen

                  Ja, deswegen muss der mountpunkt /opt/iobroker/backups auch leer sein, wenn die Freigabe nicht gemountet ist.

                  oder woher kamen die vielen Mounts

                  Keine Ahnung was da eingestellt war. Vermutlich alles unvollständige Backitup-Vorgänge und der mount ist stehen geblieben.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    BenjaminCz @Thomas Braun last edited by

                    @thomas-braun ok dann sage ich 1000 mal dank und Schönen abend ! Jetzt eine "sauber" funktionierendes Backup & Restore

                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • L
                      legro @simatec last edited by legro

                      @simatec said in Backitup kein JavaScript Restore möglich!:

                      @legro mach beibder Fritzbox das, was @Thomas-Braun gesagt hat. Noserverino aktivieren und smb 3.1.1

                      Habe ich doch oben geschrieben, dass ich das alles im Vorfeld schon gemacht habe. Sonst hätte doch auch schon das Backup des ioBrokers nicht funktioniert.

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @BenjaminCz last edited by

                        @benjamincz

                        ls -lA /opt/iobroker/backups
                        

                        zeigt?

                        1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @legro last edited by

                          @legro sagte in Backitup kein JavaScript Restore möglich!:

                          Habe ich doch oben geschrieben, dass ich das alles im Vorfeld schon gemacht habe.

                          Mach es bitte in einem separaten Thread...
                          Hier geht es um NFS.

                          1 Reply Last reply Reply Quote 0
                          • A
                            axel last edited by

                            Ich stehe auch vor dem selben Problem. Bei mir hat sich eine VM auf meiner QNAP während eines Versionsupgrade Ubuntu auf 24.04. verabschiedet. Das Imagee Festplatte war nicht mehr einbindbar, vorhandene Snapshots damit unbrauchbar. Das Image ließ sich auch in keine andere VM einbinden.

                            Da ich tägliche Backups mache, habe ich mir gedacht: kein Problem. Ein sauberes Ubuntu 24.o4. Installationsimage gezogen und auf einer neuen VM installiert. Basisinstallation ioBroker drauf, sollte ja mit Restore überschrieben werden. Gesagt getan. Erstes Problem war, dass das ioBroker-Backup von einem Share meiner QNAP nicht einspielbar war. Also, Samba installiert und das Backup nach /opt/iobroker/backups kopiert. Ließ sich dann von lokal einwandfrei und fehlerfrei zurückladen. Noch ein iob fix für alle Fälle.

                            Jetzt das Problem. Bei dem JS Backup das gleiche vorgehen. Leider funktioniert das nicht. Ich bekomme den oben beschriebenen Fehler

                            Error: {"errno":-2,"code":"ENOENT","syscall":"open","path":"/opt/iobroker/backups/tmpScripts/script.json"}

                            bei Restore-Versuch von der NAS und bei lokalen Restore keine verfügbare Datei angezeigt. Muss ein Rechteproblem sein.

                            Wie genau müssen die Dateirechte aussehen? Kann ich mögliche Einschränkungen mit "777" überbügeln und lösen?

                            In der JS-Backupdatei sind alle meine Programme drin. Könnte ich einzel rauskopieren und in JS einfügen. Ist aber eine große Tüftelei, da ich eine recht umfangreiche Installation habe.

                            Über jeden Tipp bin ich Dankbar.

                            Grüße Axel

                            Thomas Braun 1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @axel last edited by Thomas Braun

                              @axel sagte in Backitup kein JavaScript Restore möglich!:

                              Ein sauberes Ubuntu

                              Ein Widerspruch in sich...

                              Wie genau müssen die Dateirechte aussehen? Kann ich mögliche Einschränkungen mit "777" überbügeln und lösen?

                              Wie und was mountest du denn da genau? Die Mountoptionen für cifs von backitup bringen eigentlich die richtigen Rechte mit.

                              Edit: Gerade spaßeshalber ein JS-Backup per Backitup eingespielt. Funktioniert hier einwandfrei.

                              2024-07-14 12:07:41.437  - info: backitup.0 (15420) DATA: {"type":"nas / copy","fileName":"/opt/iobroker/backups/javascripts_2024_07_14-03_42_38_chet_backupiobroker.tar.gz","currentTheme":"react-dark","currentProtocol":"http:","stopIOB":false}
                              2024-07-14 12:07:41.677  - info: javascript.0 (15361) Got terminate signal TERMINATE_YOURSELF
                              2024-07-14 12:07:41.692  - info: javascript.0 (15361) Stopping script script.js.common.awtrix
                              2024-07-14 12:07:41.694  - info: javascript.0 (15361) Stopping script script.js.common.frostwarner
                              2024-07-14 12:07:41.695  - info: javascript.0 (15361) Stopping script script.js.common.lautstaerke_bad
                              2024-07-14 12:07:41.697  - info: javascript.0 (15361) Stopping script script.js.common.lautstaerke_kueche
                              2024-07-14 12:07:41.697  - info: javascript.0 (15361) Stopping script script.js.common.nuki_ext_wohnungstuer_entriegelt
                              2024-07-14 12:07:41.698  - info: javascript.0 (15361) Stopping script script.js.common.paketlieferungen
                              2024-07-14 12:07:41.700  - info: javascript.0 (15361) Stopping script script.js.common.pakettruhe_offen
                              2024-07-14 12:07:41.700  - info: javascript.0 (15361) Stopping script script.js.common.ps4_waker
                              2024-07-14 12:07:41.701  - info: javascript.0 (15361) Stopping script script.js.common.sonnenaufgang
                              2024-07-14 12:07:41.701  - info: javascript.0 (15361) Stopping script script.js.common.sonnenuntergang
                              2024-07-14 12:07:41.702  - info: javascript.0 (15361) Stopping script script.js.common.speedtest
                              2024-07-14 12:07:41.702  - info: javascript.0 (15361) Stopping script script.js.common.telefon_klingelt
                              2024-07-14 12:07:41.702  - info: javascript.0 (15361) Stopping script script.js.common.treppenhaus_licht_hub
                              2024-07-14 12:07:41.703  - info: javascript.0 (15361) Stopping script script.js.common.tuerklingel_laeutet
                              2024-07-14 12:07:41.703  - info: javascript.0 (15361) Stopping script script.js.common.usv_warner
                              2024-07-14 12:07:41.704  - info: javascript.0 (15361) Stopping script script.js.common.wohnung_verlassen
                              2024-07-14 12:07:41.704  - info: javascript.0 (15361) Stopping script script.js.common.zuhause_verlassen
                              2024-07-14 12:07:41.705  - info: javascript.0 (15361) Stopping script script.js.nuki_extended_restart_fix
                              2024-07-14 12:07:41.705  - info: javascript.0 (15361) Stopping script script.js.solix2mqtt
                              2024-07-14 12:07:41.706  - info: javascript.0 (15361) Stopping script script.js.stromzaehler2
                              2024-07-14 12:07:41.718  - info: javascript.0 (15361) terminating
                              2024-07-14 12:07:41.721  - info: javascript.0 (15361) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                              2024-07-14 12:07:42.189  - info: javascript.0 (15361) terminating
                              2024-07-14 12:07:49.679  - info: javascript.0 (75561) starting. Version 8.6.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v22.4.1, js-controller: 6.0.8
                              2024-07-14 12:07:50.520  - info: javascript.0 (75561) requesting all states
                              2024-07-14 12:07:50.523  - info: javascript.0 (75561) requesting all objects
                              2024-07-14 12:07:53.191  - info: javascript.0 (75561) received all objects
                              2024-07-14 12:07:53.650  - info: javascript.0 (75561) received all states
                              2024-07-14 12:07:53.825  - info: javascript.0 (75561) Start JavaScript script.js.common.awtrix (Blockly)
                              2024-07-14 12:07:53.897  - info: javascript.0 (75561) script.js.common.awtrix: registered 3 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:53.905  - info: javascript.0 (75561) Start JavaScript script.js.common.frostwarner (Blockly)
                              2024-07-14 12:07:53.913  - info: javascript.0 (75561) script.js.common.frostwarner: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:53.915  - info: javascript.0 (75561) Start JavaScript script.js.common.lautstaerke_bad (Blockly)
                              2024-07-14 12:07:53.922  - info: javascript.0 (75561) script.js.common.lautstaerke_bad: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:53.923  - info: javascript.0 (75561) Start JavaScript script.js.common.lautstaerke_kueche (Blockly)
                              2024-07-14 12:07:53.929  - info: javascript.0 (75561) script.js.common.lautstaerke_kueche: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:53.930  - info: javascript.0 (75561) Start JavaScript script.js.common.nuki_ext_wohnungstuer_entriegelt (Blockly)
                              2024-07-14 12:07:53.938  - info: javascript.0 (75561) script.js.common.nuki_ext_wohnungstuer_entriegelt: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:53.939  - info: javascript.0 (75561) Start JavaScript script.js.common.paketlieferungen (Blockly)
                              2024-07-14 12:07:54.018  - info: javascript.0 (75561) script.js.common.paketlieferungen: registered 1 subscription, 2 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.018  - info: javascript.0 (75561) Start JavaScript script.js.common.pakettruhe_offen (Blockly)
                              2024-07-14 12:07:54.026  - info: javascript.0 (75561) script.js.common.pakettruhe_offen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.027  - info: javascript.0 (75561) Start JavaScript script.js.common.ps4_waker (Blockly)
                              2024-07-14 12:07:54.033  - info: javascript.0 (75561) script.js.common.ps4_waker: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.034  - info: javascript.0 (75561) Start JavaScript script.js.common.sonnenaufgang (Blockly)
                              2024-07-14 12:07:54.041  - info: javascript.0 (75561) script.js.common.sonnenaufgang: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.042  - info: javascript.0 (75561) Start JavaScript script.js.common.sonnenuntergang (Blockly)
                              2024-07-14 12:07:54.049  - info: javascript.0 (75561) script.js.common.sonnenuntergang: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.049  - info: javascript.0 (75561) Start JavaScript script.js.common.speedtest (Javascript/js)
                              2024-07-14 12:07:54.055  - info: javascript.0 (75561) script.js.common.speedtest: Speedtest: Erster Start des Skriptes! Datenpunkte werden erstellt!
                              2024-07-14 12:07:54.059  - info: javascript.0 (75561) script.js.common.speedtest: Speedtest: Datenpunkte erstellt! Erster Speedtest wird in 180 Sekunden ausgeführt!
                              2024-07-14 12:07:54.064  - info: javascript.0 (75561) script.js.common.speedtest: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.064  - info: javascript.0 (75561) Start JavaScript script.js.common.telefon_klingelt (Blockly)
                              2024-07-14 12:07:54.072  - info: javascript.0 (75561) script.js.common.telefon_klingelt: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.073  - info: javascript.0 (75561) Start JavaScript script.js.common.treppenhaus_licht_hub (Blockly)
                              2024-07-14 12:07:54.079  - info: javascript.0 (75561) script.js.common.treppenhaus_licht_hub: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.079  - info: javascript.0 (75561) Start JavaScript script.js.common.tuerklingel_laeutet (Blockly)
                              2024-07-14 12:07:54.085  - info: javascript.0 (75561) script.js.common.tuerklingel_laeutet: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.086  - info: javascript.0 (75561) Start JavaScript script.js.common.usv_warner (Blockly)
                              2024-07-14 12:07:54.092  - info: javascript.0 (75561) script.js.common.usv_warner: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.092  - info: javascript.0 (75561) Start JavaScript script.js.common.wohnung_verlassen (Blockly)
                              2024-07-14 12:07:54.099  - info: javascript.0 (75561) script.js.common.wohnung_verlassen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.099  - info: javascript.0 (75561) Start JavaScript script.js.common.zuhause_verlassen (Blockly)
                              2024-07-14 12:07:54.105  - info: javascript.0 (75561) script.js.common.zuhause_verlassen: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.106  - info: javascript.0 (75561) Start JavaScript script.js.nuki_extended_restart_fix (Javascript/js)
                              2024-07-14 12:07:54.112  - info: javascript.0 (75561) script.js.nuki_extended_restart_fix: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.113  - info: javascript.0 (75561) Start JavaScript script.js.solix2mqtt (Javascript/js)
                              2024-07-14 12:07:54.119  - info: javascript.0 (75561) script.js.solix2mqtt: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.120  - info: javascript.0 (75561) Start JavaScript script.js.stromzaehler2 (Javascript/js)
                              2024-07-14 12:07:54.126  - info: javascript.0 (75561) script.js.stromzaehler2: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                              2024-07-14 12:07:54.197  - info: javascript.0 (75561) Watch /home/iobroker/skripte/common/
                              2024-07-14 12:07:54.200  - info: javascript.0 (75561) Watch /home/iobroker/skripte/global/
                              2024-07-14 12:07:54.201  - info: javascript.0 (75561) Watch /home/iobroker/skripte/
                              

                              Edit2:
                              Mountoptionen wie folgt:

                              //fritz.nas/FRITZ.NAS/Hitachi-HTS545012B9SA00-01/iobbackups/chet /opt/iobroker/backups cifs credentials=/home/iobroker/.smbcredentials,users,noserverino,noauto,rw,forceuid,uid=iobroker,forcegid,gid=iobroker,file_mode=0770,dir_mode=0770,vers=3.1.1 0 0
                              

                              forceuid,uid=iobroker,forcegid,gid=iobroker,file_mode=0770,dir_mode=0770 sorgt also schon für ausreichende Rechte für den user iobroker.

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                axel @Thomas Braun last edited by

                                @thomas-braun Screen_Sonntag, 14. Juli 2024_19h45m06s_001_.png

                                Restore
                                User: iobroker auf QNAP
                                Screen_Sonntag, 14. Juli 2024_19h46m57s_002_.png

                                Ergebnis:

                                Screen_Sonntag, 14. Juli 2024_19h52m08s_003_.png

                                Fehler:
                                Error: {"errno":-2,"code":"ENOENT","syscall":"open","path":"/opt/iobroker/backups/tmpScripts/script.json"}

                                1 Reply Last reply Reply Quote 0
                                • A
                                  axel last edited by

                                  und neu:

                                  Error: {"errno":-3,"code":"Z_DATA_ERROR"}

                                  Thomas Braun 2 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @axel last edited by

                                    @axel

                                    invalid stored block lengths
                                    deutet auf ein korruptes File hin.

                                    1 Reply Last reply Reply Quote 0
                                    • Thomas Braun
                                      Thomas Braun Most Active @axel last edited by

                                      @axel

                                      Könnte das sein:

                                      https://github.com/cthackers/adm-zip/issues/473

                                      Was liefert

                                      cd /opt/iobroker/ && npm ls adm-zip
                                      

                                      Wobei backitup adm-zip gar nicht verwendet...

                                      agubskyy created this issue in cthackers/adm-zip

                                      closed Error: invalid stored block lengths. Library can't extract archive after your today's release #473

                                      1 Reply Last reply Reply Quote 0
                                      • A
                                        axel last edited by

                                        Danke für die Antworten. Aus irgend einem Grund wurden die Scripts restored, trotz Fehlermeldungen. Ist schon komisch, aber mein Problem ist gelöst...

                                        Zur Frage:

                                        axel@sh:~$ cd /opt/iobroker/ && npm ls adm-zip
                                        [sudo] password for axel:
                                        iobroker.inst@3.0.0 /opt/iobroker
                                        └── (empty)
                                        
                                        axel@sh:/opt/iobroker$
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        552
                                        Online

                                        31.6k
                                        Users

                                        79.5k
                                        Topics

                                        1.3m
                                        Posts

                                        7
                                        103
                                        3699
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo