-
-
Notifications
You must be signed in to change notification settings - Fork 273
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #934 from hvmzx/calibre-web-kcc
calibre-web-kcc: initial release of kcc mod for calibre-web for comic/manga ebook processing
- Loading branch information
Showing
22 changed files
with
92 additions
and
111 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,38 @@ | ||
# syntax=docker/dockerfile:1 | ||
|
||
## Buildstage ## | ||
FROM ghcr.io/linuxserver/baseimage-alpine:3.19 AS buildstage | ||
|
||
ARG MOD_VERSION | ||
|
||
RUN curl -L https://archive.org/download/kindlegen_linux_2_6_i386_v2_9/kindlegen_linux_2.6_i386_v2_9.tar.gz > kindlegen.tar.gz | ||
RUN tar -zxvf kindlegen.tar.gz kindlegen | ||
RUN chmod +rwx 'kindlegen' | ||
RUN rm kindlegen.tar.gz | ||
|
||
RUN \ | ||
if [ -z ${MOD_VERSION} ]; then \ | ||
echo "MOD_VERSION is not set. Fetching from GitHub..."; \ | ||
MOD_VERSION=$(curl -s "https://api.github.com/repos/ciromattia/kcc/releases/latest" | jq -rc ".tag_name"); \ | ||
else \ | ||
echo "MOD_VERSION is already set to '${MOD_VERSION}'"; \ | ||
fi && \ | ||
echo "Using MOD_VERSION=${MOD_VERSION}" && \ | ||
curl -L https://github.com/ciromattia/kcc/archive/refs/tags/${MOD_VERSION}.tar.gz > kcc.tar.gz && \ | ||
tar -xzf kcc.tar.gz && \ | ||
mv kcc-$(echo "${MOD_VERSION}" | sed 's/^.\(.*\)/\1/') kcc && \ | ||
touch kcc/KCC_VERSION && \ | ||
echo ${MOD_VERSION} > kcc/KCC_VERSION && \ | ||
mkdir -p /root-layer/usr/local/bin && \ | ||
mv kindlegen /root-layer/usr/local/bin/ && \ | ||
mv kcc /root-layer/usr/local/bin/ | ||
|
||
COPY root/ /root-layer/ | ||
|
||
## Single layer deployed image ## | ||
FROM scratch | ||
|
||
LABEL maintainer="username" | ||
LABEL maintainer="hvmzx" | ||
|
||
# copy local files | ||
COPY root/ / | ||
# Add files from buildstage | ||
COPY --from=buildstage /root-layer/ / |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,7 @@ | ||
# Rsync - Docker mod for openssh-server | ||
# KCC (Kindle Comic Converter) - Docker mod for Calibre Web | ||
|
||
This mod adds rsync to openssh-server, to be installed/updated during container start. | ||
This mod adds KCC and its multitude of ebook processing (upscale, stretch, right to left for manga...) to Calibre Web, to be installed/updated during container start. | ||
|
||
In openssh-server docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:openssh-server-rsync` | ||
In any container docker arguments, set an environment variable `DOCKER_MODS=linuxserver/mods:calibre-web-kcc` | ||
|
||
If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:openssh-server-rsync|linuxserver/mods:openssh-server-mod2` | ||
|
||
# Mod creation instructions | ||
|
||
* Fork the repo, create a new branch based on the branch `template`. | ||
* Edit the `Dockerfile` for the mod. `Dockerfile.complex` is only an example and included for reference; it should be deleted when done. | ||
* Inspect the `root` folder contents. Edit, add and remove as necessary. | ||
* After all init scripts and services are created, run `find ./ -path "./.git" -prune -o \( -name "run" -o -name "finish" -o -name "check" \) -not -perm -u=x,g=x,o=x -print -exec chmod +x {} +` to fix permissions. | ||
* Edit this readme with pertinent info, delete these instructions. | ||
* Finally edit the `.github/workflows/BuildImage.yml`. Customize the vars for `BASEIMAGE` and `MODNAME`. Set the versioning logic and `MULTI_ARCH` if needed. | ||
* Ask the team to create a new branch named `<baseimagename>-<modname>`. Baseimage should be the name of the image the mod will be applied to. The new branch will be based on the `template` branch. | ||
* Submit PR against the branch created by the team. | ||
|
||
|
||
## Tips and tricks | ||
|
||
* Some images have helpers built in, these images are currently: | ||
* [Openvscode-server](https://github.com/linuxserver/docker-openvscode-server/pull/10/files) | ||
* [Code-server](https://github.com/linuxserver/docker-code-server/pull/95) | ||
If adding multiple mods, enter them in an array separated by `|`, such as `DOCKER_MODS=linuxserver/mods:calibre-web-kcc|linuxserver/mods:calibre-web-mod2` |
File renamed without changes.
50 changes: 50 additions & 0 deletions
50
root/etc/s6-overlay/s6-rc.d/init-mod-calibre-web-kcc-add-package/run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#!/usr/bin/with-contenv bash | ||
|
||
echo "**** Adding kcc dependencies (repo and pip) to package install lists ****" | ||
if ! python3 /usr/local/bin/kcc/kcc-c2e.py > /dev/null 2>&1 ; then | ||
echo "\ | ||
PySide6 \ | ||
Pillow \ | ||
psutil \ | ||
requests \ | ||
python-slugify \ | ||
raven \ | ||
mozjpeg-lossless-optimization \ | ||
natsort[fast] \ | ||
distro" >> /mod-pip-packages-to-install.list | ||
## Ubuntu | ||
if [ -f /usr/bin/apt ]; then | ||
echo "\ | ||
python3 \ | ||
python3-pip | ||
python3-dev \ | ||
libpng-dev \ | ||
libjpeg-dev \ | ||
p7zip-full \ | ||
p7zip-rar \ | ||
unrar-free \ | ||
libgl1 \ | ||
python3-pyqt5 \ | ||
cmake" >> /mod-repo-packages-to-install.list | ||
fi | ||
# Alpine | ||
if [ -f /sbin/apk ]; then | ||
echo "\ | ||
cargo \ | ||
libffi-dev \ | ||
openssl-dev \ | ||
python3 \ | ||
python3-dev \ | ||
python3 \ | ||
py3-pip \ | ||
libpng-dev \ | ||
libjpeg \ | ||
p7zip \ | ||
unrar \ | ||
mesa-gl \ | ||
py3-qt5 \ | ||
cmake" >> /mod-repo-packages-to-install.list | ||
fi | ||
else | ||
echo "**** kcc dependencies already installed, skipping ****" | ||
fi |
File renamed without changes.
1 change: 1 addition & 0 deletions
1
root/etc/s6-overlay/s6-rc.d/init-mod-calibre-web-kcc-add-package/up
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/etc/s6-overlay/s6-rc.d/init-mod-calibre-web-kcc-add-package/run |
30 changes: 0 additions & 30 deletions
30
root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run
This file was deleted.
Oops, something went wrong.
1 change: 0 additions & 1 deletion
1
root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/up
This file was deleted.
Oops, something went wrong.
8 changes: 0 additions & 8 deletions
8
root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run
This file was deleted.
Oops, something went wrong.
1 change: 0 additions & 1 deletion
1
root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/type
This file was deleted.
Oops, something went wrong.
1 change: 0 additions & 1 deletion
1
root/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/up
This file was deleted.
Oops, something went wrong.
File renamed without changes.
Empty file.
Empty file removed
0
root/etc/s6-overlay/s6-rc.d/svc-mod-imagename-modname/dependencies.d/init-services
Empty file.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
Empty file removed
0
root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-imagename-modname-add-package
Empty file.
Empty file.
Empty file.