mirror of
https://github.com/AdrienPoupa/docker-compose-nas.git
synced 2025-05-19 05:33:21 +02:00
feat(calibre-web): Add Calibre-Web
This commit is contained in:
parent
7b92c87a1b
commit
ef38e3522c
@ -45,3 +45,5 @@ HOMEPAGE_VAR_WEATHER_LAT=
|
|||||||
HOMEPAGE_VAR_WEATHER_LONG=
|
HOMEPAGE_VAR_WEATHER_LONG=
|
||||||
HOMEPAGE_VAR_WEATHER_UNIT=metric
|
HOMEPAGE_VAR_WEATHER_UNIT=metric
|
||||||
IMMICH_DB_PASSWORD=postgres
|
IMMICH_DB_PASSWORD=postgres
|
||||||
|
CALIBRE_USERNAME=admin
|
||||||
|
CALIBRE_PASSWORD=admin123
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@ docker-compose.override.yml
|
|||||||
/adguardhome/conf
|
/adguardhome/conf
|
||||||
/adguardhome/work
|
/adguardhome/work
|
||||||
/sabnzbd
|
/sabnzbd
|
||||||
|
/calibre-web
|
21
README.md
21
README.md
@ -76,9 +76,10 @@ I am running it in Ubuntu Server 22.04; I also tested this setup on a [Synology
|
|||||||
| [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) | Optional - Proxy server to bypass Cloudflare protection in Prowlarr<br/>Enable with `COMPOSE_PROFILES=flaresolverr` | [flaresolverr/flaresolverr](https://hub.docker.com/r/flaresolverr/flaresolverr) | |
|
| [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr) | Optional - Proxy server to bypass Cloudflare protection in Prowlarr<br/>Enable with `COMPOSE_PROFILES=flaresolverr` | [flaresolverr/flaresolverr](https://hub.docker.com/r/flaresolverr/flaresolverr) | |
|
||||||
| [AdGuard Home](https://adguard.com/en/adguard-home/overview.html) | Optional - Network-wide software for blocking ads & tracking<br/>Enable with `COMPOSE_PROFILES=adguardhome` | [adguard/adguardhome](https://hub.docker.com/r/adguard/adguardhome) | |
|
| [AdGuard Home](https://adguard.com/en/adguard-home/overview.html) | Optional - Network-wide software for blocking ads & tracking<br/>Enable with `COMPOSE_PROFILES=adguardhome` | [adguard/adguardhome](https://hub.docker.com/r/adguard/adguardhome) | |
|
||||||
| [Tandoor](https://tandoor.dev) | Optional - Smart recipe management<br/>Enable with `COMPOSE_PROFILES=tandoor` | [vabene1111/recipes](https://hub.docker.com/r/vabene1111/recipes) | /recipes |
|
| [Tandoor](https://tandoor.dev) | Optional - Smart recipe management<br/>Enable with `COMPOSE_PROFILES=tandoor` | [vabene1111/recipes](https://hub.docker.com/r/vabene1111/recipes) | /recipes |
|
||||||
| [Joplin](https://joplinapp.org/) | Optional - Note taking application<br/>Enable with `COMPOSE_PROFILES=joplin` | [joplin/server](https://hub.docker.com/r/joplin/server) | /joplin |
|
| [Joplin](https://joplinapp.org) | Optional - Note taking application<br/>Enable with `COMPOSE_PROFILES=joplin` | [joplin/server](https://hub.docker.com/r/joplin/server) | /joplin |
|
||||||
| [Home Assistant](https://www.home-assistant.io/) | Optional - Open source home automation that puts local control and privacy first<br/>Enable with `COMPOSE_PROFILES=homeassistant` | [home-assistant/home-assistant:stable](https://ghcr.io/home-assistant/home-assistant) | |
|
| [Home Assistant](https://www.home-assistant.io) | Optional - Open source home automation that puts local control and privacy first<br/>Enable with `COMPOSE_PROFILES=homeassistant` | [home-assistant/home-assistant:stable](https://ghcr.io/home-assistant/home-assistant) | |
|
||||||
| [Immich](https://immich.app//) | Optional - Self-hosted photo and video management solution<br/>Enable with `COMPOSE_PROFILES=immich` | [immich-app/immich-server:release](https://ghcr.io/immich-app/immich-server) | |
|
| [Immich](https://immich.app) | Optional - Self-hosted photo and video management solution<br/>Enable with `COMPOSE_PROFILES=immich` | [immich-app/immich-server:release](https://ghcr.io/immich-app/immich-server) | |
|
||||||
|
| [Calibre-Web](https://github.com/janeczku/calibre-web) | Optional - Web app for browsing, reading and downloading eBooks stored in a Calibre database<br/>Enable with `COMPOSE_PROFILES=calibre-web` | [linuxserver/calibre-web](https://hub.docker.com/r/linuxserver/calibre-web) | /calibre |
|
||||||
|
|
||||||
Optional containers are not enabled by default, they need to be enabled,
|
Optional containers are not enabled by default, they need to be enabled,
|
||||||
see [Optional Services](#optional-services) for more information.
|
see [Optional Services](#optional-services) for more information.
|
||||||
@ -135,6 +136,8 @@ If you want to show Jellyfin information in the homepage, create it in Jellyfin
|
|||||||
| `HOMEPAGE_VAR_WEATHER_LAT` | Homepage weather city latitude | |
|
| `HOMEPAGE_VAR_WEATHER_LAT` | Homepage weather city latitude | |
|
||||||
| `HOMEPAGE_VAR_WEATHER_LONG` | Homepage weather city longitude | |
|
| `HOMEPAGE_VAR_WEATHER_LONG` | Homepage weather city longitude | |
|
||||||
| `HOMEPAGE_VAR_WEATHER_UNIT` | Homepage weather unit, either `metric` or `imperial` | `metric` |
|
| `HOMEPAGE_VAR_WEATHER_UNIT` | Homepage weather unit, either `metric` or `imperial` | `metric` |
|
||||||
|
| `CALIBRE_USERNAME` | Optional - Calibre-Web username to show details in the homepage, if enabled | `admin` |
|
||||||
|
| `CALIBRE_PASSWORD` | Optional - Calibre-Web password to show details in the homepage, if enabled | `admin123` |
|
||||||
|
|
||||||
## PIA WireGuard VPN
|
## PIA WireGuard VPN
|
||||||
|
|
||||||
@ -394,6 +397,18 @@ See [here](./homeassistant/README.md).
|
|||||||
|
|
||||||
See [here](./immich/README.md).
|
See [here](./immich/README.md).
|
||||||
|
|
||||||
|
### Calibre-Web
|
||||||
|
|
||||||
|
If you do not have a Calibre database, download a sample from: https://github.com/janeczku/calibre-web/raw/master/library/metadata.db
|
||||||
|
and place it in `${DATA_ROOT}/books`.
|
||||||
|
|
||||||
|
On the initial setup screen, enter `/books` as your calibre library location.
|
||||||
|
|
||||||
|
**Default admin login:** Username: `admin` Password: `admin123`.
|
||||||
|
|
||||||
|
Unrar is included by default and needs to be set in the Calibre-Web admin page (Basic Configuration:External Binaries)
|
||||||
|
with a path of `/usr/bin/unrar`.
|
||||||
|
|
||||||
## Customization
|
## Customization
|
||||||
|
|
||||||
You can override the configuration of a service or add new services by creating a new `docker-compose.override.yml` file,
|
You can override the configuration of a service or add new services by creating a new `docker-compose.override.yml` file,
|
||||||
|
@ -226,7 +226,7 @@ services:
|
|||||||
- homepage.icon=jellyseerr.png
|
- homepage.icon=jellyseerr.png
|
||||||
- homepage.href=/jellyseerr
|
- homepage.href=/jellyseerr
|
||||||
- homepage.description=Content Recommendations and Request Management
|
- homepage.description=Content Recommendations and Request Management
|
||||||
- homepage.weight=2
|
- homepage.weight=3
|
||||||
- homepage.widget.type=jellyseerr
|
- homepage.widget.type=jellyseerr
|
||||||
- homepage.widget.url=http://jellyseerr:5055
|
- homepage.widget.url=http://jellyseerr:5055
|
||||||
- homepage.widget.key=${JELLYSEERR_API_KEY}
|
- homepage.widget.key=${JELLYSEERR_API_KEY}
|
||||||
@ -353,7 +353,7 @@ services:
|
|||||||
retries: 3
|
retries: 3
|
||||||
restart: always
|
restart: always
|
||||||
unpackerr:
|
unpackerr:
|
||||||
image: golift/unpackerr
|
image: golift/unpackerr:latest
|
||||||
container_name: unpackerr
|
container_name: unpackerr
|
||||||
volumes:
|
volumes:
|
||||||
- ${DOWNLOAD_ROOT}:/data/torrents
|
- ${DOWNLOAD_ROOT}:/data/torrents
|
||||||
@ -396,7 +396,7 @@ services:
|
|||||||
profiles:
|
profiles:
|
||||||
- sabnzbd
|
- sabnzbd
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: lscr.io/linuxserver/jellyfin
|
image: lscr.io/linuxserver/jellyfin:latest
|
||||||
container_name: jellyfin
|
container_name: jellyfin
|
||||||
environment:
|
environment:
|
||||||
- PUID=${USER_ID}
|
- PUID=${USER_ID}
|
||||||
@ -425,10 +425,45 @@ services:
|
|||||||
- homepage.icon=jellyfin.png
|
- homepage.icon=jellyfin.png
|
||||||
- homepage.href=/jellyfin
|
- homepage.href=/jellyfin
|
||||||
- homepage.description=Media server
|
- homepage.description=Media server
|
||||||
- homepage.weight=3
|
- homepage.weight=4
|
||||||
- homepage.widget.type=jellyfin
|
- homepage.widget.type=jellyfin
|
||||||
- homepage.widget.url=http://jellyfin:8096/jellyfin
|
- homepage.widget.url=http://jellyfin:8096/jellyfin
|
||||||
- homepage.widget.key=${JELLYFIN_API_KEY}
|
- homepage.widget.key=${JELLYFIN_API_KEY}
|
||||||
|
calibre-web:
|
||||||
|
image: lscr.io/linuxserver/calibre-web:latest
|
||||||
|
container_name: calibre-web
|
||||||
|
environment:
|
||||||
|
- PUID=${USER_ID}
|
||||||
|
- PGID=${GROUP_ID}
|
||||||
|
- TZ=${TIMEZONE}
|
||||||
|
- DOCKER_MODS=linuxserver/mods:universal-calibre
|
||||||
|
- OAUTHLIB_RELAX_TOKEN_SCOPE=1
|
||||||
|
volumes:
|
||||||
|
- ${CONFIG_ROOT:-.}/calibre-web:/config
|
||||||
|
- ${DATA_ROOT}/books:/books
|
||||||
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.calibre-headers.headers.customRequestHeaders.X-Scheme=https
|
||||||
|
- traefik.http.middlewares.calibre-headers.headers.customRequestHeaders.X-Script-Name=/calibre
|
||||||
|
- traefik.http.middlewares.calibre-stripprefixregex.stripPrefixRegex.regex=/calibre
|
||||||
|
- traefik.http.routers.calibre.middlewares=calibre-headers,calibre-stripprefixregex
|
||||||
|
- traefik.http.routers.calibre.rule=(Host(`${HOSTNAME}`) && PathPrefix(`/calibre`))
|
||||||
|
- traefik.http.routers.calibre.tls=true
|
||||||
|
- traefik.http.routers.calibre.tls.certresolver=myresolver
|
||||||
|
- traefik.http.services.calibre.loadbalancer.server.port=8083
|
||||||
|
- homepage.group=Media
|
||||||
|
- homepage.name=Calibre-Web
|
||||||
|
- homepage.icon=calibre-web.png
|
||||||
|
- homepage.href=/calibre
|
||||||
|
- homepage.description=Books management
|
||||||
|
- homepage.weight=5
|
||||||
|
- homepage.widget.type=calibreweb
|
||||||
|
- homepage.widget.url=http://calibre-web:8083
|
||||||
|
- homepage.widget.username=${CALIBRE_USERNAME}
|
||||||
|
- homepage.widget.password=${CALIBRE_PASSWORD}
|
||||||
|
profiles:
|
||||||
|
- calibre-web
|
||||||
homepage:
|
homepage:
|
||||||
image: ghcr.io/gethomepage/homepage:latest
|
image: ghcr.io/gethomepage/homepage:latest
|
||||||
container_name: homepage
|
container_name: homepage
|
||||||
|
Loading…
x
Reference in New Issue
Block a user