Skip to content

Commit

Permalink
Merge pull request #1865 from holta/calibre-web-urls
Browse files Browse the repository at this point in the history
3 customizable Calibre-Web URL's: http://box/books, http://box/libros, http://box/livres
  • Loading branch information
holta committed Jul 14, 2019
2 parents e773d0b + 8f5240b commit 17e8f6d
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 24 deletions.
6 changes: 4 additions & 2 deletions roles/calibre-web/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
# calibreweb_install: False
# calibreweb_enabled: False

# calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
# calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)

# calibreweb_url: /books # FOR SHORT URL http://box/books -- add {box/libros, box/livres, box/livros, box/liv} etc?
# calibreweb_url1: /books # For SHORT URL http://box/books (English)
# calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish)
# calibreweb_url3: /livres # For SHORT URL http://box/livres (French)

# calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web for books, metadata.db & config/app.db

Expand Down
14 changes: 9 additions & 5 deletions roles/calibre-web/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
dest: "{{ calibreweb_venv_path }}/vendor"
state: link

- name: Install unit file /etc/systemd/system/calibre-web.service & /etc/apache2/sites-available/calibre-web.conf for http://box{{ calibreweb_url }}, from templates
- name: Install unit file /etc/systemd/system/calibre-web.service & /etc/apache2/sites-available/calibre-web.conf for http://box{{ calibreweb_url1 }}, http://box{{ calibreweb_url2 }}, http://box{{ calibreweb_url3 }} from templates
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
Expand Down Expand Up @@ -110,7 +110,7 @@

# Default: http://box/books
# SEE ALSO: https://github.com/janeczku/calibre-web/wiki/Setup-Reverse-Proxy
- name: Enable http://box{{ calibreweb_url }} with Apache
- name: Enable http://box{{ calibreweb_url1 }}, http://box{{ calibreweb_url2 }}, http://box{{ calibreweb_url3 }} with Apache
command: a2ensite calibre-web.conf
when: calibreweb_enabled | bool

Expand All @@ -126,7 +126,7 @@
state: stopped
when: not calibreweb_enabled

- name: Disable http://box{{ calibreweb_url }} with Apache
- name: Disable http://box{{ calibreweb_url1 }}, http://box{{ calibreweb_url2 }}, http://box{{ calibreweb_url3 }} with Apache
command: a2dissite calibre-web.conf
when: not calibreweb_enabled

Expand All @@ -150,8 +150,12 @@
value: calibre-web
- option: description
value: '"calibre-web is a web app providing a clean interface for browsing, reading and downloading e-books."'
- option: calibreweb_url
value: "{{ calibreweb_url }}"
- option: calibreweb_url1
value: "{{ calibreweb_url1 }}"
- option: calibreweb_url2
value: "{{ calibreweb_url2 }}"
- option: calibreweb_url3
value: "{{ calibreweb_url3 }}"
- option: calibreweb_path
value: "{{ calibreweb_venv_path }}"
- option: calibreweb_home
Expand Down
13 changes: 9 additions & 4 deletions roles/calibre-web/templates/calibre-web.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,22 @@
# Unnec when "{{ calibreweb_url }}" is added to Proxy* directive(s) further below
# <Location "{{ calibreweb_url }}" >

RequestHeader set X-SCRIPT-NAME {{ calibreweb_url }}
# 2019-07-14: this line remains necessary (page barely renders without it!)
RequestHeader set X-SCRIPT-NAME {{ calibreweb_url1 }}

# Appears unnec:
RequestHeader set X-SCHEME http
#RequestHeader set X-SCHEME http

ProxyPass {{ calibreweb_url }} http://localhost:{{ calibreweb_port }}/
ProxyPass {{ calibreweb_url1 }} http://localhost:{{ calibreweb_port }}/
ProxyPass {{ calibreweb_url2 }} http://localhost:{{ calibreweb_port }}/
ProxyPass {{ calibreweb_url3 }} http://localhost:{{ calibreweb_port }}/

# Possibly unnec? (ProxyPassReverse rewrites internal links, that come back
# from Apache proxy. Whereas e.g. kiwix.conf doesn't need this, as kiwix itself
# prefixes URLs, thanks to --urlRootLocation=/kiwix/ in its systemd file.)
ProxyPassReverse {{ calibreweb_url }} http://localhost:{{ calibreweb_port }}/
ProxyPassReverse {{ calibreweb_url1 }} http://localhost:{{ calibreweb_port }}/
ProxyPassReverse {{ calibreweb_url2 }} http://localhost:{{ calibreweb_port }}/
ProxyPassReverse {{ calibreweb_url3 }} http://localhost:{{ calibreweb_port }}/

