Skip to content

Docker-One-Click-Deployment ​

Stellen Sie die Open-Source-Version von FastBee mit Docker Compose per One-Click-Deployment bereit – die Umgebung ist in nur 10 Minuten eingerichtet. Im Vergleich zur Systembereitstellung (Chinesisch) erfordert die Docker-Variante keine manuelle Installation der einzelnen Komponenten und eignet sich für die meisten Anwender; wenn Sie jede Komponente einzeln und detailliert steuern möchten, wählen Sie die Systembereitstellung.

Seitenübersicht ​

Inhalt dieser SeiteDer vollständige Ablauf der Docker-Bereitstellung der Open-Source-Version von FastBee: Umgebungsanforderungen, One-Click-Installationsskript, manuelle Bereitstellung mit docker-compose, Datenbankimport und Bereitstellungsprüfung.
AnwendungsfälleFür Anwender, die die Plattform zum ersten Mal bereitstellen oder schnell eine Testumgebung aufbauen möchten – mit einem einzigen Befehl werden MySQL, Redis, Backend, Nginx und der Streaming-Dienst installiert.
VoraussetzungenAuf dem Server sind Docker 20.10+ und Docker Compose 2.0+ installiert, mindestens 2 Kerne und 4 GB RAM verfügbar, und die erforderlichen Ports sind nicht belegt.
AbnahmekriterienAlle Container haben den Status „Up", die Anmeldeseite lässt sich im Browser öffnen und die Anmeldung mit admin / admin123 ist möglich, der MQTT-Port 1883 ist erreichbar.

Voraussetzungen ​

  • Linux / macOS / Windows (Linux-Server empfohlen)
  • Docker 20.10+
  • Docker Compose 2.0+
  • Mindestens 2 Kerne und 4 GB RAM
  • Mindestens 10 GB freier Festplattenspeicher (für Images und Datenvolumes)
  • Die Ports 80, 443, 8080, 1883, 8083, 5061 (UDP), 8082 usw. dürfen nicht belegt sein; eine vollständige Port-Übersicht finden Sie unter Installation und Bereitstellung (Chinesisch)

Vor der Bereitstellung können Sie die Docker-Umgebung prüfen:

bash
docker --version
docker-compose --version

One-Click-Installation ​

bash
sudo wget -c https://hub.fastbee.cn/resource/install.sh && bash ./install.sh

Wählen Sie entsprechend den Hinweisen die Open-Source-Version; das Skript lädt und startet automatisch alle Dienste. Führen Sie nach der Installation docker-compose ps aus, um den Status der Container zu prüfen, und notieren Sie die vom Skript ausgegebenen Zugangsadressen.

Manuelle Bereitstellung ​

Wenn das One-Click-Skript nicht verfügbar ist oder Sie eine eigene Orchestrierung benötigen, können Sie die Bereitstellung wie in diesem Abschnitt manuell durchführen.

1. Verzeichnisse vorbereiten ​

bash
mkdir -p /var/data/{mysql,redis,java,nginx,zlmedia}

Bei der manuellen Bereitstellung müssen Sie die folgenden Mount-Dateien selbst bereitstellen. Sie erhalten sie aus dem Quellcode-Repository und bauen sie gemäß der Systembereitstellung (Chinesisch):

PfadInhalt
/var/data/java/fastbee-admin.jarJAR-Paket des Backend-Dienstes
/var/data/nginx/vueFrontend-Build-Artefakte (vue/dist)
/var/data/nginx/nginx.confNginx-Konfiguration
/var/data/mysql/mysql.cnfMySQL-Konfiguration
/var/data/zlmedia/conf/config.iniZLMediaKit-Konfiguration

2. docker-compose.yml ​

yaml
version: '2'
networks:
  network:
    ipam:
      driver: default
      config:
        - subnet: '177.7.0.0/16'

