From dd29c3c6f654be1f62aea45299f41bf13a1b87cf Mon Sep 17 00:00:00 2001 From: CHBMB Date: Wed, 7 Jun 2017 07:33:43 +0100 Subject: [PATCH 1/9] Change to alpine.python:3.6 --- Dockerfile | 16 ++++----- READMETEMPLATE.md | 49 ++++++++++++++++++---------- root/defaults/app.db | Bin 0 -> 36864 bytes root/defaults/default | 26 --------------- root/defaults/gunicorn.conf.py | 6 ---- root/defaults/wsgi.py | 6 ---- root/etc/cont-init.d/30-config | 15 +++++---- root/etc/services.d/calibre-web/run | 4 +-- 8 files changed, 48 insertions(+), 74 deletions(-) create mode 100644 root/defaults/app.db delete mode 100644 root/defaults/default delete mode 100644 root/defaults/gunicorn.conf.py delete mode 100644 root/defaults/wsgi.py diff --git a/Dockerfile b/Dockerfile index 129558a..ef71043 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM lsiobase/alpine.nginx:3.5 -MAINTAINER sparklyballs +FROM lsiobase/alpine.python:3.6 +MAINTAINER sparklyballs/chbmb # set version label ARG BUILD_DATE @@ -19,6 +19,7 @@ RUN \ # install runtime packages apk add --no-cache \ + imagemagick \ py2-lxml \ py2-pip \ python2 && \ @@ -35,23 +36,18 @@ RUN \ cd /app/calibre-web && \ pip install --no-cache-dir -U -r \ requirements.txt && \ - -# install pip packages - pip install --no-cache-dir -U \ - gunicorn \ - Wand && \ + pip install --no-cache-dir -U -r \ + optional-requirements.txt && \ # cleanup apk del --purge \ build-dependencies && \ rm -rf \ - /etc/services.d/php-fpm \ - /etc/logrotate.d/php-fpm7 \ /tmp/* # add local files COPY root/ / # ports and volumes -EXPOSE 80 +EXPOSE 8083 VOLUME /books /config diff --git a/READMETEMPLATE.md b/READMETEMPLATE.md index 95e29a1..b5c11f7 100644 --- a/READMETEMPLATE.md +++ b/READMETEMPLATE.md @@ -2,7 +2,7 @@ [forumurl]: https://forum.linuxserver.io [ircurl]: https://www.linuxserver.io/irc/ [podcasturl]: https://www.linuxserver.io/podcast/ -[appurl]: www.example.com +[appurl]: https://github.com/janeczku/calibre-web [hub]: https://hub.docker.com/r/example/example/ [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] @@ -12,23 +12,24 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f * [IRC][ircurl] on freenode at `#linuxserver.io` * [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation! -# +# linuxserver/calibre-web -Provide a short, concise description of the application. No more than two SHORT paragraphs. Link to sources where possible and include an image illustrating your point if necessary. Point users to the original applications website, as that's the best place to get support - not here. +[Calibre-Web](https://github.com/janeczku/calibre-web) is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself. -Our Plex container has immaculate docs so follow that if in doubt for layout. +This software is a fork of library and licensed under the GPL v3 License. -`IMPORTANT, replace all instances of with the correct dockerhub repo (ie linuxserver/plex) and information (ie, plex)` +[![Calibre-Web](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png)][appurl] ## Usage ``` docker create \ - --name= \ + --name=calibre-web \ -v :/config \ + -v :/books \ -e PGID= -e PUID= \ - -p 1234:1234 \ - + -p 8083:8083 \ + linuxserver/calibre-web ``` ## Parameters @@ -40,12 +41,13 @@ http://192.168.x.x:8080 would show you what's running INSIDE the container on po -* `-p 1234` - the port(s) -* `-v /config` - explain what lives here +* `-p 8083` - calibre-web gui port +* `-v /config` - where calibre-web stores it's database +* `-v /books` - where your calibre database is located * `-e PGID` for GroupID - see below for explanation * `-e PUID` for UserID - see below for explanation -It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it /bin/bash`. +It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it calibre-web /bin/bash`. ### User / Group Identifiers @@ -60,22 +62,35 @@ In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as bel ## Setting up the application -Insert a basic user guide here to get a n00b up and running with the software inside the container. DELETE ME +Webui can be found at `http://:8083` + +On the initial setup screen, enter `/books` as your calibre library location. + +To reverse proxy with our Letsencrypt docker container use the following location block: +``` + location /calibre-web { + proxy_pass http://:8083; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Scheme $scheme; + proxy_set_header X-Script-Name /calibre-web; + } +``` ## Info -* Shell access whilst the container is running: `docker exec -it /bin/bash` -* To monitor the logs of the container in realtime: `docker logs -f ` +* Shell access whilst the container is running: `docker exec -it calibre-web /bin/bash` +* To monitor the logs of the container in realtime: `docker logs -f calibre-web` * container version number -`docker inspect -f '{{ index .Config.Labels "build_version" }}' ` +`docker inspect -f '{{ index .Config.Labels "build_version" }}' calibre-web` * image version number -`docker inspect -f '{{ index .Config.Labels "build_version" }}' ` +`docker inspect -f '{{ index .Config.Labels "build_version" }}' calibre-web` ## Versions -+ **dd.MM.yy:** This is the standard Version type now. ++ **07.06.17:** Initial release diff --git a/root/defaults/app.db b/root/defaults/app.db new file mode 100644 index 0000000000000000000000000000000000000000..453fca20820780022f730310463eec86df24aefa GIT binary patch literal 36864 zcmeI)?Qhyf90zb4+5l-HI&~GBrl?+9sh~c{Jf+Z9Qz>z?sDvyu*;;9ub+!-U#@Ng@ zNv7pZvPs*Uz1pk2+P}7cpz6!LnY7&-%JcP>9a5$1 z`F#>9W$Cgc%hF>-kt8V-z1WA?X4w0MXrF(`vHjC_Gt#~J%ky)uq;%>JY0jVhYpyZ( z$?Wyat8~B;ut5L<5P$##ATTL#@J%|EyM0?eq#-dJYIxqZ9&Aykt2?&4ec~|F>}ZV* zP1$HXX=%!dOeH^?u`Ok#y`e2@9i_dtp|m$!tvkwWMwC3x<4M;&-=hBYadDm`nvExX z)md3>bY3dYw3kZWwhFw^)3uJavfSord2vEP>1a>2j@E8!&y`UXyzFe@AWWrlg@XLk zjpN9CO046+j*ilA$90tV|H2vu)Ym5?wF8}3raW0&YiW%(58|xAqFN?G<7r0<%`dg) zGjK&z6;9*y1Qn_o_IZpXWyU#y5JPy57n#xdoKB~_&QoQ_xkbDrssC;p3Vl(HhijE_C$Z8+><>zandd| z^w18Eho4WDs0_bYvqi(MV*@_W(e*r5z$dQd^>tBhO17w%UGjQ#Z%VgW@VY~H=%h>3 z^l-p0Rcx3h(4tJ@damJnyTRnNk8($goHsk|-0}2%Ytf7wW@FX!ydGOCmT&LS_{BOZ z63^C6$EI$`FZ8jg@Q#83HGLYMRk-Up>^t$SQsaRi`i^c8rg26Wc1dV%>E;$&xs-oj z1Ov~VdY0)q!@e8np{LtD*YhW8p0>iHZ=ur+i16^Z>}g8&2|009U<00Izz z00bZa0SG|gEP;cH{F!uDPT&1}SxVfH<%6u8W?OU`e_(Wv?veh$q4!L$|0z#+982i` zFn&zPpR(~>_Q2uM$x>fj`@K1OymXg6DSC9_yL@ARV~g%L-2El$?=RVOe~AQa-`&@2 z@uGZ(9WK#6dj;aCFW!T~x54d?`Tc()dr8Xv%HFU+00Izz00bZa0SG_<0uX=z1kS&} zkBLiCZb3d+p8qIwWqC-0(DfdVe&aJRwykdIL9j(i)x`%@m2EeN&ArX-^k)Uo93@!y=2dTG1$$tHo}`s;PBKh-H+jrd6k9v$WVP)-2McE^(Y4 znKeG2;EgA)5UX#y(x1~>eN}t0{^HrHd$U@v*XkvM7^F%qqheNyMeBZ9>p{I-F{ms5%i5h~_M%?BWW5Fr2o2tWV=5P$## zAOHafKmY{8KmY;|fB*y_009U<00Iy={{p!G cKmTKl2q6Fg2tWV=5P$##AOHafKmY>&0X?WIZU6uP literal 0 HcmV?d00001 diff --git a/root/defaults/default b/root/defaults/default deleted file mode 100644 index 3424bea..0000000 --- a/root/defaults/default +++ /dev/null @@ -1,26 +0,0 @@ -upstream wsgi-server { - server 127.0.0.1:8083; -} - -server { - listen 80 default_server; - root /config/www; - index index.html; - - # Serve static files - location ^~ /static/ { - root /app/calibre-web/cps/; - } - - # Proxy connections to the application server - location / { - proxy_pass http://wsgi-server; - proxy_redirect off; - proxy_set_header Host $http_host; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Scheme $scheme; - proxy_set_header X-Forwarded-Host $server_name; - proxy_set_header X-Real-IP $remote_addr; - - } -} diff --git a/root/defaults/gunicorn.conf.py b/root/defaults/gunicorn.conf.py deleted file mode 100644 index 782764f..0000000 --- a/root/defaults/gunicorn.conf.py +++ /dev/null @@ -1,6 +0,0 @@ -import os - -workers = 1 -bind = "127.0.0.1:8083" -user = 'abc' -loglevel = 'info' diff --git a/root/defaults/wsgi.py b/root/defaults/wsgi.py deleted file mode 100644 index 1622da4..0000000 --- a/root/defaults/wsgi.py +++ /dev/null @@ -1,6 +0,0 @@ -import os -import sys - -base_path = os.path.dirname(os.path.abspath(__file__)) -sys.path.append(os.path.join(base_path, 'vendor')) -from cps import web diff --git a/root/etc/cont-init.d/30-config b/root/etc/cont-init.d/30-config index 411c0a2..5105a76 100644 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/cont-init.d/30-config @@ -1,12 +1,13 @@ #!/usr/bin/with-contenv bash -# copy config -[[ ! -e /app/calibre-web/gunicorn.conf.py ]] && \ - cp /defaults/gunicorn.conf.py /app/calibre-web/gunicorn.conf.py +# put database in /config +[[ ! -e /config/app.db ]] && \ + cp /defaults/app.db /config/app.db \ -[[ ! -e /app/calibre-web/wsgi.py ]] && \ - cp /defaults/wsgi.py /app/calibre-web/wsgi.py +# link to /app/calibre-web/app.db +ln -s /config/app.db /app/calibre-web/app.db -# permissions +# permissions chown -R abc:abc \ - /app/calibre-web + /config \ + /app/calibre-web diff --git a/root/etc/services.d/calibre-web/run b/root/etc/services.d/calibre-web/run index 519ed5b..9df1c90 100644 --- a/root/etc/services.d/calibre-web/run +++ b/root/etc/services.d/calibre-web/run @@ -3,5 +3,5 @@ cd /app/calibre-web || exit exec \ - s6-setuidgid abc /usr/bin/gunicorn \ - -c /app/calibre-web/gunicorn.conf.py wsgi:web.app + s6-setuidgid abc python /app/calibre-web/cps.py + From ac6fb9b04881ee452032447896ee9ff535913c8f Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 7 Jun 2017 07:56:30 +0100 Subject: [PATCH 2/9] Update READMETEMPLATE.md --- READMETEMPLATE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/READMETEMPLATE.md b/READMETEMPLATE.md index b5c11f7..b015e17 100644 --- a/READMETEMPLATE.md +++ b/READMETEMPLATE.md @@ -66,6 +66,10 @@ Webui can be found at `http://:8083` On the initial setup screen, enter `/books` as your calibre library location. +**Default admin login:** +*Username:* admin +*Password:* admin123 + To reverse proxy with our Letsencrypt docker container use the following location block: ``` location /calibre-web { From 4bece2bb6184f5c68c882ebf834d482fcee6b670 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 9 Jun 2017 21:06:13 +0100 Subject: [PATCH 3/9] Create Dockerfile --- Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index ef71043..bee29c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,10 +19,7 @@ RUN \ # install runtime packages apk add --no-cache \ - imagemagick \ - py2-lxml \ - py2-pip \ - python2 && \ + imagemagick && \ # install calibre-web mkdir -p \ From 14ab162f994e4d61be3f94fc28586ccc4eaaac02 Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 9 Jun 2017 22:12:11 +0100 Subject: [PATCH 4/9] Delete README.md --- README.md | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index 3a8b3d2..0000000 --- a/README.md +++ /dev/null @@ -1,15 +0,0 @@ -[linuxserverurl]: https://linuxserver.io -[forumurl]: https://forum.linuxserver.io -[ircurl]: https://www.linuxserver.io/irc/ -[podcasturl]: https://www.linuxserver.io/podcast/ - -[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl] - -## This is a Container in active development by the [LinuxServer.io][linuxserverurl] team and is not recommended for use by the general public. - -If you want to comment\contribute on this container , are looking for support on any of our other work , or are curious about us in general, check out the following. - -* [forum.linuxserver.io][forumurl] -* [IRC][ircurl] on freenode at `#linuxserver.io` -* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation! - From 5748654f4c578fc559ac4475fdd94222bdc8dcfa Mon Sep 17 00:00:00 2001 From: Neil Date: Fri, 9 Jun 2017 22:12:25 +0100 Subject: [PATCH 5/9] Create README.md --- READMETEMPLATE.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename READMETEMPLATE.md => README.md (100%) diff --git a/READMETEMPLATE.md b/README.md similarity index 100% rename from READMETEMPLATE.md rename to README.md From a316ea3a66e92559987c63dcfa3c5413817a633f Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 17 Jul 2017 17:12:48 +0100 Subject: [PATCH 6/9] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index bee29c0..9fdc910 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM lsiobase/alpine.python:3.6 -MAINTAINER sparklyballs/chbmb +MAINTAINER sparklyballs,chbmb # set version label ARG BUILD_DATE From 3cd48c3d5f0043a56cf9d4889d2ab6747940985d Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 17 Jul 2017 17:36:32 +0100 Subject: [PATCH 7/9] tidy up stuff --- Dockerfile | 2 +- root/etc/cont-init.d/30-config | 9 +++++---- root/etc/services.d/calibre-web/run | 1 - 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9fdc910..3329ef0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN \ # install runtime packages apk add --no-cache \ - imagemagick && \ + imagemagick && \ # install calibre-web mkdir -p \ diff --git a/root/etc/cont-init.d/30-config b/root/etc/cont-init.d/30-config index 5105a76..7771b9e 100644 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/cont-init.d/30-config @@ -1,13 +1,14 @@ #!/usr/bin/with-contenv bash -# put database in /config +# copy database to /config if not exists [[ ! -e /config/app.db ]] && \ cp /defaults/app.db /config/app.db \ -# link to /app/calibre-web/app.db -ln -s /config/app.db /app/calibre-web/app.db +# create symlink for database +[[ ! -L /app/calibre-web/app.db ]] && \ + ln -s /config/app.db /app/calibre-web/app.db # permissions chown -R abc:abc \ /config \ - /app/calibre-web + /app/calibre-web diff --git a/root/etc/services.d/calibre-web/run b/root/etc/services.d/calibre-web/run index 9df1c90..1dea53c 100644 --- a/root/etc/services.d/calibre-web/run +++ b/root/etc/services.d/calibre-web/run @@ -4,4 +4,3 @@ cd /app/calibre-web || exit exec \ s6-setuidgid abc python /app/calibre-web/cps.py - From 14a3560f52abd785c758d9ba14263133f009fde7 Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 17 Jul 2017 17:49:25 +0100 Subject: [PATCH 8/9] edit README and add badges --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b015e17..b53886b 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f * [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation! # linuxserver/calibre-web +[![](https://images.microbadger.com/badges/version/linuxserver/calibre-web.svg)](https://microbadger.com/images/linuxserver/calibre-web "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/calibre-web.svg)](https://microbadger.com/images/linuxserver/calibre-web "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/calibre-web.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/calibre-web.svg)][hub][![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Builders/x86-64/x86-64-calibre-web)](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-calibre-web/) [Calibre-Web](https://github.com/janeczku/calibre-web) is a web app providing a clean interface for browsing, reading and downloading eBooks using an existing Calibre database. It is also possible to integrate google drive and edit metadata and your calibre library through the app itself. @@ -97,4 +98,4 @@ To reverse proxy with our Letsencrypt docker container use the following locatio ## Versions -+ **07.06.17:** Initial release ++ **17.07.17:** Initial release From d7f69006f00ff16076c7b34aff77e72f2802fab3 Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 17 Jul 2017 18:04:54 +0100 Subject: [PATCH 9/9] more tidying up and badges etc --- Dockerfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3329ef0..d69a3ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,13 +9,10 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA # install build packages RUN \ apk add --no-cache --virtual=build-dependencies \ - curl \ g++ \ gcc \ - git \ make \ - python2-dev \ - tar && \ + python2-dev && \ # install runtime packages apk add --no-cache \