services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # should be owner of volumes ports: - "4533:4533" expose: - "4533" restart: unless-stopped environment: # Optional: put your config options customization here. Examples: ND_SCANSCHEDULE: 1h ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" VIRTUAL_HOST: "navidrome.${DOMAIN}" LETSENCRYPT_HOST: "navidrome.${DOMAIN}" LETSENCRYPT_EMAIL: ${EMAIL} volumes: - "${DATA_LOCATION}:/data" - "${DATA_LOCATION}/Music:/music:ro" ubooquity: image: lscr.io/linuxserver/ubooquity:latest container_name: ubooquity environment: - PUID=${UID} - PGID=${GID} - TZ=${TZ} - VIRTUAL_HOST=comics.${DOMAIN} - VIRTUAL_PORT=2202 - LETSENCRYPT_HOST=comics.${DOMAIN} - LETSENCRYPT_EMAIL= ${EMAIL} # - MAXMEM= #optional volumes: - ${CONFIG_LOCATION}/ubooquity:/config - ${DATA_LOCATION}/Books:/books - ${DATA_LOCATION}/Comics:/comics # - /path/to/raw/files:/files expose: - "2202" - "2203" ports: - 2202:2202 #:2202/ubooquity - 2203:2203 #:2203/ubooquity/admin restart: unless-stopped audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest ports: - 13378:80 volumes: - ${CONFIG_LOCATION}/audiobookshelf:/config - ${DATA_LOCATION}/Audiobooks:/audiobooks # - :/podcasts - ${DATA_LOCATION}/Audiobooks/metadata:/metadata environment: - TZ=${TZ} - VIRTUAL_HOST=audiobookshelf.${DOMAIN} - LETSENCRYPT_HOST=audiobookshelf.${DOMAIN} - LETSENCRYPT_EMAIL= ${EMAIL} networks: default: name: nginx-proxy external: true