name: unifi-network-application
services:
  unifi-network-application:
    container_name: unifi-network-application
    depends_on:
      unifi-db:
        condition: service_started
        required: true
    environment:
      - MONGO_DBNAME=unifi-db
      - MONGO_HOST=unifi-db
      - MONGO_PASS=pass
      - MONGO_PORT=27017
      - MONGO_USER=unifi
      - PGID=$PGID
      - PUID=$PUID
      - TZ=$TZ
    image: lscr.io/linuxserver/unifi-network-application:latest
    ports:
      - target: 8443
        published: "8443"
        protocol: tcp
      - target: 3478
        published: "3478"
        protocol: udp
      - target: 10001
        published: "10001"
        protocol: udp
      - target: 8080
        published: "8080"
        protocol: tcp
    restart: unless-stopped
    volumes:
      - type: bind
        source: /DATA/AppData/unifi-network-application
        target: /config
    networks:
      - unifi-bridge
    privileged: false
    x-casaos:
      envs:
        - container: PUID
          description:
            en_us: ""
        - container: PGID
          description:
            en_us: ""
        - container: TZ
          description:
            en_us: timezone
            zh_cn: 时区
      ports:
        - container: "8443"
          description:
            en_us: WebUI HTTP Port
            zh_cn: WebUI HTTP 端口
  unifi-db:
    container_name: unifi-db
    image: docker.io/mongo:8.0.4
    configs:
      - source: init-mongo.js
        target: /docker-entrypoint-initdb.d/init-mongo.js
    environment:
      - PGID=$PGID
      - PUID=$PUID
      - TZ=$TZ
    ports:
      - target: 27017
        published: "27017"
        protocol: tcp
    restart: unless-stopped
    volumes:
      - type: bind
        source: /DATA/AppData/unifi-db
        target: /data/db
    networks:
      - unifi-bridge
    privileged: false
networks:
  unifi-bridge:
    driver: bridge
configs:
  init-mongo.js:
    content: |
      db.getSiblingDB("unifi-db").createUser({user: "unifi", pwd: "pass", roles: [{role: "dbOwner", db: "unifi-db"}]}); 
      db.getSiblingDB("unifi-db_stat").createUser({user: "unifi", pwd: "pass", roles: [{role: "dbOwner", db: "unifi-db_stat"}]});
x-casaos:
  architectures:
    - amd64
    - arm64
  main: unifi-network-application
  author: Giuseppe Galilei
  developer: Ubiquiti and Linuxserver.io
  category: Network
  icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Unifi-Network-Application/icon.png
  description:
    en_us: |
      Only mandatory ports are enabled by default, to extend functionality consider exposing 1900:1900/udp, 8843:8843, 8880:8880, 6789:6789, 5514:5514/udp.
      Other ports specifications [here](https://docs.linuxserver.io/images/docker-unifi-network-application/#ports-p).

      Because the network application runs inside Docker by default it uses an IP address not accessible by other devices.
      So, for it to adopt other devices, it is required to use port `8080` and change the inform IP address. To do so, go in settings and search for the `Inform Host` option, there select override and set the address to that of the host.
      Often, it is also needed to ssh into the devices you want to adopt and manually set the inform IP address, the command needed for doing so is `set-inform http://HOST-ADDRESS:8080/inform`.

      For more [information](https://docs.linuxserver.io/images/docker-unifi-network-application/)
    zh_cn: |
      默认情况下仅启用强制端口，要扩展功能，请考虑公开 1900:1900/udp、8843:8843、8880:8880、6789:6789、5514:5514/udp。
      其他端口规范[此处](https://docs.linuxserver.io/images/docker-unifi-network-application/#ports-p)。

      由于网络应用程序默认在 Docker 内部运行，因此它使用其他设备无法访问的 IP 地址。
      因此，要采用其他设备，需要使用端口“8080”并更改通知IP地址。 为此，请进入设置并搜索“通知主机”选项，选择覆盖并将地址设置为主机的地址。
      通常，还需要 ssh 到您想要采用的设备并手动设置通知 IP 地址，所需的命令是“set-inform http://HOST-ADDRESS:8080/inform”。

      了解更多[信息](https://docs.linuxserver.io/images/docker-unifi-network-application/)
  screenshot_link:
    - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Unifi-Network-Application/screenshot-1.png
    - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Unifi-Network-Application/screenshot-2.png
  tagline:
    en_us: The Unifi network application software is a powerful, enterprise wireless software engine ideal for high-density client deployments requiring low latency and high uptime performance.
    zh_cn: Unifi控制器软件是一种功能强大的企业级无线软件引擎，适用于需要低延迟和高可用性性能的高密度客户端部署。
  tips:
    before_install:
      en_us: |
        Only mandatory ports are enabled by default, to extend functionality consider exposing 1900:1900/udp, 8843:8843, 8880:8880, 6789:6789, 5514:5514/udp.
        Other ports specifications [here](https://docs.linuxserver.io/images/docker-unifi-network-application/#ports-p).

        Because the network application runs inside Docker by default it uses an IP address not accessible by other devices.
        So, for it to adopt other devices, it is required to use port `8080` and change the inform IP address. To do so, go in settings and search for the `Inform Host` option, there select override and set the address to that of the host.
        Often, it is also needed to ssh into the devices you want to adopt and manually set the inform IP address, the command needed for doing so is `set-inform http://HOST-ADDRESS:8080/inform`.

        For more [information](https://docs.linuxserver.io/images/docker-unifi-network-application/)
      zh_cn: |
        默认情况下仅启用强制端口，要扩展功能，请考虑公开 1900:1900/udp、8843:8843、8880:8880、6789:6789、5514:5514/udp。
        其他端口规范[此处](https://docs.linuxserver.io/images/docker-unifi-network-application/#ports-p)。

        由于网络应用程序默认在 Docker 内部运行，因此它使用其他设备无法访问的 IP 地址。
        因此，要采用其他设备，需要使用端口“8080”并更改通知IP地址。 为此，请进入设置并搜索“通知主机”选项，选择覆盖并将地址设置为主机的地址。
        通常，还需要 ssh 到您想要采用的设备并手动设置通知 IP 地址，所需的命令是“set-inform http://HOST-ADDRESS:8080/inform”。

        了解更多[信息](https://docs.linuxserver.io/images/docker-unifi-network-application/)
  thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Unifi-network-application/thumbnail.png
  index: /
  port_map: "8443"
  scheme: https
  store_app_id: unifi-network-application
  title:
    en_us: Unifi Network Application
