Aplikasi Unifi Network Docker?

Saya memahami dasar-dasar Container Station dan telah menerapkan beberapa container. Namun, Unifi Network Application (saat ini di versi 10.0.162) memerlukan MongoDB serta inisialisasi database agar Unifi Network Application dapat digunakan beserta username dan password-nya. Setup saya saat ini adalah Raspberry PI4B dan saya sudah memiliki backup penuh.

Setup saya adalah TVS-H1688 dan saya menggunakan empat antarmuka 2.5GB/s sebagai grup LACP lag yang ditrunk dengan dua VLAN, VLAN 250 yang ingin saya gunakan untuk ini ke Virtual Switch 1. VLAN lainnya (Virtual Switch 5) adalah VLAN IoT saya karena saya berencana untuk memindahkan Home Assistant dari Raspberry PI4B ke sana di masa mendatang.

Saya cukup kesulitan mencari tahu di mana menempatkan file YAML untuk membangun container dan apa yang sebaiknya saya gunakan terkait penempatan storage serta di mana mengatur Virtual Switch 1, lalu IP statis, subnet mask, default gateway, dan server DNS.

Saya yakin pasti ada yang pernah mencoba ini. Terima kasih sebelumnya.

Saya punya solusi yang lebih mudah untuk Anda. Jika Anda menambahkan MyQNAP.org ke repository App Center, ada aplikasi Unifi native yang dapat berjalan langsung di QNAP. Tidak perlu menjalankannya di dalam Container.

Masuk ke pengaturan di App Center dan tambahkan tautan repository MyQNAP.org:

Kemudian di bawah “System Administration” Anda akan menemukan aplikasi UniFi Controller.

Aplikasi ini bekerja dengan sangat baik.

Hai @kahilzinger

Saya menemukan Docker image untuk UniFi di DockerHub.

Saya tidak tahu apakah ini sesuai dengan kebutuhan Anda, tetapi saya mencoba menggunakan file YAML ini dan berhasil di sisi saya.

Anda bisa melihatnya. & Ganti variabel yang ada tanda $ dengan pengaturan NAS Anda.

version: "3.8"

services:
  unifi:
    image: jacobalberty/unifi:latest
    container_name: unifi-controller
    restart: unless-stopped

    networks:
      qnet-network:
        ipv4_address: ${QNET_STATIC_IP}

    environment:
      TZ: ${TZ}

    volumes:
      - ${SHARE_FOLDER}/unifi:/unifi

networks:
  qnet-network:
    driver_opts:
      iface: ${QNET_INTERFACE}
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: ${QNET_INTERFACE}
      config:
        - subnet: ${QNET_SUBNET}
          gateway: ${QNET_GATEWAY}

Anda bisa menemukan ${QNET_INTERFACE} dari ssh dan perintah ifconfig.

Namun, harap diperhatikan bahwa container / docker image ini adalah aplikasi pihak ketiga, bukan produk QNAP kami, jadi Anda perlu memperhatikan backup data dan stabilitas.

====

version: "3.8"

services:
  unifi:
    image: jacobalberty/unifi:latest
    container_name: unifi-controller
    restart: unless-stopped

    networks:
      qnet-network:
        ipv4_address: 10.20.80.54

    environment:
      TZ: ${TZ}

    volumes:
      - /share/Container/unifi:/unifi

networks:
  qnet-network:
    driver_opts:
      iface: bond0
    driver: qnet
    ipam:
      driver: qnet
      options:
        iface: bond0
      config:
        - subnet: 10.20.80.0/23
          gateway: 10.20.80.254

Saya sudah mencoba ini, namun tcp/8080 sedang digunakan oleh konsol (baru-baru ini diganti ke port lain) dan saya tidak tahu port apa yang digunakan untuk halaman web /inform serta bagaimana cara mengubahnya ke 8080 sekarang karena saya sudah tidak menggunakan port tersebut.

Apakah ada cara untuk memindahkan aplikasi ini ke adapter tim/switch virtual saya yang lain?

Saya ingin menggunakan metode ini jika memungkinkan. Sepertinya virtual switch yang ingin saya gunakan adalah “qvs0”, namun saya melihat ada dua hal yang ingin saya lakukan:

1.) Bagaimana cara menentukan lokasi volume?
2.) Anda harus menginstal MongoDB dan menginisialisasinya.

Jika saya bisa menemukan seseorang untuk membantu saya melakukan ini, saya akan dengan senang hati membayar mereka karena saya ingin belajar dan saya benar-benar pemula dalam hal Docker, tetapi saya bisa melihat bahwa saya akan sering menggunakan ini, terutama dalam dunia Otomasi Rumah saya.

Berikut adalah skrip yang saya temukan dan sedang saya coba pahami:


version: “2.1”
services:
unifi-network-application:
image: lscr.io/linuxserver/unifi-network-application:latest
container_name: unifi-network-application
environment:

  • PUID=1000
  • PGID=1000
  • TZ=America/Chicago
  • MONGO_USER=unifi
  • MONGO_PASS=[[password]]
  • MONGO_HOST=unifi-db
  • MONGO_PORT=27017
  • MONGO_DBNAME=unifi
  • MEM_LIMIT=1024 #opsional
  • MEM_STARTUP=1024 #opsional

