Compare commits

..

13 Commits
4 .. 35

Author SHA1 Message Date
sparklyballs 0d3d473a7e Merge pull request #10 from linuxserver/3.7
bump to alpine 3.7 and fix continuation lines
2017-12-17 00:15:35 +00:00
sparklyballs ef46a9a195 configure workaround no longer required 2017-12-09 00:50:11 +00:00
sparklyballs 6bc7f90c50 bump to alpine 3.7 and fix continuation lines 2017-12-06 19:12:27 +00:00
sparklyballs 879514949c Merge pull request #9 from linuxserver/cpu_cores
use cpu core routine
2017-11-29 13:46:24 +00:00
sparklyballs c33a1ce348 use cpu core routine 2017-11-27 18:10:22 +00:00
sparklyballs e6c8a325e5 Merge pull request #8 from linuxserver/curl_imagemagick-ver
Curl imagemagick ver
2017-07-29 00:00:53 +01:00
sparklyballs 995ef7f214 correct xz instead of gz in imagemgick curl 2017-07-24 08:38:59 +01:00
sparklyballs 05189f2125 curl version of imagemagick 2017-07-24 08:32:07 +01:00
Neil 6eb9f31fee Merge pull request #6 from linuxserver/release_ready
swap readmes for release
2017-07-19 13:02:30 +01:00
sparklyballs c3f5852004 swap readmes for release 2017-07-19 10:45:42 +01:00
sparklyballs 6bc024e1bd correct version info commands 2017-07-17 21:31:37 +01:00
sparklyballs 900c7ea2ac compile imagemagick 6 2017-07-17 19:52:33 +01:00
sparklyballs af3caaa1e6 tidy up symlinks 2017-07-17 18:49:38 +01:00
4 changed files with 177 additions and 120 deletions
+80 -11
View File
@@ -1,24 +1,94 @@
FROM lsiobase/alpine.python:3.6
MAINTAINER sparklyballs,chbmb
FROM lsiobase/alpine.python:3.7
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="chbmb"
# install build packages
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
file \
fontconfig-dev \
freetype-dev \
g++ \
gcc \
ghostscript-dev \
lcms2-dev \
libjpeg-turbo-dev \
libpng-dev \
libtool \
libwebp-dev \
libxml2-dev \
libxslt-dev \
make \
python2-dev && \
# install runtime packages
perl-dev \
python2-dev \
tiff-dev \
xz \
zlib-dev && \
echo "**** install runtime packages ****" && \
apk add --no-cache \
imagemagick && \
# install calibre-web
fontconfig \
freetype \
ghostscript \
lcms2 \
libjpeg-turbo \
libltdl \
libpng \
libwebp \
libxml2 \
libxslt \
tiff \
zlib && \
echo "**** compile imagemagic ****" && \
IMAGEMAGICK_VER=$(curl --silent http://www.imagemagick.org/download/digest.rdf \
| grep ImageMagick-6.*tar.xz | sed 's/\(.*\).tar.*/\1/' \
| sed 's/^.*ImageMagick-/ImageMagick-/') && \
mkdir -p \
/tmp/imagemagick && \
curl -o \
/tmp/imagemagick-src.tar.xz -L \
"http://www.imagemagick.org/download/${IMAGEMAGICK_VER}.tar.xz" && \
tar xf \
/tmp/imagemagick-src.tar.xz -C \
/tmp/imagemagick --strip-components=1 && \
cd /tmp/imagemagick && \
sed -i -e \
's:DOCUMENTATION_PATH="${DATA_DIR}/doc/${DOCUMENTATION_RELATIVE_PATH}":DOCUMENTATION_PATH="/usr/share/doc/imagemagick":g' \
configure && \
./configure \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--prefix=/usr \
--sysconfdir=/etc \
--with-gs-font-dir=/usr/share/fonts/Type1 \
--with-gslib \
--with-lcms2 \
--with-modules \
--without-threads \
--without-x \
--with-tiff \
--with-xml && \
echo "**** attempt to set number of cores available for make to use ****" && \
set -ex && \
CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \
if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \
: ;\
if [ "$CPU_CORES" -gt 7 ]; then \
CPU_CORES=$(( CPU_CORES - 3 )); \
elif [ "$CPU_CORES" -gt 5 ]; then \
CPU_CORES=$(( CPU_CORES - 2 )); \
elif [ "$CPU_CORES" -gt 3 ]; then \
CPU_CORES=$(( CPU_CORES - 1 )); fi \
else CPU_CORES="1"; fi && \
make -j $CPU_CORES && \
set +ex && \
make install && \
find / -name '.packlist' -o -name 'perllocal.pod' \
-o -name '*.bs' -delete && \
echo "**** install calibre-web ****" && \
mkdir -p \
/app/calibre-web && \
curl -o \
@@ -32,8 +102,7 @@ RUN \
requirements.txt && \
pip install --no-cache-dir -U -r \
optional-requirements.txt && \
# cleanup
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
+93 -4
View File
@@ -2,14 +2,103 @@
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
[podcasturl]: https://www.linuxserver.io/podcast/
[appurl]: https://github.com/janeczku/calibre-web
[hub]: https://hub.docker.com/r/linuxserver/calibre-web/
[![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.
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
* [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!
# 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.
This software is a fork of library and licensed under the GPL v3 License.
[![Calibre-Web](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png)][appurl]
## Usage
```
docker create \
--name=calibre-web \
-v <path to data>:/config \
-v <path to calibre library>:/books \
-e PGID=<gid> -e PUID=<uid> \
-p 8083:8083 \
linuxserver/calibre-web
```
## Parameters
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
* `-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 calibre-web /bin/bash`.
### User / Group Identifiers
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
```
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
```
## Setting up the application
Webui can be found at `http://<your-ip>: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 {
proxy_pass http://<your-ip>: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 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" }}' calibre-web`
* image version number
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/calibre-web`
## Versions
+ **06.12.17:** Rebase to alpine 3.7.
+ **27.11.17:** Use cpu core counting routine to speed up build time.
+ **24.07.17:** Curl version for imagemagick.
+ **17.07.17:** Initial release.
-101
View File
@@ -1,101 +0,0 @@
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
[podcasturl]: https://www.linuxserver.io/podcast/
[appurl]: https://github.com/janeczku/calibre-web
[hub]: https://hub.docker.com/r/linuxserver/calibre-web/
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
* [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!
# 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.
This software is a fork of library and licensed under the GPL v3 License.
[![Calibre-Web](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/calibre-web-icon.png)][appurl]
## Usage
```
docker create \
--name=calibre-web \
-v <path to data>:/config \
-v <path to calibre library>:/books \
-e PGID=<gid> -e PUID=<uid> \
-p 8083:8083 \
linuxserver/calibre-web
```
## Parameters
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
* `-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 calibre-web /bin/bash`.
### User / Group Identifiers
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
```
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
```
## Setting up the application
Webui can be found at `http://<your-ip>: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 {
proxy_pass http://<your-ip>: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 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" }}' calibre-web`
* image version number
`docker inspect -f '{{ index .Config.Labels "build_version" }}' calibre-web`
## Versions
+ **17.07.17:** Initial release
+4 -4
View File
@@ -1,10 +1,10 @@
#!/usr/bin/with-contenv bash
# copy database to /config if not exists
[[ ! -e /config/app.db ]] && \
cp /defaults/app.db /config/app.db \
# create symlinks for database and log
[[ ! -f /config/app.db ]] && \
cp /defaults/app.db /config/app.db
[[ -f /app/calibre-web/app.db ]] && \
rm /app/calibre-web/app.db
[[ ! -L /app/calibre-web/app.db ]] && \
ln -s /config/app.db /app/calibre-web/app.db