Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

OBS - ein neuer Player in der Serverlandschaft?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Naja, so schnell geht es mit QS- und Security-Reviews leider nicht.
    Die Frage ist halt immer was dann auch gebraucht wird. 150 Funktionsblöcke zu bauen, von denen dann 15 effektiv genutzt werden, entspricht gerade wegen der KI Nutzung nicht meinen/(unseren) Vorstellung von Nachhaltigkeit.

    Schreibt gerne eure höchsten Prioritäten hier rein oder noch besser eröffnet pro Funktionsblock eine Github Issue und votet dafür. so können wir einfach priorisieren.
    Gruss Daniel

    Kommentar


      Zitat von starwarsfan Beitrag anzeigen
      Hi



      Sollte dann beim nächsten Release in etwa so aussehen:
      image.png
      Wow.. Mega !!
      Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

      Kommentar


        Zitat von starwarsfan Beitrag anzeigen
        Hallo miteinander



        Ab dem nächsten Release dann so wie hier beschrieben.
        Perfekt, das sieht sehr gut aus, danke vielmals und wird sicher vielen Anwendern helfen..
        Zuletzt geändert von mac29; 21.06.2026, 19:04.

        Kommentar


          Moin,

          ich leider erst jetzt zu einer kurzen Anleitung gekommen. Aber evtl. hilft es ja noch dem einen oder anderen....


          OBS – Installation als Docker Container auf der Synology

          Ausgehend von der docker-compose.yml von https://www.open-bridge.io/de/ bin ich zunächst auf zwei Probleme bei meiner Synology gestossen.

          1. Synology Container Manager unterstützt keinen configs.content in der compose.yml. Der Start wurde abgelehnt mit “Additional property content is not allowed'”

          2. Umstellung auf Bind-Mounts statt benannter Docker-Volumes damit die Daten über das Standard-File-System erreichbar sind.

          Zu1.

          Ich habe den configs-Block
          Code:
          configs:
          mosquitto_conf:
          content: |
          allow_anonymous false
          password_file /mosquitto/passwd/passwd
          
          listener 1883
          protocol mqtt
          
          listener 9001
          protocol websockets
          
          persistence true
          persistence_location /mosquitto/data/
          
          log_dest file /mosquitto/log/mosquitto.log
          log_dest stdout
          log_type error
          log_type warning
          log_type notice
          
          max_connections 100
          max_keepalive 120​

          aus der .yml rausgenommen und eine separate mosquitto.conf erstellt. Diese habe ich dann als volume wieder eingebunden:

          Code:
          volumes:
          - /volume1/docker/obs/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro​

          Zu 2.

          Die Volumes aus der compose.yml z.B.
          Code:
          volumes:
          - mosquitto_passwd:/mosquitto/passwd​
          habe ich ersetzt mit

          Code:
          volumes:
          - /volume1/docker/obs/data/mosquitto/passwd:/mosquitto/passwd​
          am Ende sieht meine compose.yaml damit wie folgt aus:

          Code:
          # Generated by open bridge server Compose Generator
          # https://open-bridge.io
          # InfluxDB: influx2
          # Grafana:  grafana_ce
          # Proxy:    none
          # Domain:   obs.muckelmann.de
          
          services:
          
            obs_mqtt:
              image: eclipse-mosquitto:2
              restart: unless-stopped
              container_name: obs_mqtt
              user: root
              command: >
                sh -c "
                mkdir -p /mosquitto/passwd &&
                chmod 777 /mosquitto/passwd &&
                rm -f /mosquitto/passwd/passwd &&
                mosquitto_passwd -c -b /mosquitto/passwd/passwd $$MQTT_SVC_USER $$MQTT_SVC_PASS &&
                chmod 644 /mosquitto/passwd/passwd &&
                exec mosquitto -c /mosquitto/config/mosquitto.conf
                "
              environment:
                MQTT_SVC_USER: ${OBS_MQTT_USERNAME:-obs}
                MQTT_SVC_PASS: ${OBS_MQTT_PASSWORD:-changeme}
              volumes:
                - /volume1/docker/obs/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro
                - /volume1/docker/obs/data/mosquitto/passwd:/mosquitto/passwd
                - /volume1/docker/obs/data/mosquitto/data:/mosquitto/data
                - /volume1/docker/obs/data/mosquitto/log:/mosquitto/log
              ports:
                - "1883:1883"
                - "9001:9001"
              healthcheck:
                test: ["CMD", "mosquitto_sub", "-t", "$$SYS/#", "-C", "1", "-i", "healthcheck",
                       "-u", "${OBS_MQTT_USERNAME:-obs}", "-P", "${OBS_MQTT_PASSWORD:-changeme}",
                       "-W", "3"]
                interval: 10s
                timeout: 5s
                retries: 3
          
            obs:
              image: ghcr.io/abeggled/openbridgeserver:latest
              restart: unless-stopped
              container_name: obs_obs
              pid: "service:obs_mqtt"
              depends_on:
                obs_mqtt:
                  condition: service_healthy
              volumes:
                - /volume1/docker/obs/data/obs:/data
                - /volume1/docker/obs/data/mosquitto/passwd:/mosquitto/passwd
              ports:
                - "${OBS_PORT:-8080}:8080"
              environment:
                OBS_MQTT__HOST: obs_mqtt
                OBS_MQTT__PORT: "1883"
                OBS_MQTT__USERNAME: ${OBS_MQTT_USERNAME:-obs}
                OBS_MQTT__PASSWORD: ${OBS_MQTT_PASSWORD:-changeme}
          
                OBS_MOSQUITTO__PASSWD_FILE: /mosquitto/passwd/passwd
                OBS_MOSQUITTO__SERVICE_USERNAME: ${OBS_MQTT_USERNAME:-obs}
                OBS_MOSQUITTO__SERVICE_PASSWORD: ${OBS_MQTT_PASSWORD:-changeme}
                OBS_MOSQUITTO__RELOAD_PID: "1"
          
                OBS_SECURITY__JWT_SECRET: ${OBS_JWT_SECRET:-changeme}
                OBS_SERVER__LOG_LEVEL: ${OBS_LOG_LEVEL:-INFO}
                TZ: Europe/Berlin
                OBS_HISTORY__BACKEND: influxdb
              healthcheck:
                test: ["CMD", "python", "-c",
                       "import urllib.request; urllib.request.urlopen('http://localhost:8080/api/v1/system/health')"]
                interval: 15s
                timeout: 5s
                retries: 5
                start_period: 10s
          
            influxdb:
              image: influxdb:2.7-alpine
              restart: unless-stopped
              environment:
                DOCKER_INFLUXDB_INIT_MODE: setup
                DOCKER_INFLUXDB_INIT_USERNAME: admin
                DOCKER_INFLUXDB_INIT_PASSWORD: ${INFLUXDB_PASSWORD}
                DOCKER_INFLUXDB_INIT_ORG: obs
                DOCKER_INFLUXDB_INIT_BUCKET: obs
                DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: ${INFLUXDB_TOKEN}
              volumes:
                - /volume1/docker/obs/data/influxdb:/var/lib/influxdb2
              expose:
                - "8086"
          
            grafana:
              image: grafana/grafana:latest
              restart: unless-stopped
              depends_on:
                - influxdb
              environment:
                GF_SECURITY_ADMIN_USER: admin
                GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD}
                GF_SERVER_ROOT_URL: http://localhost:${GRAFANA_PORT:-3001}
                TZ: Europe/Berlin
              volumes:
                - /volume1/docker/obs/data/grafana:/var/lib/grafana
              ports:
                - "${GRAFANA_PORT:-3000}:3000"​

          Viele Grüße,
          Mucki

          Kommentar


            MuckiLegden Irgend etwas fehlt der compose.yaml wohl noch:
            Code:
            Unexpected scalar at node end
            Edit: nach Löschen und neu einfügen der letzten "Gänsefüße" klappt es.
            Zuletzt geändert von mfd; Gestern, 08:58.
            Gruß -mfd-
            KNX-UF-IconSet since 2011

            Kommentar


              Der Mosquitto Teil möchte auf Synology dennoch nicht starten. Offenbar ist die moquitto.conf noch passend zu formatieren...
              Vielleicht kannst du deine mosquitto.conf ja noch hier anhängen.
              Gruß -mfd-
              KNX-UF-IconSet since 2011

              Kommentar


                Hier ist sie.

                mosquitto.zip

                Musste sie zippen, .conf ist nicht möglich….

                Kommentar


                  Bei Grafana klemmt es wohl noch bei den Datei-Berechtigungen. Für die anderen Verzeichnisse scheint es aber zu passen.
                  Code:
                  mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
                  Gruß -mfd-
                  KNX-UF-IconSet since 2011

                  Kommentar

                  Lädt...
                  X