From 9f4f0914d4794b7919e4bf4aa866d50724935a2b Mon Sep 17 00:00:00 2001 From: Ak4zh Date: Mon, 19 Apr 2021 17:58:58 +0530 Subject: [PATCH] Added paperless-ng (#388) * Added paperless-ng * fixed prettier check --- public/v4/apps/paperless-ng.yml | 183 +++++++++++++++++++++++++++++++ public/v4/logos/paperless-ng.png | Bin 0 -> 6327 bytes 2 files changed, 183 insertions(+) create mode 100644 public/v4/apps/paperless-ng.yml create mode 100644 public/v4/logos/paperless-ng.png diff --git a/public/v4/apps/paperless-ng.yml b/public/v4/apps/paperless-ng.yml new file mode 100644 index 0000000..fd410ea --- /dev/null +++ b/public/v4/apps/paperless-ng.yml @@ -0,0 +1,183 @@ +captainVersion: 4 +services: + # Paperless-ng + $$cap_appname: + depends_on: + - $$cap_appname-db + - $$cap_appname-redis + image: jonaswinkler/paperless-ng:$$cap_app_version + restart: always + environment: + APP_URL: http://$$cap_appname.$$cap_root_domain + PAPERLESS_REDIS: redis://srv-captain--$$cap_appname-redis:6379/0 + PAPERLESS_DBHOST: srv-captain--$$cap_appname-db + PAPERLESS_DBNAME: $$cap_dbname + PAPERLESS_DBUSER: $$cap_dbuser + PAPERLESS_DBPASS: $$cap_dbpass + PAPERLESS_LOGROTATE_MAX_SIZE: $$cap_logrotate_max_size + PAPERLESS_LOGROTATE_MAX_BACKUPS: $$cap_logrotate_max_backup + PAPERLESS_SECRET_KEY: $$cap_secret_key + PAPERLESS_ADMIN_USER: $$cap_admin_user + PAPERLESS_ADMIN_PASSWORD: $$cap_admin_password + PAPERLESS_COOKIE_PREFIX: $$cap_cookie_prefix + PAPERLESS_OCR_LANGUAGE: $$cap_ocr_language + PAPERLESS_OCR_MODE: $$cap_ocr_mode + PAPERLESS_OCR_CLEAN: $$cap_ocr_clean + PAPERLESS_OCR_DESKEW: $$cap_ocr_deskew + PAPERLESS_OCR_ROTATE_PAGES: $$cap_ocr_rotate_pages + PAPERLESS_OCR_OUTPUT_TYPE: $$cap_ocr_output_type + PAPERLESS_OCR_PAGES: $$cap_ocr_page_count + PAPERLESS_OCR_USER_ARGS: $cap_ocr_user_args + PAPERLESS_TIME_ZONE: $$cap_timezone + PAPERLESS_TIKA_ENABLED: 1 + PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://srv-captain--$$cap_appname-gotenberg:3000 + PAPERLESS_TIKA_ENDPOINT: http://srv-captain--$$cap_appname-tika:9998 + + volumes: + - $$cap_appname-data:/usr/src/paperless/data + - $$cap_appname-media:/usr/src/paperless/media + - $$cap_appname-export:/usr/src/paperless/export + - $$cap_appname-consume:/usr/src/paperless/consume + caproverExtra: + containerHttpPort: '8000' + + # Redis + $$cap_appname-redis: + volumes: + - $$cap_appname-redis-data:/data + restart: always + caproverExtra: + dockerfileLines: + - FROM redis:$$cap_redis_version + - CMD exec redis-server + notExposeAsWebApp: 'true' + + # Database + $$cap_appname-db: + image: postgres:13 + volumes: + - $$cap_appname-db:/var/lib/postgresql/data + restart: always + environment: + POSTGRES_DB: $$cap_dbname + POSTGRES_USER: $$cap_dbuser + POSTGRES_PASSWORD: $$cap_dbpass + caproverExtra: + notExposeAsWebApp: 'true' + + # gotenberg + $$cap_appname-gotenberg: + image: thecodingmachine/gotenberg + restart: unless-stopped + environment: + DISABLE_GOOGLE_CHROME: 1 + caproverExtra: + containerHttpPort: '3000' + + # tika + $$cap_appname-tika: + image: apache/tika + restart: unless-stopped + caproverExtra: + containerHttpPort: '9998' + +caproverOneClickApp: + variables: + - id: $$cap_app_version + label: Paperless-ng + defaultValue: '1.4.1' + description: Check out their docker page for the valid tags https://hub.docker.com/r/jonaswinkler/paperless-ng/tags + + - id: $$cap_dbpass + label: Database Password + defaultValue: $$cap_gen_random_hex(64) + + - id: $$cap_redis_version + label: Redis version + defaultValue: 6.0 + + - id: $$cap_dbname + label: Database name + defaultValue: 'paperless' + + - id: $$cap_dbuser + label: Database User + defaultValue: 'paperless' + + - id: $$cap_filename_format + label: Database User + defaultValue: + description: 'Changes the filenames paperless uses to store documents in the media directory. See File name handling (https://paperless-ng.readthedocs.io/en/latest/advanced_usage.html#advanced-file-name-handling) for details. Default is none, which disables this feature.' + + - id: $$cap_logrotate_max_size + label: Log Rotate Max Size (MB) + defaultValue: 1 + + - id: $$cap_logrotate_max_backup + label: Log Rotate Max Backup Count + defaultValue: 20 + + - id: $$cap_secret_key + label: Secret Key + defaultValue: $$cap_gen_random_hex(64) + + - id: $$cap_admin_user + label: Admin User + defaultValue: 'admin' + + - id: $$cap_admin_password + label: Admin Password + defaultValue: $$cap_gen_random_hex(64) + + - id: $$cap_cookie_prefix + label: Cookie Prefix + defaultValue: $$cap_appname + + - id: $$cap_ocr_language + label: OCR Language + defaultValue: 'eng' + description: 'It should be a 3-letter language code consistent with ISO 639 https://www.loc.gov/standards/iso639-2/php/code_list.php This can be a combination of multiple languages such as deu+eng, in which case tesseract will use whatever language matches best. Keep in mind that tesseract uses much more cpu time with multiple languages enabled.' + + - id: $$cap_ocr_mode + label: OCR Mode + defaultValue: 'skip' + + - id: $$cap_ocr_clean + label: OCR Clean + defaultValue: 'clean' + + - id: $$cap_ocr_deskew + label: OCR Deskew + defaultValue: 'true' + + - id: $$cap_ocr_rotate_pages + label: OCR Rotate Pages + defaultValue: 'true' + + - id: $$cap_ocr_output_type + label: OCR Output Type + defaultValue: 'pdfa' + + - id: $$cap_ocr_page_count + label: OCR Pages Count + defaultValue: '0' + + - id: $cap_ocr_user_args + label: OCR User Args + description: OCRmyPDF Refrence https://ocrmypdf.readthedocs.io/en/latest/api.html#reference + + - id: $$cap_timezone + label: Timezone + defaultValue: 'UTC' + description: 'Set the time zone here. See https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-TIME_ZONE for details on how to set it.' + + instructions: + start: >- + Paperless is an application by Daniel Quinn and others that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents. + end: >- + Done! 😄 + Your service is available at http://$$cap_appname.$$cap_root_domain + displayName: 'Paperless-ng' + isOfficial: true + description: Paperless is an application by Daniel Quinn and others that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents. + documentation: https://paperless-ng.readthedocs.io/en/latest/ diff --git a/public/v4/logos/paperless-ng.png b/public/v4/logos/paperless-ng.png new file mode 100644 index 0000000000000000000000000000000000000000..ac698eedfa431ae0cbfa95bed887aaa5091ea3b4 GIT binary patch literal 6327 zcmV;o7)a-dP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3#taw9nog#Ystdjx_c2=X|5M(hpt`1_$GySv?< ziI|5Kw&YTY#X=@B6AI^l|GnWq{AB4R6tz}+t&yM7OHYFrExvwU&l1b?_xb7l{hs`K zJmmF$BXKD6oL~Re^FDuYTz`DP%KP~I^?0!NLaDtMlFx;opX^um*YES%d!d|O$L0Nh z_}J+vKi$szH?8-w@5R6VUyNdGWxbq2I$3h$Z}Y2Uc92^h{7wAL*-v`CmR$K;a{0b? z;q&E};??qf?c#W!k$){ki1mF!{Zga%anUcw^CxQQmmSH+%k=9THOCo${`skP_wIJ@ zdEMP8l}gp{zNwEAKCd{DMM{1?R(Tk|%4>Tbok!yq7l>`poIF;LE{SSiDY9kAmGe9= zS!}VSlZ@w-R?5$@mM!(P9#D!u>`=eqs5-jc?Zw{T_>7IPGT zdxY-}{+-9?Liaj#MZB0mFE4T;)(6|0+fhrE1QuF03INFDGGnAG&nRgYYD1a)wF5XQFAR-YpqsY zqlRTGrdG|YS+~)0D@|K%)>`Xr^wcvFroDCxz4hM5;G%=22cI6CF~&?Y&oXt^X|v5f z$AUhqEM0ZkYOAlY)6Sdr-*sEqZTCHn9H?~4(Nm9|cKR6?uHAgg)myLKcKaQlsJ&7B z6*c*S+@GT+Z`2&I@|;h!$>2MhIrc{w3^GW0|<$NQ-r3zLDdCnw1`EfAOkJM|8pnf#i}qYOrAtXbAa!4hAX{1jgHcPnR`*^e{j$Fx?7ri%^@!a=;aTd;t!2Q-b1FN6 zSt>d-opw`#h#S5G*luyzRW_YsL;UgS+TcW)HI{RvaC540{aJ-)If;+28GVNqvjwN> zo;y*Vq_S7pyRGH7&`)9mQ2J(A#vP1yM$fZ-dx`M%fa6vk1L&uD07|M@)Xr7sO-t#I zqW7eH=ILs)tS$7#3Ts;JO_em#Y+h(S=8&;KuI`aC4R=zaPzCsPSdoe}OG~=$^@NhO zI-kSrd(LxAX6409tvZY@IsH|5hw=^N9LPdkv`?j~V>j9v)4h7GhPBno7Com^9Xg-; zske^qq&TRV*0|pXeEH{)Xg)A?=8gB`@LDZ2<$l{9{UKK$Ys~2%X?MM;FtWiLdR#<0 zh!{YmNm{Y}LV&)nIn1_8J!L_2eEqJu+bMkz>7Y-lGIM=sG|Nsp7t8Q5n?}{qm|jo@ zSDYJ0(}4z+g9a9qY4xM!mUV~nMmMW7!pq9tZ<+MVAfwP{B~BoM*f9+ZX$Icf$IYNcgd&?P3m3ec~`K z0pb_DJ7u4Ty3R<~F3U6v^45?H@|%V++eMvQXQj4@x1wgU;?T2Idln;M9gvk#eDQ_6 z__MW5$kjIP*%3hwWr8Q_0EtwPYdUoo=m9YIDELH+pDCzblUFC221ZVDCZgrwA%DL-LP+fUa2<-h|2_l$_6Wa z+-QSqm}7^Lt!5T!GC`3b3(u%px(|@qwS_m~cAGV{3+_rTRg^v{XZ1jEA^s2TFyq*RfxlQGk(bon?u}dV1rdi|OSM zsQ1WSntdHqgqO5O-?UD5iHmekED6T5NxKp-3*Ea%rY%cGgb<7#o@W{$wuPHSR81}s z=v21q)9PAETu7xa><^iSah@SNO`-S{&DtXro{%m|Z5hhO-flaw)=7tNxSsD}*0{); zyWrT-Pp2zK*yN}}f|^QQ+ag&RyFl!L0E3031Sw3lH_C@d)>&v0?08d{*eNmq2?3bfK#8BHLS zy);{Je18TYyD2Lr@hwhb)Yj$eHQE&CZ;u3zuqrBbPrl9W9CcQjj(=BrmP7K5%Mj$) zl`nr+zI%H1*h`#cO0WvYC_CT9QKFe0<>N^E)(09#_ex zA(iT`GWx=2@JCQb;&dW<%IVlFGUP$#l1!%>8)G)~!48f><0*(GVK0nR5vDbv=m1ut zY&%Sz6JPxO7E>KiM|_G;lZ}xZa18eY4YGm8KL~*U03sgVSqnAl*9K@!D4EO`rR;No zzpvI<)_ss0UX7pG2Z=Q>>bN2&A}e>k3thL!^eE(5t&!OmtUGQt#(wbv{AO1wKxpadxIES#bVC0_Hxc zULadU9D>mg&F>o#WYX9`()a3pXI8r&T%W!pE^lt1DjxC$GU1?M>C^$s<`z_2jt39G z+0&C~fNUh{UK5T1v#CdCETj zm^t@W)FX8~crvC1{|xU^AF>xZ!oC>wGXGK?om6C|-UD43zhq32jEk2`iHe)@cIYQXbpbSs|W>f|W4 z*juYq$N@V*jAMCvk@ku+bi`hSH~(s{`dG=Fd27JqniB%%5N#8^icqROv@FC$csc=$ z%)pF*INnNMe50ZP0y2;@S`a}gHGNl^xaMeQfNn2CI~Cwm5apL19nL#WnpFsi36 zz=5dGZtziF(Cp{{JVkW&a?6PXeHKC|g@G8Ip)_)QB$}6$i0_n@(Pp9_BiHrB0Y91N z8K{{9y@llTgBC>j3IjRq>_$0wUiQF{q28m+7-aL)Dh@^(A)>KZy?!dj zRpN-SnC#V0=d^w>DQ4s0Uyr~y$hnW_X8*EuL^wmhy#7su4@ry%*vRG_&j^ryB@Z>^ zMURQ(BElEhhV^^WO53hQlR$mTsI#EC)CdPcTjj!$vq(=Ek`FCBQ~jEIsw7XJkKpO6 zf&F{+ug~G*#dGg_!8dXy{D4^000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2jUDK3=l4TU^{*Q01NL)L_t(|+U=ZqloZ7s$3MMb zgk_=EC=4FZ0^3GFKto^~Q6eZ_FGhheK5sE-#D^jAhzCRy;)R&!k>{;|LR5T%B3|*r z1JMG!HH%uiJO%?YC};tTfb4eu=o;v4W_D+nnFaRM_q~1HT~l4v^{a3H>i7HAuNMpq z3=9km3=9km3=9km3=9km3=9km3=9km8bqtz{Q+Zf=jf7NrLC(g)c0n(_DmG*)&v{X z72uyhZ!=YfWQBocT?GsPx|*pnBrC)+IRv;-Umj|v%8)GI1nUnx5By9Q?QN#YkSw1B z8w|V-v=0@xH&eCeqV;Y@u#vzFpg8iAoogGeXHN$X%kWbb@D}ix6lz0Dm^|0B`vCW* zuYG^(v6Ty}w-`;90UhIATE*hdEx_yy1Ou>gZOey00|x^A0STM|oCPcZrU0M2p8boK zKr-L=mjG`AM+JY@ZfXAP@`sAWo$f^xy#riRPc@ZmdzC_c53JCa>!eUsQmC(_PcDv_*ghDq!S+zNCCmbsoi7+45g zBZXQSs<%JzTK+W-2kZ;fx}LommFD0l;qv;&Si0o_#>5k5dR@b;ZDb zQmEFzgTOz47s|>zSi1csnq=wrCj+CUP;uY)PX@XGPc=xe@(z0gF9A0Im+Stz1BU?f zUC$mGdbW0Y{MSpN21=nk;9UJe)S17cqN0gFPbt)|q)-7Naw*ntjn*v~$*kaw zzbKDQevwKf^Af&r%R98yOIvH;E-BOpp`ZP*-5(NaN$C2(EKPr!q3k<-OmAOx)W@|| z3)j^~>aK~@i6T6qH|l5oAcvPP{W2}9O9&N~XU|aIL$tlQT|d?OD}h9)s5qqgqIj8L ze>iu;KNfe61!O9bT%O|+c^mNiJTGn2ck=!ru4g}}m&oG@vN^7nLfsarcO`H;kkZC4 zu4i{3*h?*KppPHw`K?W4iO#fh@qMl@ycFsV;Ep_or_$;7-vTATY}d2T(90@Sfu@}l zs=qPqjJTe?R0=gc^lUSmqRA#|HJ=N?PEFe%dBi5*k)3QK3A_M21B~=*>6C$BNTEKG zLLDoGI!g*w?RvIHuqRlO=P~&i%4!Sb*!Yd8oAw9?0Sol_Gm(4=@TKO>G}p7IlzAN* z{7$4O3u$_2JLS?G2xe<9Dc^WJl}LWKvm}#3Ju8KJQ3~}z?xkZsrnc+2(dFf@AUETSll@$l}OI4r;TfX zPI(s47U1S)4tAF5H@Y)0TnhDu>)HMD+|7QjXFm`r>tCQDZPoL8PLAU^M~7It>X5`k zu4flXp&pD7a*pfSx9RvBz^{R~UC$mag<8`Xk{uH|zcUth=A{zJl^L{H8{m=x2aKzrpwh6z_q&Q2w;xu*~d$ve$16*148Hf0yATA=eSfN8MPly%)u~jELH*6 zH}ldmMH6h66zZh{_EQ~>MHLun(_mSyeM+H{u4f;i9iHL3_~hz$GbSvoShOA~)D5BKa8Ny@{7Bnnt8~bwcP`##HkWh(a9=F$ z9G)RKmk-SM@vq#)Z+}yQ(@s6@d>gTkGJ0WUS0u4ngjJ^Q*H z49S|BTM2eN+J?wEqpZBHH>o%4(}axWBGhlPJX9|ow@Sp~PMTal%acH=@cj|16U#U4 z0%Cm`Ixo*K=7!KWLs>dEU~vrljblvu83AEJ%eI4CgZ;%eV&=& zIeG(cOQ9-q^)43!M`kD=1N)B69p;EpveX(5e;sMH@|!9y19z)Aj711D9zTr13oPvg_GbS(oZ1<2fJy-tB9T ze+8CR3f$v*Ho)h=K?M0|TWV|lY5MsO&;&{2I$%_mv3AkVlU9lMqc_^6P)l9UJ_$%z z>^0N%?8({`8cgun;JKBHH-v-4n}H`?&%RLKdmzD9+nZ9T=ObO8=X&;MzF+$USXh>I z2Eo?csf~$~y_$t&-E^$y2jF6@Zcl0=AEpB1Qipq?!_kRuW zkQC}OJ(;Vu7j+_Vz9wE8kLYm07%Z!|UVeWog?g?|9}CxQCJ2lU(WDun?WTvNP%lOd z_8HVoT&&NypH7xNUMbXkt&z_MF4vk}0)wSct0FQxT95lOom^P~+%1KAFVgIdwLWu; zEY7s7qNnw0_Kt3IW6sM-EbeqC%Z|EUD!UW>6O_LZ>l=HPp8lf zl0pd#8s|-=63L~&lUeRbrzQ6yNGPmnM1PM0hwRA&Gsv&YK7q_z9S3QHa&0P+{DB~! zy&*gc9G*%fFUY6;Ww3{nOlz}Dk={<)HcPw6*`nkMxF6`9N+eH9C6b>QaT}6lBHE+u zm?T$4@S(&seI3r@Ukl6vM*2RTQ;Fo*R3cf?0_7Gq{0}oU+Q~SQb_8zFMm~B8{V0`4 z9uQD%12|g>^`)WHPLNC!?KB;BXbtpDC6dcxac7Qp z>-(h=Nh4%~okuM0bd1HFdHVeHSlsbrac7E=j6r>9)c^6Xu236GdX)|>=~bEzaclra zRadAjMwABG(3F2uun2fjdzlxc63Golj0R2iF0()qe1j;o_i12|can`J$XUO{h|i!< t#(!xn?({U0FfcGMFfcGMFfiD2@P9oz$