# </Location>

Expand Down
2 changes: 1 addition & 1 deletion roles/calibre/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
# http://box:8080 & http://box:8080/mobile WORK FOR NOW, but short/mnemonic
# URL's like http://box/calibre DON'T YET WORK -- BOOKS RARELY DISPLAY:
# calibre_web_path: calibre # NEEDS WORK: https://github.com/iiab/iiab/issues/529
# Avoid URL collisions with calibreweb_url !
# Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below!

# All above are set in: github.com/iiab/iiab/blob/master/vars/default_vars.yml
# If nec, change them by editing /etc/iiab/local_vars.yml prior to installing!
Expand Down
8 changes: 5 additions & 3 deletions vars/default_vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -486,17 +486,19 @@ calibre_port: 8080
# http://box:8080 & http://box:8080/mobile WORK FOR NOW, but short/mnemonic
# URL's like http://box/calibre DON'T YET WORK -- BOOKS RARELY DISPLAY:
calibre_web_path: calibre # NEEDS WORK: https://github.com/iiab/iiab/issues/529
# Avoid URL collisions with calibreweb_url: below!
# Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below!

# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert
# program, so we recommend you also install Calibre (above!)

# Calibre-Web alternative to Calibre, offers a clean/modern UX
calibreweb_install: False
calibreweb_enabled: False
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc?
calibreweb_url: /books
calibreweb_url1: /books # For SHORT URL http://box/books (English)
calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish)
calibreweb_url3: /livres # For SHORT URL http://box/livres (French)
calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web

# Internet Archive Decentralized Web - create your own offline version box:4244
Expand Down
8 changes: 5 additions & 3 deletions vars/local_vars_big.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,17 +306,19 @@ calibre_enabled: False
calibre_port: 8080
# Change calibre to XYZ to add your own mnemonic URL like: http://box/XYZ
calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529
# Avoid collisions with calibreweb_url: below!
# Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below!

# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert
# program, so we recommend you also install Calibre (above!)

# Calibre-Web alternative to Calibre, offers a clean/modern UX
calibreweb_install: True
calibreweb_enabled: True
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc?
calibreweb_url: /books
calibreweb_url1: /books # For SHORT URL http://box/books (English)
calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish)
calibreweb_url3: /livres # For SHORT URL http://box/livres (French)
calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web

# Internet Archive Decentralized Web - create your own offline version box:4244
Expand Down
8 changes: 5 additions & 3 deletions vars/local_vars_medium.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,17 +306,19 @@ calibre_enabled: False
calibre_port: 8080
# Change calibre to XYZ to add your own mnemonic URL like: http://box/XYZ
calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529
# Avoid collisions with calibreweb_url: below!
# Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below!

# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert
# program, so we recommend you also install Calibre (above!)

# Calibre-Web alternative to Calibre, offers a clean/modern UX
calibreweb_install: True
calibreweb_enabled: True
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc?
calibreweb_url: /books
calibreweb_url1: /books # For SHORT URL http://box/books (English)
calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish)
calibreweb_url3: /livres # For SHORT URL http://box/livres (French)
calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web

# Internet Archive Decentralized Web - create your own offline version box:4244
Expand Down
8 changes: 5 additions & 3 deletions vars/local_vars_min.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,17 +306,19 @@ calibre_enabled: False
calibre_port: 8080
# Change calibre to XYZ to add your own mnemonic URL like: http://box/XYZ
calibre_web_path: calibre #NEEDS WORK: https://github.com/iiab/iiab/issues/529
# Avoid collisions with calibreweb_url: below!
# Avoid URL collisions w/ calibreweb_url1, calibreweb_url2, calibreweb_url3 below!

# WARNING: Calibre-Web (below) depends on Calibre's own /usr/bin/ebook-convert
# program, so we recommend you also install Calibre (above!)

# Calibre-Web alternative to Calibre, offers a clean/modern UX
calibreweb_install: False
calibreweb_enabled: False
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
calibreweb_port: 8083 # PORT VARIABLE HAS NO EFFECT (as of January 2019)
# http://box/books works. Add {box/libros, box/livres, box/livros, box/liv} etc?
calibreweb_url: /books
calibreweb_url1: /books # For SHORT URL http://box/books (English)
calibreweb_url2: /libros # For SHORT URL http://box/libros (Spanish)
calibreweb_url3: /livres # For SHORT URL http://box/livres (French)
calibreweb_home: "{{ content_base }}/calibre-web" # /library/calibre-web

# Internet Archive Decentralized Web - create your own offline version box:4244
Expand Down

0 comments on commit 17e8f6d

Please sign in to comment.