Defining Shared Folder Access Volume

I Have Built 2 Modules.

Calibre with Server
Calibr Web.

Calibre Web Assumes a user already has an Active Calibre library for pulling Data from.

Calibre has the capacity to Upload multiple Files and create the Calibre library database that calibre web requires.

IF the 2 Volumes are Mounted in the same Directory Volume, then calibre Web would be able to automatically Load the Given Files.

I understand that the first instinct would be just build an APP that combines the 2, But, what if a User Only want One.

And as stated before, We cant bundles everything into a single App in NS8, the reason why all apps using Ldap, connect to the single Ldap Instance, I think we need somethign similar for Apps as well.

If i already Have my Library, i dont need the full heavyweight Calibre. Mind you the Calibre Image utilized KASM to stream a full desktop UI via browser, Similar to what Guacamole would do, but constrained.

I would just Wget my library to the respective folde,r and use calibre Web.

If i need to Add Multiple Files, or engage other advanced features, then i can install calibre, Modify my Database, then remove/Disable it and only use the web interface.

While this is the most easier prevalent case, There are other cases in which i have hard a similar kind of Situation with building other Apps.

We just need a way to define a Useable directory Accessible By more than one App.

IF the issue is security, Both Apps are internal, and should not really be an issue per se, considering one already accesses it, a similar fashion needs to be defined.

IF its completely entirely Not Possible and Feasible, I think we need to Define a Universal Directory Module, that other Apps can tap into it for Files storage and access.

Example docker compose

services:
  calibre:
    image: ghcr.io/linuxserver/calibre
    container_name: calibre
    environment:
      - PUID=$PUID #change this to your user's PID
      - PGID=$PGID #change this to your user's PGID
    volumes:
      - path/to/your/calibre/config:/config #change before the ':'
      - path/to/your/calibre/upload:/uploads #change before the ':'
      - path/to/your/calibre/plugins:/plugins #change before the ':'
      - path/to/your/CalibreLibrary:/Calibre_Library #this is where your ebooks will end up
    ports:
      - 8080:8080 #change before the ':' if necessary
      - 8081:8081 #change before the ':' if necessary
    restart: unless-stopped
    networks:
      - ebooks

  calibre-web:
    image: ghcr.io/linuxserver/calibre-web
    container_name: calibre-web
    environment:
      - PUID=$PUID
      - PGID=$PGID
    volumes:
      - $DOCKERDIR/calibre/calibre-web:/config
      - path/to/your/Calibre Library:/books
    restart: unless-stopped
    depends_on:
      - calibre
    ports:
      - 8083:8083
    networks:
      - ebooks

  readarr:
    image: ghcr.io/linuxserver/readarr:nightly
    container_name: readarr
    environment:
      - PUID=$PUID #change to your PID
      - PGID=$PGID #change to your PGID
    volumes:
      - /path/to/your/docker/readarr:/config #change before the ':'
      - /path/to/your/CalibreLibrary:/books #change before the ':'
      - /path/to/your/downloads:/downloads  #change before the ':'
    ports:
      - 8787:8787
    restart: unless-stopped
    networks:
      - ebooks

networks:
  ebooks:
    external: true