- MONGO_TLS= #opsional

- MONGO_AUTHSOURCE= #opsional

volumes:
  - /home/ubuntu/docker/unifi-controller:/config  <--Perlu mencari tahu di mana.
ports:
  - 8443:8443
  - 3478:3478/udp
  - 10001:10001/udp
  - 8080:8080
  - 1900:1900/udp #opsional
  - 8843:8843 #opsional
  - 8880:8880 #opsional
  - 6789:6789 #opsional
  - 5514:5514/udp #opsional
labels:
  - "traefik.enable=true"
  - "traefik.http.routers.unifi.entrypoints=http"
  - "traefik.http.routers.unifi.rule=Host(`unifi.jimsgarage.co.uk`)"
  - "traefik.http.middlewares.unifi-https-redirect.redirectscheme.scheme=https"
  - "traefik.http.routers.unifi.middlewares=unifi-https-redirect"
  - "traefik.http.routers.unifi-secure.entrypoints=https"
  - "traefik.http.routers.unifi-secure.rule=Host(`unifi.jimsgarage.co.uk`)"
  - "traefik.http.routers.unifi-secure.tls=true"
  - "traefik.http.routers.unifi-secure.service=unifi"
  - "traefik.http.services.unifi.loadbalancer.server.port=8443"
  - "traefik.http.services.unifi.loadbalancer.server.scheme=https"
  - "traefik.docker.network=proxy"
networks:  <--Di mana saya harus menetapkan virtual switch dan informasi IP statis di sini?
  proxy:
  unifi:
restart: unless-stopped

unifi-db:
image: docker.io/mongo:4.4
container_name: unifi-db
volumes:

  • /home/ubuntu/docker/unifi-controller-db:/data/db <–Perlu mencari tahu di mana.
  • /home/ubuntu/docker-compose/unifi-controller/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro <–Perlu mencari tahu di mana.
    networks: <–Apakah saya perlu IP statis di sini dan virtual switch?
    unifi:
    restart: unless-stopped

networks:
proxy:
external: true
unifi:

! Di bawah ini adalah skrip java untuk menginisialisasi Database MongoDB
!
! init-mongo.js
! db.getSiblingDB(“unifi”).createUser({user: “unifi”, pwd: “[[password]]”, roles: [{role: “dbOwner”, db: “unifi”}]});
! db.getSiblingDB(“unifi_stat”).createUser({user: “unifi”, pwd: “[[password]]”, roles: [{role: “dbOwner”, db: “unifi_stat”}]});

Anda benar-benar perlu menggunakan blok teks yang sudah diformat.

Anda perlu menggunakan tab aplikasi untuk mengekspor compose.yaml Anda.

volumes: adalah hostPath:containerMountPoint

Saya menggunakan file browser untuk membuat share docker/, jadi untuk saya semuanya adalah:

[admin@TheVault arcane]# ls /share/docker/*
/share/docker/appdata:
NUTCase         jellyfin        portical-upnpc
arcane          kuma            qbittorrent
homepage        nutify          syncyomi

/share/docker/compose:
basic-app

/share/docker/scripts:
#secrets#

/share/docker/secrets:
#other secrets#

/share/docker/stacks:
NUTCase        homepage       pihole-qnet    qbittorrent    uptime-kuma
arcane         jellyfin       pocket-id      syncyomi       watchtower
dozzle         nutify         portainer-ce   tasmocompiler
[admin@TheVault arcane]#

Bersiaplah untuk menghadapi keterbatasan CS yang bisa membuat hidup Anda sedikit merepotkan.

Namun CS akan menjalankan Arcane/Dockge/Portainer dengan baik, dan setelah itu Anda bisa lanjut dari sana.
Kemungkinan besar ini akan membuat hidup Anda lebih mudah dalam jangka panjang.

Apakah Anda perlu menjalankan aplikasi UniFi di dalam container Docker? Seperti yang saya katakan di atas, sudah ada aplikasi “native” untuk konsol UniFi di repo MyQNAP.org. Itu jauh lebih mudah daripada menyiapkan container lalu menginstal aplikasinya…

Karena 8080 tidak merespons sejak saya menggunakan 8080 untuk konsol dan saya lebih memilih jika memungkinkan itu dijalankan sebagai container.

Saya akan mencoba memahami ini dengan lebih baik. Saya termasuk orang yang jika sudah melihat dan tahu cara kerjanya, saya bisa belajar. Hanya saja tidak ada video yang menggunakan Qnap Container Station.

Maaf soal formatnya… Saya baru sadar setelah menekan balas.

Jika ada yang bersedia mengadakan sesi remote untuk membantu saya, saya bersedia membayar.

Bagaimana Cara Mendeploy UniFi Network Application melalui Docker di QNAP NAS? | QNAP