Homebridge docker symlink issue
### Current Situation

Hi,

Thanks for your work and this software, and also releasing a docker image for this.

I'm trying to get it to work with docker, but I'm facing issue with symlink errors:
 - `npm ERR! ENOTSUP: operation not supported on socket, symlink '../homebridge/bin/homebridge' -> '/homebridge/node_modules/.bin/homebridge'`
which seems forcing me to reinstall homebridge in my container each time I recreate it with:
- ` npm install -g --unsafe-perm homebridge`

After this I successfully added homebridge to my HOME.

Also, I'm not able to install any plugin, with same kind of errors: 
- `npm ERR! ENOTSUP: operation not supported on socket, symlink '../homebridge/bin/homebridge' -> '/homebridge/node_modules/.bin/homebridge'`
Even with bundled install try:
- `npm ERR! ENOTSUP: operation not supported on socket, symlink '../homebridge/bin/homebridge' -> '/homebridge/node_modules/.bin/homebridge'`

Maybe I'm doing something wrong, or missed something ?

Thanks a lot for your help and have a nice day :)

### Logs

```markdown
[7/16/2022, 5:34:21 PM] Homebridge v1.5.0 (HAP v0.10.2) (Homebridge 5199) is running on port 51760.
[7/16/2022, 5:34:25 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:34:30 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:34:35 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:35:34 PM] [Homebridge UI] Terminal session ended.
[7/16/2022, 5:35:41 PM] [Homebridge UI] Running Command: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/upgrade-install.sh 4.50.0 /opt/homebridge
[7/16/2022, 5:36:18 PM] [Homebridge UI] Homebridge restart request received
[7/16/2022, 5:36:18 PM] [Homebridge UI] Sending SIGTERM to process...
[7/16/2022, 5:36:18 PM] [HB Supervisor] Stopping services...
[7/16/2022, 5:36:18 PM] Got SIGTERM, shutting down Homebridge...
[7/16/2022, 5:36:23 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[7/16/2022, 5:36:53 PM] [HB Supervisor] OS: Linux 5.18.11-200.fc36.aarch64 arm64
[7/16/2022, 5:36:53 PM] [HB Supervisor] Node.js v16.16.0 /opt/homebridge/bin/node
[7/16/2022, 5:36:53 PM] [HB Supervisor] Homebridge Path: /opt/homebridge/lib/node_modules/homebridge/bin/homebridge
[7/16/2022, 5:36:53 PM] [HB Supervisor] UI Path: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
[7/16/2022, 5:36:57 PM] [Homebridge UI] Homebridge Config UI X v4.50.0 is listening on 172.15.250.10 port 8581
[7/16/2022, 5:36:57 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[7/16/2022, 5:36:57 PM] [HB Supervisor] Started Homebridge v1.5.0 with PID: 432
[7/16/2022, 5:36:58 PM] Loaded config.json with 0 accessories and 1 platforms.
[7/16/2022, 5:36:58 PM] Loaded 0 cached accessories from cachedAccessories.
[7/16/2022, 5:36:58 PM] ---
[7/16/2022, 5:36:58 PM] No plugins found.
[7/16/2022, 5:36:58 PM] Loading 1 platforms...
Setup Payload:
X-HM://XXXXXXXXXXXX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     

    └────────────┘     
                       
[7/16/2022, 5:36:58 PM] Homebridge v1.5.0 (HAP v0.10.2) (Homebridge 5199) is running on port 51760.
[7/16/2022, 5:37:03 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:37:04 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:37:04 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:37:40 PM] [Homebridge UI] Terminal session ended.
[7/16/2022, 5:37:50 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:37:55 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:37:56 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:38:03 PM] [Homebridge UI] Terminal session ended.
[7/16/2022, 5:39:12 PM] [Homebridge UI] Running Command: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/plugin-upgrade-install.sh homebridge-dummy 0.6.0 /var/lib/homebridge/node_modules
[7/16/2022, 5:39:13 PM] [Homebridge UI] Running Command: npm install --save homebridge-dummy@0.6.0
[7/16/2022, 5:39:46 PM] [Homebridge UI] Operation failed. Please review log for details.
[7/16/2022, 5:40:23 PM] [Homebridge UI] Running Command: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/plugin-upgrade-install.sh homebridge-irobot 2.1.16 /var/lib/homebridge/node_modules
[7/16/2022, 5:40:39 PM] [Homebridge UI] Running Command: npm install --save homebridge-irobot@2.1.16
[7/16/2022, 5:41:46 PM] [Homebridge UI] Operation failed. Please review log for details.
[7/16/2022, 5:46:36 PM] [HB Supervisor] Stopping services...
[7/16/2022, 5:46:36 PM] Got SIGTERM, shutting down Homebridge...
[7/16/2022, 5:46:41 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[7/16/2022, 5:49:01 PM] [HB Supervisor] OS: Linux 5.18.11-200.fc36.aarch64 arm64
[7/16/2022, 5:49:01 PM] [HB Supervisor] Node.js v16.16.0 /opt/homebridge/bin/node
[7/16/2022, 5:49:01 PM] [HB Supervisor] Homebridge Path: null
[7/16/2022, 5:49:01 PM] [HB Supervisor] UI Path: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
[7/16/2022, 5:49:05 PM] [Homebridge UI] Homebridge Config UI X v4.49.0 is listening on 172.15.250.10 port 8581
[7/16/2022, 5:49:05 PM] [HB Supervisor] Could not find Homebridge. Make sure you have installed homebridge using the -g flag then restart.
[7/16/2022, 5:49:05 PM] [HB Supervisor] npm install -g --unsafe-perm homebridge
[7/16/2022, 5:49:19 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:49:20 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:49:47 PM] [Homebridge UI] Homebridge restart request received
[7/16/2022, 5:49:47 PM] [Homebridge UI] Terminal session ended.
[7/16/2022, 5:49:47 PM] [Homebridge UI] Sending SIGTERM to process...
[7/16/2022, 5:49:47 PM] [HB Supervisor] Stopping services...
[7/16/2022, 5:50:18 PM] [HB Supervisor] OS: Linux 5.18.11-200.fc36.aarch64 arm64
[7/16/2022, 5:50:18 PM] [HB Supervisor] Node.js v16.16.0 /opt/homebridge/bin/node
[7/16/2022, 5:50:18 PM] [HB Supervisor] Homebridge Path: /opt/homebridge/lib/node_modules/homebridge/bin/homebridge
[7/16/2022, 5:50:18 PM] [HB Supervisor] UI Path: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
[7/16/2022, 5:50:21 PM] [Homebridge UI] Homebridge Config UI X v4.49.0 is listening on 172.15.250.10 port 8581
[7/16/2022, 5:50:21 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution
[7/16/2022, 5:50:21 PM] [HB Supervisor] Started Homebridge v1.5.0 with PID: 350
[7/16/2022, 5:50:22 PM] Loaded config.json with 0 accessories and 1 platforms.
[7/16/2022, 5:50:22 PM] Loaded 0 cached accessories from cachedAccessories.
[7/16/2022, 5:50:22 PM] ---
[7/16/2022, 5:50:22 PM] No plugins found.
[7/16/2022, 5:50:22 PM] Loading 1 platforms...
Setup Payload:
X-HM://XXXXXXXXXXXX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     

    └────────────┘     
                       
[7/16/2022, 5:50:22 PM] Homebridge v1.5.0 (HAP v0.10.2) (Homebridge 5199) is running on port 51760.
[7/16/2022, 5:50:26 PM] [Homebridge UI] Unable To Find Homebridge Installation - see https://homebridge.io/w/JJSgZ for help.
[7/16/2022, 5:50:39 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:51:39 PM] [Homebridge UI] Terminal session ended.
[7/16/2022, 5:51:47 PM] [Homebridge UI] Running Command: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/plugin-upgrade-install.sh homebridge-irobot 2.1.16 /var/lib/homebridge/node_modules
[7/16/2022, 5:52:03 PM] [Homebridge UI] Running Command: npm install --save homebridge-irobot@2.1.16
[7/16/2022, 5:52:56 PM] [Homebridge UI] Starting terminal session
[7/16/2022, 5:53:11 PM] [Homebridge UI] Operation failed. Please review log for details.






<...>
./homebridge-irobot/docs/classes/platform.iRobotPlatform.html
./homebridge-irobot/docs/classes/dorita980.Local.html
./homebridge-irobot/docs/classes/platformAccessory.iRobotPlatformAccessory.html
./homebridge-irobot/package.json
./homebridge-irobot/README.md
tar: ./homebridge-irobot/node_modules/.bin/get-roomba-password: Cannot create symlink to '../dorita980/bin/getpassword.js': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/sshpk-sign: Cannot create symlink to '../sshpk/bin/sshpk-sign': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/mqtt_pub: Cannot create symlink to '../mqtt/bin/pub.js': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/mqtt_sub: Cannot create symlink to '../mqtt/bin/sub.js': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/sshpk-verify: Cannot create symlink to '../sshpk/bin/sshpk-verify': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/sshpk-conv: Cannot create symlink to '../sshpk/bin/sshpk-conv': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/uuid: Cannot create symlink to '../uuid/bin/uuid': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/mqtt: Cannot create symlink to '../mqtt/mqtt.js': Operation not supported
tar: ./homebridge-irobot/node_modules/.bin/get-roomba-password-cloud: Cannot create symlink to '../dorita980/bin/getPasswordCloud.js': Operation not supported
tar: Exiting with failure status due to previous errors
Failed to extract.

Bundled install / update could not complete. Trying regular install / update using npm.

USER: root
DIR: /var/lib/homebridge
CMD: npm install --save homebridge-irobot@2.1.16

npm ERR! code ENOTSUP
npm ERR! syscall symlink
npm ERR! path ../homebridge/bin/homebridge
npm ERR! dest /homebridge/node_modules/.bin/homebridge
npm ERR! errno -95
npm ERR! ENOTSUP: operation not supported on socket, symlink '../homebridge/bin/homebridge' -> '/homebridge/node_modules/.bin/homebridge'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/homebridge/.npm/_logs/2022-07-16T15_52_03_895Z-debug-0.log

Operation failed. Please review log for details.
```