services:
  mysql:
    image: mysql:5.7
    container_name: mysql
    ports:
      - 3306:3306
    networks:
      network:
        ipv4_address: 177.7.0.11
    volumes:
      - /var/data/mysql/mysql:/var/lib/mysql
      - /var/data/mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
      - /var/data/mysql/initdb:/docker-entrypoint-initdb.d
    environment:
      MYSQL_DATABASE: fastbee
      MYSQL_ROOT_PASSWORD: iot@admin123
    command:
      ['mysqld','--character-set-server=utf8','--collation-server=utf8_unicode_ci',
       '--default-time-zone=+8:00','--lower-case-table-names=1']

  redis:
    image: redis:7.0.0
    container_name: redis
    ports:
      - 6379:6379
    networks:
      network:
        ipv4_address: 177.7.0.10
    volumes:
      - /var/data/redis:/usr/local/etc/redis
      - /var/data/redis/data:/data
    command: ['-- requirepass iot@admin123','-- appendonly yes']

  java:
    image: openjdk:8-jre
    container_name: java
    ports:
      - 8080:8080
      - 1883:1883
      - 8083:8083
      - 5061:5061/udp
    depends_on:
      - redis
      - mysql
      - zlmedia
    volumes:
      - /var/data/java/fastbee-admin.jar:/server.jar
      - /var/data/java/uploadPath:/uploadPath
      - /var/data/java/logs:/logs
    entrypoint: java -jar /server.jar

  nginx:
    image: nginx:stable
    container_name: nginx
    ports:
      - 80:80
      - 443:443
    depends_on:
      - java
    volumes:
      - /var/data/nginx/vue:/usr/share/nginx/html
      - /var/data/nginx/nginx.conf:/etc/nginx/nginx.conf

  zlmedia:
    image: zlmediakit/zlmediakit:master
    container_name: zlmedia
    ports:
      - 8082:80
      - 554:554
      - 1935:1935
    volumes:
      - /var/data/zlmedia/conf/config.ini:/opt/media/conf/config.ini

3. Dienste starten ​

bash
docker-compose up -d
docker-compose ps   # Container-Status prüfen

4. Datenbank importieren ​

Importieren Sie springboot/sql/fastbee.sql in MySQL.

bash
docker exec -i mysql mysql -uroot -piot@admin123 fastbee < fastbee.sql

Auf das System zugreifen ​

Rufen Sie nach Abschluss der Bereitstellung im Browser Folgendes auf:

http://<Ihre-Server-IP>:80
  • Benutzername: admin
  • Passwort: admin123

Sicherheitshinweis

Ändern Sie das Standardpasswort unmittelbar nach der ersten Anmeldung; die Standardpasswörter für Datenbank und Redis dienen nur dem lokalen Test und müssen in Produktivumgebungen unbedingt geändert werden.

Bereitstellung prüfen ​

  1. In der Ausgabe von docker-compose ps haben mysql, redis, java, nginx und zlmedia den Status „Up".
  2. Rufen Sie im Browser http://<Ihre-Server-IP> auf und melden Sie sich mit admin / admin123 erfolgreich an der Konsole an.
  3. Verbinden Sie sich mit einem MQTT-Client wie MQTTX über Port 1883, um die Geräteanbindungsstrecke zu prüfen; Verbindungsparameter und Testschritte siehe MQTT-Anbindung.

Häufige Fragen ​

F: Was tun, wenn ein Port belegt ist? Ändern Sie die Port-Zuordnung in docker-compose.yml, zum Beispiel - 8080:8080 in - 9090:8080.

F: Wie sehe ich die Logs ein?

bash
docker logs -f java   # Logs des Backend-Dienstes
docker logs -f mysql  # Logs der Datenbank

F: Was tun, wenn ein Container ständig neu startet? Prüfen Sie zuerst mit docker logs <Container-Name> die Ursache des Abbruchs. Häufige Ursachen sind Port-Konflikte, unzureichender Arbeitsspeicher oder fehlende gemountete Konfigurationsdateien; prüfen Sie bei der manuellen Bereitstellung insbesondere, ob alle Dateien aus Abschnitt 1 vorhanden sind.

F: Die Seite ist nicht erreichbar oder meldet 502? Vergewissern Sie sich, dass die Container nginx und java laufen. Das Backend benötigt beim ersten Start Zeit für die Initialisierung; prüfen Sie mit docker logs -f java, ob der Start abgeschlossen ist, bevor Sie die Seite aufrufen.

F: Das Backend meldet einen Fehler bei der Datenbankverbindung? Prüfen Sie, ob der mysql-Container ordnungsgemäß läuft und das root-Passwort mit der Backend-Konfiguration übereinstimmt; bei der manuellen Bereitstellung müssen Sie außerdem sicherstellen, dass Schritt 4 (Import von fastbee.sql) ausgeführt wurde.

F: Wie führe ich ein Upgrade durch? Ersetzen Sie /var/data/java/fastbee-admin.jar und starten Sie den Container neu:

bash
docker restart java