From 5bedd3404d0b4823175bfeac3550edb528331c35 Mon Sep 17 00:00:00 2001 From: DrMxrcy <58747968+DrMxrcy@users.noreply.github.com> Date: Tue, 4 Apr 2023 02:58:29 -0400 Subject: [PATCH] Add Kavita (#303) * Add Kavita * Update logo.jpg * Update logo.jpg --- README.md | 1 + apps/kavita/config.json | 16 ++++++++++++++ apps/kavita/docker-compose.yml | 25 +++++++++++++++++++++ apps/kavita/metadata/description.md | 33 ++++++++++++++++++++++++++++ apps/kavita/metadata/logo.jpg | Bin 0 -> 10881 bytes 5 files changed, 75 insertions(+) create mode 100644 apps/kavita/config.json create mode 100644 apps/kavita/docker-compose.yml create mode 100644 apps/kavita/metadata/description.md create mode 100644 apps/kavita/metadata/logo.jpg diff --git a/README.md b/README.md index ec5d4d59..1b810269 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ This is the official repository for the Tipi App Store. It contains all the apps - [Jellyfin](https://github.com/jellyfin/jellyfin) - A media server for your home collection - [Jellyseerr](https://github.com/Fallenbagel/jellyseerr) - Fork of overseerr for Jellyfin support - [Joplin](https://github.com/laurent22/joplin) - Privacy focused note-taking app +- [Kavita](https://github.com/Kareadita/Kavita) - Kavita is a fast, feature rich, cross platform reading server - [Libreddit](https://github.com/spikecodes/libreddit) - Private front-end for Reddit - [LibrePhotos](https://github.com/LibrePhotos/librephotos) - Complete photo management service - [LibreTranslate](https://github.com/LibreTranslate/LibreTranslate) - Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup diff --git a/apps/kavita/config.json b/apps/kavita/config.json new file mode 100644 index 00000000..31855e9a --- /dev/null +++ b/apps/kavita/config.json @@ -0,0 +1,16 @@ +{ + "$schema": "../schema.json", + "name": "Kavita", + "port": 8175, + "available": true, + "exposable": true, + "id": "kavita", + "tipi_version": 1, + "version": "nightly-0.7.1.4", + "categories": ["media"], + "description": "Kavita is a fast, feature rich, cross platform reading server", + "short_desc": "Kavita is a fast, feature rich, cross platform reading server", + "author": "Kareadita", + "source": "https://github.com/Kareadita/Kavita", + "form_fields": [] +} diff --git a/apps/kavita/docker-compose.yml b/apps/kavita/docker-compose.yml new file mode 100644 index 00000000..d7709379 --- /dev/null +++ b/apps/kavita/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.9' + +services: + kavita: + container_name: kavita + image: kizaing/kavita:nightly-0.7.1.4 + ports: + - ${APP_PORT}:5000 + volumes: + - ${APP_DATA_DIR}/data/kavita-config:/kavita/config + - ${ROOT_FOLDER_HOST}/media/data/books:/books + - ${ROOT_FOLDER_HOST}/media/data/comics:/comics + - ${ROOT_FOLDER_HOST}/media/data/manga:/manga + environment: + - TZ=${TZ} + restart: unless-stopped + networks: + - tipi_main_network + labels: + traefik.enable: ${APP_EXPOSED} + traefik.http.routers.kavita.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.kavita.entrypoints: websecure + traefik.http.routers.kavita.service: kavita + traefik.http.routers.kavita.tls.certresolver: myresolver + traefik.http.services.kavita.loadbalancer.server.port: 5000 diff --git a/apps/kavita/metadata/description.md b/apps/kavita/metadata/description.md new file mode 100644 index 00000000..297f8a47 --- /dev/null +++ b/apps/kavita/metadata/description.md @@ -0,0 +1,33 @@ +# Folder Info +| Root Folder | Container Folder | +|---------------------------------------------|------------------| +| /runtipi/app-data/kavita/data/kavita-config | /config | +| /runtipi/media/data/books | /books | +| /runtipi/media/data/comics | /comics | +| /runtipi/media/data/manga | /manga | + +--- + +## [First Time Setup Guide](https://wiki.kavitareader.com/en/guides/first-time-setup) +--- + +[![new_github_preview_stills](https://user-images.githubusercontent.com/735851/169657008-37812c18-5490-4e2a-9dcb-4806f8c87c69.gif)](https://user-images.githubusercontent.com/735851/169657008-37812c18-5490-4e2a-9dcb-4806f8c87c69.gif) [![new_github_preview_stills](https://user-images.githubusercontent.com/735851/169657008-37812c18-5490-4e2a-9dcb-4806f8c87c69.gif) + +](https://user-images.githubusercontent.com/735851/169657008-37812c18-5490-4e2a-9dcb-4806f8c87c69.gif)[](https://user-images.githubusercontent.com/735851/169657008-37812c18-5490-4e2a-9dcb-4806f8c87c69.gif) + +Kavita is a fast, feature rich, cross platform reading server. Built with a focus for being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family! + +## [](https://github.com/Kareadita/Kavita#goals)Goals + +- [x] Serve up Manga/Webtoons/Comics (cbr, cbz, zip/rar/rar5, 7zip, raw images) and Books (epub, pdf) +- [x] First class responsive readers that work great on any device (phone, tablet, desktop) +- [x] Dark mode and customizable theming support +- [ ] Provide a plugin system to allow external metadata integration and scrobbling for read status, ratings, and reviews +- [x] Rich Metadata support with filtering and searching +- [x] Ways to group reading material: Collections, Reading Lists, Want to Read +- [x] Ability to manage users, access, and ratings +- [x] Fully Accessible with active accessibility audits +- [x] Dedicated webtoon reading mode +- [ ] Full localization support +- [ ] And so much [more...](https://github.com/Kareadita/Kavita/projects) + diff --git a/apps/kavita/metadata/logo.jpg b/apps/kavita/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23a41a0313ab1c5368cb538cd502eef3d809481c GIT binary patch literal 10881 zcmeG?3piA3*L&PeA~kY}rd%>8a;XqAq-oGa)1s5*YHWgY#+#{^$htdf@pCO{Op|D)anm(kg>*gOJid-x$BP*w} zLKUN?uD53GI(-8}vyJ#o1ak{Z8(X^__B$OM-S_VE@bvQb2?#uVmeyOe>!rpvfc-kVUB5B%f8L9h##`-cf-Ee)eMO7 zBjCZ~mjrOYI|@l%A{L3EocR0t+XsKg!2iM+P}^|P6}8aHL})9nDg_F{u|`ckzfq7< zJ-?1Q0?u^BDf%)#vVqB3{?5?oo*bi}Y268Ipj9tu5m=|n1|E8e+c%vhCCsuCX1PxM z3yoh9tV(0CR1~u2Clt{nf`m!uBl%NlEt_zr$wz19hrc;bxBgv)kriwp&58{ie}VmX zEAx9FbIjbLZWrxps$eRkhpZLFqqZ-jkTAdxUi@ZeY~WmH66>(zxcW$o1Y~y6WxR3! z%lkHj`xn@NxHB!CxEW9E6UDDW0T-<4Cci(3;MXJ>n^Zo)lK3i(uTOb2vs5k$NVcq7 z{#bs|fJRj5&AY#lt4m^^PCXYD#w7+f20X;jQ>=>@JrX917=b~dYI;G(KBGLPt& zkH|k@0|oikb*gJ2`B2adOTt_|W(vC#@k5s_?d7tDjL{Wt0d#`$t9er;k;O?~NY98G z(|jdMe|z)yX>$4aWBKCU9Dnz7{jKe+*0$SwJWi(B(TGpQF6gLGwTd5UqR=ezRP3Zq zuWqK$wR=%0qWPHkwvH#0+gmm-C_Z`8KmE$bwwK`0#TGVDSBlPee@`BpAy4uX3Ve_i5yVO4--+vQLY(E$Xw%Oe>L1M z{_4y|+$i1W#v7F}m*)we;IIj2to?`FrNhsL|$nLRh>Zw9?iL&2-iTxdI^ z{4j<==Zd9Nty#sQpcy?yG;dA|o4N1w5Ml`7Ws|7eD9K9{!@`NErwy!>FP2| z$f38~(ifu&bdXjGHe*oM@Des3K-sBjzS$j-U8diaGEr?TJ(A_BMYqMiQKdk(JTYGc z@FWtSmC^9qxx$HD4r*d}7%7AI*dHIfN5(;q-E;BV60w&*`z6w+HlFwM7v4ZJpDggdrzHZrrnYh>;+_UL|B6g&n|YrXg)|zM z`Xf1of!1PJS__R8fO}rj+*9hr2GB>?z<3QCFznt>rw%Fg47rs3{D!H{2I9kiVgt@2 zaNIdVhW00pe@)sU6Bj#hsvM3W!KHp7u%JnJ^=1Q?v(@)EK;*-0U^khOeCi=dtL3i; zur3Cg2i;4(>^t)^3`{UgKGSX??qI5vX|Z*su(j~Z*Q8Jf^qUNLlDWm*f)_8N3S2N4 z3K|+cfu^BAAAW4D1alPC8KJj6(F9v`zhS12QGd#&Y#G_zM0|Er;#(WBcKu}pwy2dS zz}$f#a3ZvJ#TZ8dP{$*pJx)VGB=8cs)#Z7dHtr!URqn*U^h)bZ2Go`n^fPOm*)zHb zR*Rl3Zih@qoLF!DLfk7I7`p*X!SSua*9|>rhc-Q6enq&GF`Qt0R_Dv$a|TNZ_VGIO z0J0~4NH=l`Q&a)Y5}f@;Gk##t5LRh#oti0zHz7~P>-D>(W5AAqR;YyBy{kW1FH9hG z>AWe)^|&aPk?pH!eeYd9YP42b4oS?#A4?9WzG%WwNM%%UE3u|uSH|mZEomxz+>v0x z21IV3&VzHORyN>R?3KSmF?VK5=dqRR8_Q)}hGKRG*Rg?6IP7ug z(QAFj@-ffvbg)fqMpPU0+YfJ2Te}!u)vRTOh|y88%R=y;5ZVnqCj6d)K|cWW!F?o}KY77cI0bj|ys1QY~Oc(es?smdnW z)sWp98Ol}HV0gONab{2eJcEWoC1>bsiqrO~>ao;;s??z{`g^EX6Rcs@LHGIms${0K^va*WdpnFMhlKSki+p| z;{=%^spLmD7?{PaQTj%M_cO}~N z=fjf`9$RcPSTg;R=6;$^GsIR(P{RTT7bwnnbKLsYY7*y|^!d>Ax^6<#hcVyhsqF$T zKjGf7ytwbJS!dCkm_0M{*fR|Jv2f|Pad7iLi*sIvpJ;&ne}cb<;~{EfG+0xw*Vj`-w^7`BHj1?yNL70fdsjJfzvW*sX+{wWD)~8Ib2`LKNtVy$#KuXwMb0%LH?qRs*YupUG(Idk&jRZR21aT1`hX@ z-~+7mJZ>44fcM6@l%CFc$wAaLmpgxDy{7(}G;@Q1+0{@hn^&jlGVoyOE?P^l!G^9h z?*NA|&T~BKlI2w)U}-=Ds$@e~6bh*(hM`272zl$;uCR#BGj|j1P|zkaI9+`jA$6sB z)q3!H8R>-j8osHkFDzWO{iA9v)t4OVTOjf3T8_+8I7yKLKc?@3XHKb0)oWVXT*9lD zSRK#8r}p>{=qbisHgL!uUOZ=~@NTJxLWkVJaHV_-N#i*-5MCL9@4Y^LwIfshIE`;? ziYtqwmVzh+F2E=PRhk`K+HeK>BLIKs_>)?mb&G)W=+3MmFKU& zj1Jy6{9jL*{xDJCos!1eDZBQke(!h?l=mx29XvgjgQovAgSXKf;8ZJ1`KP!@#~F8%>o3A?tH8;!u|^pd&IYSZ;G*Ql zG1~bX;MbJ=?Bjdu++z!39^r;Z{h+pjBVSUPdm6{Z+McojK7tb-Wq;*(4-t<7zVkv< z&nY?Zf6QjScQHHFcJGPh;hgL|qz#h(?q=3}$wzd% zf==d%x+1tM8An*34eC->jfO0j&!`$K9nT_ZTYY<1Mm(*(+hd6}ixrDC>3l37A8ovO z*;h&B|KTiCt)Q3Wa2Ck2^?$0e;cCZSY-0FE@WAOtnmYE4#Pu*c>87|zHeiW;0@9{! zicFIF&rKJ165cK!_kBj0k%ZX5Cjzg!iV&O6uyt|6wX!h07I=yP?Jqbj z9e-0upU$a}|x@F`&6d{3EM(L@%Z{zSOxAxh=arc4N3{oqwp$e|}y4x0j-u zys{4}#4FnFWdrJElml>TGP9+1v|$Vtdd+tbO58;$$x7CBAbY29+>GYkrU^gB@m3I4Lj59i12H{g7kJUto1 zkeeKxlivRir}KZDO=Dh65$+KjdZ0)W+@a$?2QdXhPNW?O9d(u-YHy$CBKP)J zKchoWmtBxPKat&bbj@cohk8Hww8sg}6mc2OyRLPt|LoHwvesnXCju8b(B3*)u>=o* zL(9RZasBzKP{bYF)B;+E!`rH(dZi5TA!upDg|$#~J=mk+&IZEgL3-d%-ncQTLN-tq z#RlY7eU$z`*S4bO8KI8srv6fz&*j2U2RYx}G`ndREy)+$uR;EBcAp#Qc<0PblgCDq zT^>rUm}y2mf0SB`*CGJwGlFBEp^WUXmOSl~+|y1r@9{=*H=b0ZNw zY;xT*Yt{q@HY9U<2q#%yfd=iQOiS)BUZ z!D%KoB(iB-m^2z3FX}um`daLVcGq6Q_Q&UZ_Mu*=y3>uoj*v`R(#HBsFQu5yyQ$)` zDKn%H#Jh1-(x@AM{LZ}zSJEtUJQD{rRg%q;5@Sk?;w$5Q43$vl*3DH+{lviv_&_C_ ztDPaqb*>eBKVWhufH<+*Sa20e@X?pzprpCiNQFPr=;Iy{q;c&&r>O&-+)}~nhf4+E zjgkd19xry%HL_~WmY#dw%B-{4&_es{Ybj1TR0D#?cBrBO?5;P&6$Z94#?IcLTcz!O zHqnT?d|{Rn_j&g^C{*eC7_m|;#kaRV0meYlDHt49tPd1FpCSJ{628;b5B|Qb{ZTsF%m{(@-C)4oq zBLg`2HTiwO(f5m^EUdA}DAguP zLGGTKo7|DK$}njK&3(ul+qxIwHTd$LnF=fvFn5#t25xYUov?zulAd&BA9$ zl@`@c6JAj6t-V4;?~R^0pDcdnT0(-Sbepz)c0pLsQGMgvR$X9_*^Km7Hb6G-ne{K% zsHM$WqdKQ2G*j3B_B?&oD~H2K2A%IXT>B(=zNXId_Oeg`zupb;A=f;cbv9v^w{aTN zopk6Q57Qaxtpe!6%E~)FAN{VH=g38wtOnYUhfyiMN48|C9ef0Tbv6Ia!t+}SRYVe) z;n2FUbBq7dg4C_9bszROUWj&3&>e|y(l2;MYL?1USY(*vu3@udTVG9w>(K2!OM#l` z%Z%s)S9Xk_it=