### Configuration

```json
{
    "bridge": {
        "name": "Homebridge 1111",
        "username": "XX:XX:XX:XX:XX:XX",
        "port": 51760,
        "pin": "111-11-111",
        "advertiser": "bonjour-hap",
		"bind": ["eth0"]
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "host": "172.15.250.10",
            "auth": "form",
            "theme": "auto",
            "tempUnits": "c",
            "lang": "auto",
            "proxyHost": "homebridge.home.lan",
            "platform": "config"
        }
    ]
}
```


### Environment

- OS: fedora 36
- moby-engine
- homebridge:latest
- disabled selinux for testing
- HW: ARM64 / 2CPU / 8GB RAM

### Process Supervisor

Docker (Mention image name in `Additional Context`)

### Additional Context

Docker compose file (cleaned with only relevant parts):

``` yaml
version: '3.6'

############################################
############################################
###   SERVICES
############################################
############################################
services:
  traefik:
    # The official v2.0 Traefik docker image
    image: traefik:latest
    # Set container Name
    container_name: traefik
    # Tell to always restart
    restart: always
    # Configure networks for traffic to endpoint to RP
    networks:
      - web_priv_services
      - web_devops_tools
      - web_priv_home
    command:
      - '--api.dashboard=true' 
      #- '--api.insecure=true' don't needed, it exposes api on 8080, but we are using api@internal not 8080.
      - '--providers.docker'
      - '--providers.docker.endpoint=unix:///var/run/docker.sock'
      - '--providers.docker.watch=true'
      - '--providers.docker.exposedByDefault=false' # Warning: you needs to explicitely set "traefik.enable" flag label to true
      - '--providers.docker.swarmmode=false'
      - '--entrypoints.http=true'
      - '--entryPoints.http.address=:80'
      - '--entrypoints.https=true'
      - '--entryPoints.https.address=:443'
      - '--providers.file.directory=/traefik-dynamic-configs/'
      - '--providers.file.watch=true'
      # http to https
      - '--entrypoints.http.http.redirections.entrypoint.to=https'
      - '--entrypoints.http.http.redirections.entrypoint.scheme=https'
    # Expose following ports to HOST IP (clients to RP)
    ports:
      # The HTTP port
      - "80:80"
      # HTTPS port
      - "443:443"
    volumes:
      # Traefik certificate storage
      - "traefik_certs:/certs/:Z"
      # Traefik config files, don't use the traefik conf file, but use 'command' arguments ==> only uses dynamic conf files provider for tls settings for example
      - "traefik_config:/traefik-dynamic-configs/:ro"
      # So that Traefik can listen to the Docker events
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    labels:
      # global middlewares
      - 'traefik.http.middlewares.HSTS.headers.customresponseheaders.Strict-Transport-Security="max-age=6307200; includeSubDomains; preload"'
      - "traefik.http.middlewares.fvt-auth.basicauth.users=xxx:xxxxxxxxxxxxxxx"
      # traefik config
      - "traefik.enable=true"
      - "traefik.http.routers.api.entrypoints=https"
      - "traefik.http.routers.api.rule=Host(`traefik.home.lan`)"
      - "traefik.http.routers.api.tls=true"
      - 'traefik.http.routers.api.tls.options=modern@file'
      - "traefik.http.routers.api.middlewares=fvt-auth,HSTS"
      - "traefik.http.routers.api.service=api@internal" # Assign api@internal who is pregenerated by traefik for itself to the api router, so nothing to configure for this, rewrites for api, etc. already defined.


  ############################################
  #   SOME DEVOPS TOOLS
  ############################################
<...>
   ############################################
  #   PIHOLE, UNBOUND, DHCP IPHELPER
  ############################################
<...>

  ############################################
  #   HOMEBRIDGE
  ############################################
  homebridge:
    #image: oznu/homebridge:no-avahi
    image: oznu/homebridge:latest
    container_name: homebridge
    restart: always
    # privileged: true # tried it but not helped
    networks:
      macvlan:
        ipv4_address: 192.168.10.5
      web_priv_home:
        ipv4_address: 172.15.250.10
    environment:
      - HOMEBRIDGE_CONFIG_UI_PORT=8581
    volumes:
      - homebridge_storage:/homebridge:Z
    logging:
      driver: json-file
      options:
        max-size: "10mb"
        max-file: "10"
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=web_priv_2" # As our container have multiple networks, we need to tells traefik which one to use, because if not, it's random. Be careful, it needs the NAME of the network (could be specifier, auto derivated, etc.: "docker network ls")
     #http router
      - "traefik.http.routers.homebridge.entrypoints=https"
      - "traefik.http.routers.homebridge.rule=Host(`homebridge.home.lan`)"
      - "traefik.http.routers.homebridge.tls=true"
      - 'traefik.http.routers.homebridge.tls.options=modern@file'
      - "traefik.http.routers.homebridge.middlewares=HSTS"
      - "traefik.http.services.homebridge.loadbalancer.server.port=8581"

  ############################################
  #   CONTAINER WITH DOCKER TO RUN COMMANDS ON STARTED CONTAINERS
  ############################################
  afterstartcommands:
    image: docker:latest
    privileged: false
    restart: on-failure
    depends_on:
      - pihole
    network_mode: none
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:z"
    command: >
              sh -c "sleep 10 &&
              echo "" | docker exec -i pihole /usr/local/bin/pihole -a -p &&
              exit 0"

############################################
############################################
###   VOLUMES
############################################
############################################
volumes:
    traefik_certs:
        driver: local
        driver_opts: 
            type: cifs
            device: //192.168.10.1/freebox/Containers_Data/traefik/storage/certs/
            o: addr=192.168.10.1,username=freebox,password=,rw,file_mode=0777,dir_mode=0777
    traefik_config:
        driver: local
        driver_opts: 
            type: cifs
            device: //192.168.10.1/freebox/Containers_Data/traefik/traefik-dynamic-configs/
            o: addr=192.168.10.1,username=freebox,password=,rw,file_mode=0777,dir_mode=0777
    homebridge_storage:
        driver: local
        driver_opts: 
            type: cifs
            device: //192.168.10.1/freebox/Containers_Data/homebridge/storage
            o: addr=192.168.10.1,username=freebox,password=,rw,file_mode=0777,dir_mode=0777

############################################
############################################
###   NETWORKS
############################################
############################################
networks:
  web_devops_tools:
    name: "web_1"
    driver: bridge
  web_priv_services:
    name: "web_priv_1"
    driver: bridge
  web_priv_home:
    name: "web_priv_2"
    driver: bridge
    ipam:
      config:
        - subnet: "172.15.250.0/28"
  priv_services_links-pihole_unbound:
    name: "backend_communication_1"
    driver: bridge
    ipam:
      config:
        - subnet: "172.16.250.0/28"
  macvlan:
    name: "macvlan"
    driver: macvlan    
    driver_opts:
      parent: eth0
    ipam:
      config:
        - subnet: "192.168.10.0/24"
```
