From f98077df7c194a0ac11b9e093868b1bb27a20905 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 6 Apr 2023 23:23:09 +0200 Subject: [PATCH 01/19] v2 --- conf/app.src | 7 -- conf/ldap_message | 2 +- conf/nginx.conf | 4 +- conf/systemd.service | 4 +- doc/DISCLAIMER.md | 3 - doc/POST_INSTALL.md | 20 +++++ doc/screenshots/screenshot2.png | Bin 250175 -> 0 bytes manifest.json | 42 ---------- manifest.toml | 58 +++++++++++++ scripts/_common.sh | 3 - scripts/backup | 23 +----- scripts/change_url | 87 +------------------- scripts/install | 98 ++-------------------- scripts/remove | 41 ---------- scripts/restore | 55 +------------ scripts/upgrade | 104 ++++------------------- scripts/ynh_send_readme_to_admin__2 | 123 ---------------------------- tests.toml | 0 18 files changed, 113 insertions(+), 561 deletions(-) delete mode 100644 conf/app.src delete mode 100644 doc/DISCLAIMER.md create mode 100644 doc/POST_INSTALL.md delete mode 100644 doc/screenshots/screenshot2.png delete mode 100644 manifest.json create mode 100644 manifest.toml delete mode 100644 scripts/ynh_send_readme_to_admin__2 create mode 100644 tests.toml diff --git a/conf/app.src b/conf/app.src deleted file mode 100644 index b4ea82e..0000000 --- a/conf/app.src +++ /dev/null @@ -1,7 +0,0 @@ -SOURCE_URL=https://github.com/Requarks/wiki/releases/download/v2.5.298/wiki-js.tar.gz -SOURCE_SUM=3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz -SOURCE_IN_SUBDIR=false -SOURCE_FILENAME= -SOURCE_EXTRACT=true diff --git a/conf/ldap_message b/conf/ldap_message index 152c37a..a643d98 100644 --- a/conf/ldap_message +++ b/conf/ldap_message @@ -1,5 +1,5 @@ Wiki.js was successfully installed :) -Please open https://__DOMAIN____PATH_URL__ and follow the steps to setup LDAP for Wiki.js +Please open https://__DOMAIN____PATH__ and follow the steps to setup LDAP for Wiki.js After following the setup steps, login, create an home page, click on the upper right wheel. In the Modules / Authentication, activate the LDAP / Active Directory and apply following parameters and click Apply: diff --git a/conf/nginx.conf b/conf/nginx.conf index 6cbf0cf..805c8a0 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,11 +1,11 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; -location / { +location __PATH__/ { # Common parameter to increase upload size limit in conjunction with dedicated php-fpm file client_max_body_size 50M; proxy_set_header Accept-Encoding ""; - proxy_pass http://localhost:__PORT__; + proxy_pass http://127.0.0.1:__PORT__; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; diff --git a/conf/systemd.service b/conf/systemd.service index 0a734fb..27d7082 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -8,8 +8,8 @@ User=__APP__ Group=__APP__ Environment=__YNH_NODE_LOAD_PATH__ Environment=NODE_ENV=production -WorkingDirectory=__FINALPATH__ -ExecStart=__YNH_NODE__ __FINALPATH__/server +WorkingDirectory=__INSTALL_DIR__ +ExecStart=__YNH_NODE__ __INSTALL_DIR__/server Restart=always # Sandboxing options to harden security diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md deleted file mode 100644 index 1ed0282..0000000 --- a/doc/DISCLAIMER.md +++ /dev/null @@ -1,3 +0,0 @@ -* **Wiki.js** requires a dedicated **root domain**, e.g. wikijs.domain.tld -* LDAP is implemented, root will receive an e-mail at the end of the installation or the upgrade with the info on how to configure LDAP. -* No HTTP auth for now, but planned for the future. diff --git a/doc/POST_INSTALL.md b/doc/POST_INSTALL.md new file mode 100644 index 0000000..a643d98 --- /dev/null +++ b/doc/POST_INSTALL.md @@ -0,0 +1,20 @@ +Wiki.js was successfully installed :) +Please open https://__DOMAIN____PATH__ and follow the steps to setup LDAP for Wiki.js + +After following the setup steps, login, create an home page, click on the upper right wheel. +In the Modules / Authentication, activate the LDAP / Active Directory and apply following parameters and click Apply: + +Strategy Configuration +LDAP_URL: ldap://localhost:389 +Admin Bind DN: uid=__LDAP_USER__,ou=users,dc=yunohost,dc=org +Admin Bind Credential: __LDAP_PASSWORD__ +Search Base: ou=users,dc=yunohost,dc=org +Search Filter: (uid={{username}}) + +Registration +Allow self-registration: Yes +Assign to group: Guest + +When activated, users will be able to login using ldap and providing their username (not email address) and password. + +If you facing an issue or want to improve this app, please open a new issue in this project: https://github.com/YunoHost-Apps/wikijs_ynh \ No newline at end of file diff --git a/doc/screenshots/screenshot2.png b/doc/screenshots/screenshot2.png deleted file mode 100644 index 1dc558419455d1408a086960de1fe8509a52beff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 250175 zcmb@tbx@m4_xMfkmeN97iaWHpTZ-G=7I!TL0u*-*ZfPk{oCbG_1rKh)THGlbAOv@J zC;Za;exC35k9Xdg_c!xyW-?c<>|A@UbI$IbJ^R@(byd0NxRkh9SXj>$Q(@@)zb#Xpnvp7S<~)1?jiiUg^6it53km48g;Dk$M%np+YjHIwrD4PbxC|pVMz} zo&2!|Tg*wJ^*`y6YAwiUIzGTaXg8MCGdM$RcfLylvjFW)x zP1xkfs?fXJ)}M2(`}ea|mg|iL72Dg}Fc|lr=Kqw>5&0Dr--S2c8$SN`2G-BDV9@Zx zFF)0j9{lHyv-i_Se{C{9{LfF`M=$&TbBXorK@k6cuis;3Kl{)1&zFC*{%`e(Y;Meb zZgxXN#}coZeIechtj}5vurzr_>K=;icUV}9%WpB&ohkU9nawr0SXfx3gV@&8lQ2(^ z-PfgVT%nMDf{jqwx)WN{d^M0 z6_&zm8qO0#VKhl~8k0enc~3BdNSixTblh z{yZ0#LsR}K{&wjo9!Ld_(F@eg66E&xxJDaYtVEZpL{(>4~z&ieR=7 zlVqs32^BWh=Zk`|u`y@iUHHB_8OA>fw1}BVBi!AeU*BS5G)m>){f!44g5v+6UU`K{X^LdAIcC_~xK{WW~H4yuY>nM?W%=zUvD#={{d)JYHR` zdiJVj8UW6rQav86l&x2Gqu6vYCHjtM<=om|Hrf98!CN&7j5J)Q7^5}(Zs5Bo@&-tL zpKIlBS(aP194X-wvf2;O^J*WJ$*NHvaF};NpJf;P*Y$vb6Guup5&Np8{+#vOZ9Lj( zDM{e=Hw@rDt0q?)-yJP!E3s$Wdw(3_bM>p>osWroxZZw5E5)##;`WdV&OiR(wO}@< zrEavWD-2mo$1{QIBYjFwh5++dsrhm3c#?^B^BLZE^#{($+cC25jAEed=^FP|Mq)`S z-KJahJNn$?9B7rOcoNP#pj@fK8+-8)Q38z9{%raVTX_P-iNNcSRJ*52jDI)XsO?lL z88ee~L9B4iRkKFsE z&dvSQ@up8$u>$ge(Rq-r;MZBYx)cgM{pPWT4&Un9(A{vZn^eNaFJE&z&F;6iwS#FyZj?A{&SYHjCJ7I;0+d7k(X%Z~Lki^bS~yxKh}nWEjS zq)E!{`B%8k5*$T(4HY73O~Q@N+)>T8VgkLdZZZ!2ng@q{M~HwE!LVl+F-`012Cz0; zdx)Bj@J4uXaXKKj{r5AcSHO<~KI;N|O~!iY)9R9Qi^oqacg=4n7l`M)z_7K47=Or8 zEBY!h%CiB~(ODy>kJYqIg{DhC;afBzYbM9S+PuhQxh9F;BJZ%8cOFTS1m84|u9=j> zoV&@j-gKntin}gHQsf4H7+HEar01j7Vv$FziTgS)z9--S;Bll$!xr>1cDk#X8Doc^ z(rsAIY$97`iJF?Vi{V#h#{#-f*n;CVW7F)B@Qc4WLA#(u?3TK6UcX6WK3HBRI_XPd zt6+%n)o7EH>v+y+u+iT152l_$3lP+zsgv9+lB0P4IY|ty6qG;N0f~AkRZTKlxj+ss zBkUEzw-?=D3&L^9Sy;H+_tXWtbR8wBi63>E#Ymk0evePHKp)g_caD_0+fp+I-<|ac zwO((RT%bG`UL`!j!a9KTT1+f~5(8ENo;;<;CGpm%>)GQqyE*};gx*3MUE?;dUzg!I zMM9{2=dD|G7?)nw2IqoWKI3va9k@JE&afsj$OQ&W=lCB89(K4+@-x(RHhp_63)ymsI4bn)Pn+OWmph%dqv7)%mfRb0$Y{w%XOI5hCrVlRY2 zZT_RNv6TE7rsw!F?UhQHqBryFISY?V!roKe-<~X#+lY@%#P!cAJK4h)YCU>rvKsvR zZkLEic`{Lc*5h$E3c8ypQQyFHM6c(-9)4JhZas3 zukle3HeEA#j?m;0E^c`HJUiFqY|Y&k4cVt-;}+My6l|OVwg(NjJM$4hfTwA2j9wx` z7_lLg%A@V*HxKPBIUuai%mQTgE?_?wuUq%B*Og}A!ySVqS8I__il6h^{J2;e(jdzc zPil!ufW@0Od+?M0%OP`qmbSq)*MhS|vUkGKpjnfd-77AtfU4OpPqasuQrp$Ke?Chc z*X`^Gt?w2DoFUY@Ii2Vd(RR2PPI7%ZmZxRpHA)bti)x@0* z74l3L!l7?3YM_(L8i1sE*Sk^zoz`^!DTb2avpPmTTDCH3k*ccSR;;jyx7B|}W3u6C z8IV;p`^l356Lh=DydLR zque=I&;&rwhs9t`wjaut)mg>2I>2XLZC7IwpniI3Z3(lb=X4)64Yb^32Qr&0>24=B z+K%&YNE5SCnjgujTwX5Rbu9Q@=L-F>634o=0NGo0hFYsQd`}m;6}dJ>Vi=d?fP!K zI_@*=Pw~oOG)CQ=-{f%-!xq&k%FJ49IeiE0mzi5 z%T5tMcRY#Bm?$NJceu=+eIDtu?NWC1akl2F@`}(<%ergL%xaig=y5|0ZC&I3MO3oCg~NBBDn&+~<@#+Q2V`rB9u1$z z@v2M5$sH~Ckh$H-7n+@m^9D)+f~VPuYUu`o)rEs2d&+8e^LI@bf_k)!+kbk{MmX6A zG7@R=$9ls@4$4~6Iqp3MJZ+WLEi9uw?;wH4Y`TVkCg|^xAkcDAa!*>8F)w|V;Ay%V zwryS{-@32_6U46-N5kFfphvO^|VNBTJnjjo|K@v#@s2dRwz_2p+D)z@E(*d>4OD^UaK zh&+j(8RU$=j?i9t2nZp`13VqldQ@YDBU@1JLMOwF-AyZQ{2x%DbfUYJo&O; znp+q$S!1`?Ps)WrS>PGJoyiLp0t)yir`jG2`^c)L@)i$%A1R$5PZ*N1+u;7_cQ#?F z=y{s=u*-}&iqfdCk4*PqcR)*tc^K|$E^H?}`UF|GYK3OM8P@yxRWUltrs?G<({pJ76N{^FDjhmJ!=nTai z+`PZzy$((89-96&#DTuNA=^>)`!YYzDUqcw2r^G@s>8$qGpHs{d#|H}D6S2?FNA|h zK$4?#zc3D(eJ$JYC_h3o4flAI;yCUOn2S@6#7 zsQ3M0hm@mzld~r-7B9KBER9H0Zj5c9%xEk{>n>Gvc4geRmVV$YfIHSWu7?!`*`HC` zrD^JW2`SzQ+dtn+^ZZ~e;<&CNwAIy=)&%zzo!ySE+1;_7@_!sBv%<`kELN>q*K#)4 ze|A>6Ie{(2l`7)7UvmweylJlmkqsA(rW%9y8+C4c-^Y;w+uYEXdH^cV{dv|P2c#Zy zXm0^-;^gnEyJEtg1wNZo@SeFVG4k^^@Mi{!9TYR2Y;d&{SFiMCtm2OO%Z}_1*)7b? z4l7z2dZH$Ci|u-J9IeHBE7b)tzVfpX()V!ZL(N(8@jh}RntLMnJ>`G^-F)SF0$dCJ z#{5O;$0pC?&~Sw{O1-=);7+T%n#5&KJ>_7%-IYBX`pF7z{_r!4?x1%eP_gCJcR?yX zzYf{z1At|PGm{f?+5HM2%V-`v8@GPxZ<@mJ{pWJsFEdE{zsFgIcl$4axV&F7+|uD4NI z8D!`!r-S=*I(!1`lr&XFWlVHprTUD^K`c&@Q8Oj|6}^%Bfo_}Mfb~_U)ck$fy+{=uYkhyik!)0$_X%D}k70}R?eK=jIctcCH7>)J zXrsL%jpW5F1)v+7wWX!VWaohl-tVS7{_yS_cOfQjpw-g^z-*vJ0a*=aY2PV<7XrGy@NTE>t=T zWrnz!b}uWZC8uns{JM_^%+E~4UrTc(8@sxgJ-0}LryLAgAwYD9dX}o%g&S^dr)wt= zfmUu7fK4U?5N;h0x_Ke{?ZcU3S|)n>D@V_N5*$t(?#?HfUr(5);z{`A*i}VIlstqB z=*;Ub&Y^%80}R~)qsR(R#QDje0LeuMP8tS4;`;g*=O~IY(U?XyZ1d27)^K`w7!@M( z%+jD1$O7;TLVI%K>FD3&E&=&wLacx+(lNuWRTw64ySA;1}>Uh#3qMUpBdK`>KdtMhnMFwKFV?#rA6Tf}+fmzte z8S573?uJ$26;QbNcb8VBY4ehCVOq@u20J<7s^Dv4&`;} z_u%1eh4vGL9Q(~?=v@t2sP~ zf1FKnM?B-vkzn)-vw{zo(Ht`zH^L5;}jKrwJ?N$IjE;+4=R%j40_l0bDgrb0` z-!Py${pUOkQN1-SCnb1J*Q29jqRKrpIZC8-x~2@Uie2Kvtj>A#ztcUZ40kJCk>Cq@ z84X&0#4O#(B(iZN?NsrOVn8%sA1S%EA11HJ79@O9fu|?kEONH|W!f+yA8$iW(JJxE z_l1P+0z|x_X(bdBwaiQwTbTzZdR6-);15O;VQhGk0f?&RvCY;6^eVoT?_LYnz%L4j z+x+E8Kf-e1?#ulR>R>2M@TQM!es28o^dWdWT$LZ|knHWrR+QL_=F86FZ8bwJfM36% zF%Nm|aj>r7-qzr3cLkd+mmb_&Gx%HYp0&zxa%q23W&Ek_!D%8RlUD8DuX^WzqT{;t zO9}6HLT~z^Jo-M9b5Bpo3!M~dkjjd*oKzAgA&?$RPZJL{Irzv<1Ef8bP1jh=$}c4; zMQ{8yicY=E$osf_16_g_8&Yf?iRaRMlFO*jPNGR|{3<-djS$|AF#}e*)P7j}NZZ== z%nHX}=8e*WOX&7uNSs}5hp!qM?xdXYCP#dshvqFK7b&HP#r#=43#~zGHoztm5uQv> zl=S7vmWC+bs9jr#^jHm7*Q;-#!VCrFxkZ)xKlk^Lf~6?UERm@sIlSm}LC@jAq7^&Y zc(P!L@c6(`mvKR&qLA@&*-nAiK!`#*=oe;E?$wfH$U+}qCVEQj-o9ZnwKMQ#(T;5M zR*+G7YkS{;jH8j>p-fAidpe#tsFGwo{3|-->|qusP(z#6Mm&8dFZQVxEG5TjLGTmj zxd%CfQ6F7@(GNR7fj0!=q`VeNo7!yMoUT#$ZFe#EH?G%#-D+4^Ujx1U99Qa+=&rE) z)coz|djrE~>KDXr&WUa^+%|r3a}Z|)j2Dy)uxDPb@njV#trL$R*ZJG|?(#|EtOmo* zX=g956F=y_v~q;IpzwS#sQ|0^c<+RUw8}mEi!bgYW%F_4Z-VpOuwAOIeSAwtl@d8q zbrR+-y2BBI)YiL)F^$XJ`18QNk!EU^skG{GO&>QHWaUZJqZQkV3hgAQP2=ecCm~H- z1VJZ>&XP1Eu!kg%6<1gIDZ(8^bo0lCi{^?$QJxDRRB0-&=k-Qk0xVy;pJk-&Y{#eZ`5DKPbn z1385t7{$U@NGaAj4!*xe=%7}l?z6I*Hok;B_w+j%x_}SYE}e{~X3e)9_soSx>m44A zfcMa90ZVE3i*R@Fg_Jwl;^PNck12GYp=?m-_ItmZ-flao%P%suI#+MM5-EtKZI>Fi z-9qG=a7n?N^J=PnSso}HsgCIpF!~fy)Au|Wf8s*AA#iKHJ@x50YyWmk^K7C#GIj?} zcuq;1FcX+QHScDiN0{ny*~ zBn2#-k)fau3p2=6=u?uej)4{jK1B9r=x9VDN?5$f>}q@`m|^v2h8d%a%*C}kcWL^T zBK;8AA*hOLzy+xJrW{fJy~1_f*I(+7T^mjtJ6nuYbQ*W4Zz>oK)BG%mlIBi+uG*!h zimo*Ou>aUqk@HUgqk$ho+w_+&6r-&x(MZRA5wz8;NjBNcC6d= zIh$OwV&-S*qxM@#(LGVblM*kVc&S)dkbCsI8$h>n6n>;R?J?5GLn-hvJF+-)tSX1K z;Q7vSI-r|aMr5x7&p@^qPPn~XoI^1v9 zizI=#P?fcwD_|)vUgs{HwmV(A>s_gq>-C2vVZ*n+pVF(xzgdX{l5^a*JJGcj9RF?$ zSXaV#utQ$8x82=@nh=rsn`o+>anfV<2oA}%fEG>k>tQeAOGu+)Eid_@~n! zQgYaVnO?@G=`P(OafwCJ{ZQb|m!j26V9Jo!h_^OAu4VjFkuJX>&XmXtLPGT&gb$7vOfGIfas;_ zS9dQNR;gW`{2a}kmVg7;y1JsOELmq{Bbzjavk8;t!|()k;!cHjliRS4h7vl${J zFb)8evn#$Eik|pZf>-E%k(*KEc0W~cE*QZ1b|qKU-(Vn(<%MNBAYhkB&@4U9?YY!w z>b=jZ6f^e~I)mcGHJL@KL;G<{r6*Rv! z&hYNRzb~mjlmq*L z6BhdON?%7>l9ZauI-Zwzs|6#1sZjCMg>-2Rfs&2I*$rA1H3P4;$kY^FT{ZWVVt#&u zdHtjA*&(^X&-Qai>v)l{W}o#{Y#{_(c`c{h>>w>IHLmCs=ANc_@@~9Gr3LDhlNRA_ zF1l@&A506*ZeL!-Wm6k`l}qlpvo2(Wh$>l+P783DWXxu#pQ&1_T`Sq~Rr%UL%!0yI zcpXgq4)?XT;YfKQ>qYhBj3UOU!1kPDSEn>Y`Aps64Z|AA+E(jdQhkwr_1HiEN#2Sz z>WnyLs!Q1KcZSB+0=;)TQix$nkwvMpn&D;(xB0sV$RC>_lZ|FQb!3RlO2u(sCIiog znfL-%)9XS1{WKn@QW_CXCq)P?rT-9@Cyt+*_}S@t^aCVYmOFAth$mBozwmpn+b*hZ zX|4XTK4H5q->>lc@a~}v;2|ak#ss}dxucs$NnBi9LqkImq+Fs`$(Y4ZzzWsEWuIDr ztDln92DWi*;rMK`)cWAij^wFw2FU)%VdLt0T`kW>+SA`};iwI3xS`m(xcF4cYArmc zxVU&z+PvimDHkAo(VaCHuz+Z*4cLhBRQg4tqjN14Eyt{!To=w?|Nrhs`coXZ|m7f+KR_3%0AlLj+pzECVa!*{I&;J+>g6;Ism`ZLgZ?zQFfVE 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

*hDi-QP7OK%3)S(W^Axu8;?@26VPp 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

u!0v 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 4.3.0" - }, - "multi_instance": true, - "services": [ - "nginx" - ], - "arguments": { - "install": [ - { - "name": "domain", - "type": "domain" - }, - { - "name": "is_public", - "type": "boolean", - "default": true - } - ] - } -} diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..0ba94fc --- /dev/null +++ b/manifest.toml @@ -0,0 +1,58 @@ +packaging_format = 2 + +id = "wikijs" +name = "Wiki.js" +description.en = "Open source powerful wiki app built on Node.js, Git and Markdown" +description.fr = "Wiki open source propulsé par Node.js, Git et Markdown" + +version = "2.5.298~ynh1" + +maintainers = ["yalh76"] + +[upstream] +license = "AGPL-3.0-or-later" +website = "https://wiki.js.org/" +demo = "https://docs-beta.requarks.io/" +userdoc = "https://docs-beta.requarks.io/" +code = "https://github.com/Requarks/wiki" + +[integration] +yunohost = ">= 11.1.17" +architectures = "all" +multi_instance = true +ldap = true +sso = false +disk = "50M" +ram.build = "50M" +ram.runtime = "50M" + +[install] + [install.domain] + type = "domain" + full_domain = true + + [install.init_main_permission] + type = "group" + default = "visitors" + +[resources] + [resources.sources.main] + url = "https://github.com/Requarks/wiki/releases/download/v2.5.298/wiki-js.tar.gz" + sha256 = "3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a" + in_subdir = false + + [resources.ports] + + [resources.system_user] + + [resources.install_dir] + + [resources.permissions] + main.url = "/" + main.auth_header = false + + [resources.apt] + packages = "postgresql" + + [resources.database] + type = "postgresql" diff --git a/scripts/_common.sh b/scripts/_common.sh index 8fddb7d..b818f0f 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,9 +4,6 @@ # COMMON VARIABLES #================================================= -# dependencies used by the app -pkg_dependencies="postgresql postgresql-contrib" - nodejs_version=16 #================================================= diff --git a/scripts/backup b/scripts/backup index 95dbd9b..a10a642 100644 --- a/scripts/backup +++ b/scripts/backup @@ -10,27 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - true -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_print_info --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -domain=$(ynh_app_setting_get --app=$app --key=domain) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) - #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= @@ -40,7 +19,7 @@ ynh_print_info --message="Declaring files to be backed up..." # BACKUP THE APP MAIN DIR #================================================= -ynh_backup --src_path="$final_path" +ynh_backup --src_path="$install_dir" #================================================= # BACKUP THE NGINX CONFIGURATION diff --git a/scripts/change_url b/scripts/change_url index 99279bd..93e4468 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -9,62 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# RETRIEVE ARGUMENTS -#================================================= - -old_domain=$YNH_APP_OLD_DOMAIN -old_path=$YNH_APP_OLD_PATH - -new_domain=$YNH_APP_NEW_DOMAIN -new_path="/" - -app=$YNH_APP_INSTANCE_NAME - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -# Needed for helper "ynh_add_nginx_config" -final_path=$(ynh_app_setting_get --app=$app --key=final_path) - -port=$(ynh_app_setting_get --app=$app --key=port) - -#================================================= -# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_clean_check_starting - # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. - ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" - - # Restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# CHECK WHICH PARTS SHOULD BE CHANGED -#================================================= - -change_domain=0 -if [ "$old_domain" != "$new_domain" ] -then - change_domain=1 -fi - -change_path=0 -if [ "$old_path" != "$new_path" ] -then - change_path=1 -fi - #================================================= # STANDARD MODIFICATIONS #================================================= @@ -79,29 +23,7 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd --line #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." -nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf - -# Change the path in the NGINX config file -if [ $change_path -eq 1 ] -then - # Make a backup of the original NGINX config file if modified - ynh_backup_if_checksum_is_different --file="$nginx_conf_path" - # Set global variables for NGINX helper - domain="$old_domain" - path_url="$new_path" - # Create a dedicated NGINX config - ynh_add_nginx_config -fi - -# Change the domain for NGINX -if [ $change_domain -eq 1 ] -then - # Delete file checksum for the old conf file location - ynh_delete_file_checksum --file="$nginx_conf_path" - mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf - # Store file checksum for the new config file location - ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" -fi +ynh_change_url_nginx_config #================================================= # GENERIC FINALISATION @@ -113,13 +35,6 @@ ynh_script_progression --message="Starting a systemd service..." # Start a systemd service ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." - -ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/install b/scripts/install index 169138d..9663058 100644 --- a/scripts/install +++ b/scripts/install @@ -10,103 +10,45 @@ source _common.sh source ynh_send_readme_to_admin__2 source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -domain=$YNH_APP_ARG_DOMAIN -path_url="/" -is_public=$YNH_APP_ARG_IS_PUBLIC - -app=$YNH_APP_INSTANCE_NAME - ldap_user="svc_${app}_ldap" ldap_password=$(ynh_string_random --length=8) -#================================================= -# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS -#================================================= -ynh_script_progression --message="Validating installation parameters..." - -final_path=/var/www/$app -test ! -e "$final_path" || ynh_die --message="This path already contains a folder" - -# Register (book) web path -ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url - #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=ldap_user --value=$ldap_user ynh_app_setting_set --app=$app --key=ldap_password --value=$ldap_password -#================================================= -# STANDARD MODIFICATIONS -#================================================= -# FIND AND OPEN A PORT -#================================================= -ynh_script_progression --message="Finding an available port..." - -# Find an available port -port=$(ynh_find_port --port=8095) -ynh_app_setting_set --app=$app --key=port --value=$port - #================================================= # INSTALL DEPENDENCIES #================================================= ynh_script_progression --message="Installing dependencies..." -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_use_nodejs -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." - -# Create a system user -ynh_system_user_create --username=$app --home_dir=$final_path - #================================================= # CREATE A POSTGRESQL DATABASE #================================================= ynh_script_progression --message="Creating a PostgreSQL database..." -db_name=$(ynh_sanitize_dbid --db_name=$app) -db_user=$db_name -ynh_app_setting_set --app=$app --key=db_name --value=$db_name -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --database=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." -ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir="$final_path" +ynh_setup_source --dest_dir="$install_dir" -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # NGINX CONFIGURATION @@ -130,10 +72,10 @@ yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikij #================================================= ynh_script_progression --message="Adding a configuration file..." -ynh_add_config --template="../conf/config.sample.yml" --destination="$final_path/config.yml" +ynh_add_config --template="../conf/config.sample.yml" --destination="$install_dir/config.yml" -chmod 400 "$final_path/config.yml" -chown $app:$app "$final_path/config.yml" +chmod 400 "$install_dir/config.yml" +chown $app:$app "$install_dir/config.yml" #================================================= # SETUP SYSTEMD @@ -160,34 +102,6 @@ ynh_script_progression --message="Starting a systemd service..." # Start a systemd service ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" -#================================================= -# SETUP SSOWAT -#================================================= -ynh_script_progression --message="Configuring permissions..." - -# Make app public if necessary -if [ $is_public -eq 1 ] -then - ynh_permission_update --permission="main" --add="visitors" -fi - -ynh_permission_url --permission="main" --auth_header=false - -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." - -ynh_systemd_action --service_name=nginx --action=reload - -#================================================= -# SEND README TO ADMIN -#================================================= -ynh_script_progression --message="Sending ReadMe to admin..." - -ynh_add_config --template="../conf/ldap_message" --destination="../conf/message_install" -ynh_send_readme_to_admin --app_message="../conf/message_install" --recipients="root" --type='install' - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/remove b/scripts/remove index 2b5720f..884d24d 100644 --- a/scripts/remove +++ b/scripts/remove @@ -9,20 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -domain=$(ynh_app_setting_get --app=$app --key=domain) -port=$(ynh_app_setting_get --app=$app --key=port) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -ldap_user=$(ynh_app_setting_get --app=$app --key=ldap_user) - #================================================= # STANDARD REMOVE #================================================= @@ -44,22 +30,6 @@ ynh_script_progression --message="Stopping and removing the systemd service..." # Remove the dedicated systemd config ynh_remove_systemd_config -#================================================= -# REMOVE THE POSTGRESQL DATABASE -#================================================= -ynh_script_progression --message="Removing the PostgreSQL database..." - -# Remove a database if it exists, along with the associated user -ynh_psql_remove_db --db_user=$db_user --db_name=$db_name - -#================================================= -# REMOVE APP MAIN DIR -#================================================= -ynh_script_progression --message="Removing app main directory..." - -# Remove the app directory securely -ynh_secure_remove --file="$final_path" - #================================================= # REMOVE NGINX CONFIGURATION #================================================= @@ -75,7 +45,6 @@ ynh_script_progression --message="Removing dependencies..." # Remove metapackage and its dependencies ynh_remove_nodejs -ynh_remove_app_dependencies #================================================= # SPECIFIC REMOVE @@ -86,16 +55,6 @@ ynh_script_progression --message="Removing LDAP user..." yunohost user delete $ldap_user --purge -#================================================= -# GENERIC FINALIZATION -#================================================= -# REMOVE DEDICATED USER -#================================================= -ynh_script_progression --message="Removing the dedicated system user..." - -# Delete a system user -ynh_system_user_delete --username=$app - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/restore b/scripts/restore index 8bd1ac7..0dd5d0b 100644 --- a/scripts/restore +++ b/scripts/restore @@ -10,60 +10,16 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -ynh_clean_setup () { - ynh_clean_check_starting -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) -ldap_user=$(ynh_app_setting_get --app=$app --key=ldap_user) -ldap_password=$(ynh_app_setting_get --app=$app --key=ldap_password) - -#================================================= -# CHECK IF THE APP CAN BE RESTORED -#================================================= -ynh_script_progression --message="Validating restoration parameters..." - -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " - -#================================================= -# STANDARD RESTORATION STEPS -#================================================= -# RECREATE THE DEDICATED USER -#================================================= -ynh_script_progression --message="Recreating the dedicated system user..." - -# Create the dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir=$final_path - #================================================= # RESTORE THE APP MAIN DIR #================================================= ynh_script_progression --message="Restoring the app main directory..." -ynh_restore_file --origin_path="$final_path" +ynh_restore_file --origin_path="$install_dir" -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" + +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # SPECIFIC RESTORATION @@ -73,7 +29,6 @@ chown -R $app:$app "$final_path" ynh_script_progression --message="Reinstalling dependencies..." # Define and install dependencies -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_use_nodejs @@ -89,8 +44,6 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= ynh_script_progression --message="Restoring the PostgreSQL database..." -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --database=$db_name ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name" diff --git a/scripts/upgrade b/scripts/upgrade index 990f408..6c494b2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,44 +10,12 @@ source _common.sh source ynh_send_readme_to_admin__2 source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -app=$YNH_APP_INSTANCE_NAME - -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) -port=$(ynh_app_setting_get --app=$app --key=port) -ldap_user=$(ynh_app_setting_get --app=$app --key=ldap_user) -ldap_password=$(ynh_app_setting_get --app=$app --key=ldap_password) - #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - -# Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_clean_check_starting - # Restore it if the upgrade fails - ynh_restore_upgradebackup -} -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -71,42 +39,14 @@ if [[ -z "$ldap_user" ]]; then yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 fi -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -ynh_permission_url --permission="main" --auth_header=false - -# Remove yarn repository -ynh_secure_remove --file="/etc/apt/sources.list.d/yarn.list" - -# Remove old log file -ynh_secure_remove --file="/var/log/$app/" - -# Create PostgreSQL User -ynh_psql_create_user $db_name $db_pwd - -# Install pg_trgm extension to provide a PostgreSQL search solution -ynh_psql_test_if_first_run -ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --database=$db_name - -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." +#REMOVEME? ynh_script_progression --message="Making sure dedicated system user exists..." # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -116,40 +56,39 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." - config_file="$final_path/config.yml" + config_file="$install_dir/config.yml" tmpdir="$(mktemp -d)" rsync -a "$config_file" "$tmpdir/." - if [ -d "$final_path/.ssh" ]; then - rsync -a "$final_path/.ssh" "$tmpdir/." + if [ -d "$install_dir/.ssh" ]; then + rsync -a "$install_dir/.ssh" "$tmpdir/." fi - if [ -d "$final_path/data" ]; then - rsync -a "$final_path/data" "$tmpdir/." + if [ -d "$install_dir/data" ]; then + rsync -a "$install_dir/data" "$tmpdir/." fi - ynh_secure_remove --file="$final_path" + ynh_secure_remove --file="$install_dir" # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path" + ynh_setup_source --dest_dir="$install_dir" - rsync -a "$tmpdir/config.yml" "$final_path/." + rsync -a "$tmpdir/config.yml" "$install_dir/." if [ -d "$tmpdir/.ssh" ]; then - rsync -a "$tmpdir/.ssh" "$final_path/." + rsync -a "$tmpdir/.ssh" "$install_dir/." fi if [ -d "$tmpdir/data" ]; then - rsync -a "$tmpdir/data" "$final_path/." + rsync -a "$tmpdir/data" "$install_dir/." fi fi -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # UPGRADE DEPENDENCIES #================================================= ynh_script_progression --message="Upgrading dependencies..." -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_use_nodejs @@ -168,10 +107,10 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Updating a configuration file..." -ynh_add_config --template="../conf/config.sample.yml" --destination="$final_path/config.yml" +ynh_add_config --template="../conf/config.sample.yml" --destination="$install_dir/config.yml" -chmod 400 "$final_path/config.yml" -chown $app:$app "$final_path/config.yml" +chmod 400 "$install_dir/config.yml" +chown $app:$app "$install_dir/config.yml" #================================================= # SETUP SYSTEMD @@ -197,13 +136,6 @@ ynh_script_progression --message="Starting a systemd service..." ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." - -ynh_systemd_action --service_name=nginx --action=reload - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/ynh_send_readme_to_admin__2 b/scripts/ynh_send_readme_to_admin__2 deleted file mode 100644 index 8b1edf1..0000000 --- a/scripts/ynh_send_readme_to_admin__2 +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash - -# Send an email to inform the administrator -# -# usage: ynh_send_readme_to_admin --app_message=app_message [--recipients=recipients] [--type=type] -# | arg: -m --app_message= - The file with the content to send to the administrator. -# | arg: -r, --recipients= - The recipients of this email. Use spaces to separate multiples recipients. - default: root -# example: "root admin@domain" -# If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you -# example: "root admin@domain user1 user2" -# | arg: -t, --type= - Type of mail, could be 'backup', 'change_url', 'install', 'remove', 'restore', 'upgrade' -ynh_send_readme_to_admin() { - # Declare an array to define the options of this helper. - declare -Ar args_array=( [m]=app_message= [r]=recipients= [t]=type= ) - local app_message - local recipients - local type - # Manage arguments with getopts - - ynh_handle_getopts_args "$@" - app_message="${app_message:-}" - recipients="${recipients:-root}" - type="${type:-install}" - - # Get the value of admin_mail_html - admin_mail_html=$(ynh_app_setting_get $app admin_mail_html) - admin_mail_html="${admin_mail_html:-0}" - - # Retrieve the email of users - find_mails () { - local list_mails="$1" - local mail - local recipients=" " - # Read each mail in argument - for mail in $list_mails - do - # Keep root or a real email address as it is - if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@" - then - recipients="$recipients $mail" - else - # But replace an user name without a domain after by its email - if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null) - then - recipients="$recipients $mail" - fi - fi - done - echo "$recipients" - } - recipients=$(find_mails "$recipients") - - # Subject base - local mail_subject="☁️🆈🅽🅷☁️: \`$app\`" - - # Adapt the subject according to the type of mail required. - if [ "$type" = "backup" ]; then - mail_subject="$mail_subject has just been backup." - elif [ "$type" = "change_url" ]; then - mail_subject="$mail_subject has just been moved to a new URL!" - elif [ "$type" = "remove" ]; then - mail_subject="$mail_subject has just been removed!" - elif [ "$type" = "restore" ]; then - mail_subject="$mail_subject has just been restored!" - elif [ "$type" = "upgrade" ]; then - mail_subject="$mail_subject has just been upgraded!" - else # install - mail_subject="$mail_subject has just been installed!" - fi - - local mail_message="This is an automated message from your beloved YunoHost server. - -Specific information for the application $app. - -$(cat "$app_message")" - - # Store the message into a file for further modifications. - echo "$mail_message" > mail_to_send - - # If a html email is required. Apply html tags to the message. - if [ "$admin_mail_html" -eq 1 ] - then - # Insert 'br' tags at each ending of lines. - ynh_replace_string "$" "
" mail_to_send - - # Insert starting HTML tags - sed --in-place '1s@^@\n\n\n\n@' mail_to_send - - # Keep tabulations - ynh_replace_string " " "\ \ " mail_to_send - ynh_replace_string "\t" "\ \ " mail_to_send - - # Insert url links tags - ynh_replace_string "__URL_TAG1__\(.*\)__URL_TAG2__\(.*\)__URL_TAG3__" "
\1" mail_to_send - - # Insert finishing HTML tags - echo -e "\n\n" >> mail_to_send - - # Otherwise, remove tags to keep a plain text. - else - # Remove URL tags - ynh_replace_string "__URL_TAG[1,3]__" "" mail_to_send - ynh_replace_string "__URL_TAG2__" ": " mail_to_send - fi - - # Define binary to use for mail command - if [ -e /usr/bin/bsd-mailx ] - then - local mail_bin=/usr/bin/bsd-mailx - else - local mail_bin=/usr/bin/mail.mailutils - fi - - if [ "$admin_mail_html" -eq 1 ] - then - content_type="text/html" - else - content_type="text/plain" - fi - - # Send the email to the recipients - cat mail_to_send | $mail_bin -a "Content-Type: $content_type; charset=UTF-8" -s "$mail_subject" "$recipients" -} diff --git a/tests.toml b/tests.toml new file mode 100644 index 0000000..e69de29 From a8c19edf2a4353a56edb04de414940bf8a16050a Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Thu, 6 Apr 2023 21:23:15 +0000 Subject: [PATCH 02/19] Auto-update README --- README.md | 7 ------- README_fr.md | 7 ------- 2 files changed, 14 deletions(-) diff --git a/README.md b/README.md index 2ce7ab1..9bc5474 100644 --- a/README.md +++ b/README.md @@ -25,15 +25,8 @@ Wiki.js is a copylefted libre software, modern and powerful wiki app built on No ## Screenshots -![Screenshot of Wiki.js](./doc/screenshots/screenshot2.png) ![Screenshot of Wiki.js](./doc/screenshots/screenshot1.png) -## Disclaimers / important information - -* **Wiki.js** requires a dedicated **root domain**, e.g. wikijs.domain.tld -* LDAP is implemented, root will receive an e-mail at the end of the installation or the upgrade with the info on how to configure LDAP. -* No HTTP auth for now, but planned for the future. - ## Documentation and resources * Official app website: diff --git a/README_fr.md b/README_fr.md index 081ec22..fd94a6b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -25,15 +25,8 @@ Wiki.js is a copylefted libre software, modern and powerful wiki app built on No ## Captures d’écran -![Capture d’écran de Wiki.js](./doc/screenshots/screenshot2.png) ![Capture d’écran de Wiki.js](./doc/screenshots/screenshot1.png) -## Avertissements / informations importantes - -* **Wiki.js** requires a dedicated **root domain**, e.g. wikijs.domain.tld -* LDAP is implemented, root will receive an e-mail at the end of the installation or the upgrade with the info on how to configure LDAP. -* No HTTP auth for now, but planned for the future. - ## Documentations et ressources * Site officiel de l’app : From 704c822d841ac811eec5c163b3895443d8e96a80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 6 Apr 2023 23:24:45 +0200 Subject: [PATCH 03/19] Update tests.toml --- tests.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests.toml b/tests.toml index e69de29..91daf17 100644 --- a/tests.toml +++ b/tests.toml @@ -0,0 +1,7 @@ +test_format = 1.0 + +[default] + + # ------------ + # Tests to run + # ------------ \ No newline at end of file From 3cb7390c66ccc3c29d408e01241705b0ce7e9bd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Thu, 6 Apr 2023 23:31:39 +0200 Subject: [PATCH 04/19] Update install --- scripts/install | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/install b/scripts/install index 9663058..5efff35 100644 --- a/scripts/install +++ b/scripts/install @@ -7,7 +7,6 @@ #================================================= source _common.sh -source ynh_send_readme_to_admin__2 source /usr/share/yunohost/helpers #================================================= From 6dc0b675c1365110dc91985bde2cd1c968d42935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sun, 9 Apr 2023 16:30:48 +0200 Subject: [PATCH 05/19] Update upgrade --- scripts/upgrade | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 6c494b2..2d740ae 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -7,7 +7,6 @@ #================================================= source _common.sh -source ynh_send_readme_to_admin__2 source /usr/share/yunohost/helpers #================================================= From 4955fa6f86d24046d1951a6c78693cc59f6a1693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Tue, 4 Jul 2023 20:49:26 +0200 Subject: [PATCH 06/19] Update nginx.conf --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 805c8a0..4fa77a5 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -6,7 +6,7 @@ location __PATH__/ { proxy_set_header Accept-Encoding ""; proxy_pass http://127.0.0.1:__PORT__; - proxy_set_header Host $http_host; + proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; From f92de368e9610219ef25320d0590e86f7b642493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Fri, 27 Oct 2023 16:53:33 +0200 Subject: [PATCH 07/19] Update manifest.toml --- manifest.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 0ba94fc..a46d02d 100644 --- a/manifest.toml +++ b/manifest.toml @@ -17,7 +17,7 @@ userdoc = "https://docs-beta.requarks.io/" code = "https://github.com/Requarks/wiki" [integration] -yunohost = ">= 11.1.17" +yunohost = ">= 11.2" architectures = "all" multi_instance = true ldap = true @@ -29,7 +29,6 @@ ram.runtime = "50M" [install] [install.domain] type = "domain" - full_domain = true [install.init_main_permission] type = "group" From d68de8c2f17a48fc546c35da43c16cdf3070ef64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 18 Nov 2023 18:23:52 +0100 Subject: [PATCH 08/19] cleaning --- check_process | 57 --------------------------------------------------- manifest.toml | 3 +++ 2 files changed, 3 insertions(+), 57 deletions(-) delete mode 100644 check_process diff --git a/check_process b/check_process deleted file mode 100644 index 2542ff1..0000000 --- a/check_process +++ /dev/null @@ -1,57 +0,0 @@ -;; Test complet - ; Manifest - domain="domain.tld" - is_public=1 - ; Checks - pkg_linter=1 - setup_sub_dir=1 - setup_root=1 - setup_nourl=0 - setup_private=1 - setup_public=1 - upgrade=1 - # 2.0.0-beta.303 - #upgrade=1 from_commit=62db8a96750dfd28880126d3eb9228d4d71f0814 - # 2.0.12 - #upgrade=1 from_commit=90fb1a7cb3db812a8b2558673d5f1f22b39becec - # 2.1.113 - #upgrade=1 from_commit=f9dd286ff1d662e4ece78364230fc2fddef721cd - # 2.2.51 - #upgrade=1 from_commit=1898f27765068f49de23e7ba66b1fc23571799dc - # 2.3.77 - #upgrade=1 from_commit=8c74d870a550e99db4b6cac0a695f3155b28b514 - # 2.3.81~ynh1 - #upgrade=1 from_commit=ddb3a60b6f0f8024169db5a79ea07a9ac936b290 - # 2.4.75~ynh1 - #upgrade=1 from_commit=164ef6bac3a65fe075850ec060edcd9c3249f83a - # 2.4.107~ynh1 - #upgrade=1 from_commit=ed3d16ea928155936ecf8753fcc6096a01971e6d - # 2.5.170~ynh2 - #upgrade=1 from_commit=6ee6878a94407749d768ee347f163904537dc945 - # 2.5.191~ynh1 - #upgrade=1 from_commit=f241d2586694d9aff19ae6d67209142faa8b25ca - # 2.5.197~ynh1 - #upgrade=1 from_commit=3c9ab32ee147ef1f39aff2773fc3be506164d873 - # 2.5.201~ynh1 - #upgrade=1 from_commit=bce2bfa3f9f0e28ffdde79df17a34bd5302559ea - # 2.5.201~ynh2 - #upgrade=1 from_commit=17ee20b13ba56babe0231b3f9bd87e9118908838 - # 2.5.201~ynh3 - #upgrade=1 from_commit=16d047d802582d0d6db6d0d7343bd1fc0fb2eebf - # 2.5.214~ynh1 - #upgrade=1 from_commit=078ffc6ade0df8efd2e035c25e36218c163d158d - # 2.5.219~ynh1 - upgrade=1 from_commit=8d478fadb941f2d8d4407f90cb3ae7e939ff8924 - # 2.5.219~ynh2 - upgrade=1 from_commit=b59ca572505eb6b4b4f29596100c68808ec143cd - # 2.5.268~ynh1 - upgrade=1 from_commit=de01b48bfee4abff5edcf2fd288d3ff930ccc45a - # 2.5.272~ynh1 - upgrade=1 from_commit=0721e06b03c1fa384adcade256b1d67c9462d61e - backup_restore=1 - multi_instance=1 - port_already_use=0 - change_url=1 -;;; Options -Email= -Notification=none diff --git a/manifest.toml b/manifest.toml index a46d02d..7b5d699 100644 --- a/manifest.toml +++ b/manifest.toml @@ -20,8 +20,11 @@ code = "https://github.com/Requarks/wiki" yunohost = ">= 11.2" architectures = "all" multi_instance = true + ldap = true + sso = false + disk = "50M" ram.build = "50M" ram.runtime = "50M" From 77d89319d4e4faba229ebe9a909235853b0cf372 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 18 Nov 2023 17:23:58 +0000 Subject: [PATCH 09/19] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9bc5474..b3d0e14 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Wiki.js is a copylefted libre software, modern and powerful wiki app built on No * Official app website: * Official user documentation: * Upstream app code repository: -* YunoHost documentation for this app: +* YunoHost Store: * Report a bug: ## Developer info diff --git a/README_fr.md b/README_fr.md index fd94a6b..81bd825 100644 --- a/README_fr.md +++ b/README_fr.md @@ -32,7 +32,7 @@ Wiki.js is a copylefted libre software, modern and powerful wiki app built on No * Site officiel de l’app : * Documentation officielle utilisateur : * Dépôt de code officiel de l’app : -* Documentation YunoHost pour cette app : +* YunoHost Store: * Signaler un bug : ## Informations pour les développeurs From 0925401fc451a5e61dec027fccc701fe1c64f426 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 18 Nov 2023 17:24:55 +0000 Subject: [PATCH 10/19] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 823e31a..b3d0e14 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Shipped version:** 2.5.300~ynh2 +**Shipped version:** 2.5.298~ynh1 **Demo:** https://docs-beta.requarks.io/ diff --git a/README_fr.md b/README_fr.md index 34577fa..81bd825 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Version incluse :** 2.5.300~ynh2 +**Version incluse :** 2.5.298~ynh1 **Démo :** https://docs-beta.requarks.io/ From 5e98689b8eb942f5df6c61141a427c75135e66fd Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Sat, 13 Jan 2024 08:31:07 +0000 Subject: [PATCH 11/19] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6ee066..b3d0e14 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Shipped version:** 2.5.300~ynh3 +**Shipped version:** 2.5.298~ynh1 **Demo:** https://docs-beta.requarks.io/ diff --git a/README_fr.md b/README_fr.md index 9631727..81bd825 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Version incluse :** 2.5.300~ynh3 +**Version incluse :** 2.5.298~ynh1 **Démo :** https://docs-beta.requarks.io/ From 798ebb2aa57fcae48476184f946d2dd0f584d285 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 13 Jan 2024 09:34:45 +0100 Subject: [PATCH 12/19] fix --- scripts/install | 28 ++++++++-------------------- scripts/remove | 22 ---------------------- scripts/restore | 8 -------- scripts/upgrade | 14 +------------- 4 files changed, 9 insertions(+), 63 deletions(-) diff --git a/scripts/install b/scripts/install index 5efff35..70ed8d8 100644 --- a/scripts/install +++ b/scripts/install @@ -50,13 +50,18 @@ chmod -R o-rwx "$install_dir" chown -R $app:$app "$install_dir" #================================================= -# NGINX CONFIGURATION +# SETUP SYSTEMD #================================================= -ynh_script_progression --message="Configuring NGINX web server..." +ynh_script_progression --message="Configuring a systemd service..." # Create a dedicated NGINX config ynh_add_nginx_config +# Create a dedicated systemd config +ynh_add_systemd_config + +yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" + #================================================= # SPECIFIC SETUP #================================================= @@ -71,28 +76,11 @@ yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikij #================================================= ynh_script_progression --message="Adding a configuration file..." -ynh_add_config --template="../conf/config.sample.yml" --destination="$install_dir/config.yml" +ynh_add_config --template="config.sample.yml" --destination="$install_dir/config.yml" chmod 400 "$install_dir/config.yml" chown $app:$app "$install_dir/config.yml" -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." - -# Create a dedicated systemd config -ynh_add_systemd_config - -#================================================= -# GENERIC FINALIZATION -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - -yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" - #================================================= # START SYSTEMD SERVICE #================================================= diff --git a/scripts/remove b/scripts/remove index 884d24d..91fc551 100644 --- a/scripts/remove +++ b/scripts/remove @@ -22,37 +22,15 @@ then yunohost service remove $app fi -#================================================= -# STOP AND REMOVE SERVICE -#================================================= -ynh_script_progression --message="Stopping and removing the systemd service..." - # Remove the dedicated systemd config ynh_remove_systemd_config -#================================================= -# REMOVE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." - # Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE DEPENDENCIES -#================================================= -ynh_script_progression --message="Removing dependencies..." - # Remove metapackage and its dependencies ynh_remove_nodejs -#================================================= -# SPECIFIC REMOVE -#================================================= -# REMOVE LDAP USER -#================================================= -ynh_script_progression --message="Removing LDAP user..." - yunohost user delete $ldap_user --purge #================================================= diff --git a/scripts/restore b/scripts/restore index 0dd5d0b..8d7b924 100644 --- a/scripts/restore +++ b/scripts/restore @@ -17,7 +17,6 @@ ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$install_dir" - chmod -R o-rwx "$install_dir" chown -R $app:$app "$install_dir" @@ -76,13 +75,6 @@ ynh_script_progression --message="Starting a systemd service..." ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" -#================================================= -# GENERIC FINALIZATION -#================================================= -# RELOAD NGINX -#================================================= -ynh_script_progression --message="Reloading NGINX web server..." - ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 7330eed..d5d8d55 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -38,17 +38,6 @@ if [[ -z "$ldap_user" ]]; then yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 fi - -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies - -#================================================= -# CREATE DEDICATED USER -#================================================= -#REMOVEME? ynh_script_progression --message="Making sure dedicated system user exists..." - -# Create a dedicated user (if not existing) -#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -81,7 +70,6 @@ then fi fi -chmod 750 "$install_dir" chmod -R o-rwx "$install_dir" chown -R $app:$app "$install_dir" @@ -108,7 +96,7 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Updating a configuration file..." -ynh_add_config --template="../conf/config.sample.yml" --destination="$install_dir/config.yml" +ynh_add_config --template="config.sample.yml" --destination="$install_dir/config.yml" chmod 400 "$install_dir/config.yml" chown $app:$app "$install_dir/config.yml" From 6eb006d8fb1527d27a013c6d2c4755824b92b327 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 13 Jan 2024 09:35:05 +0100 Subject: [PATCH 13/19] cleaning --- scripts/restore | 5 ----- scripts/upgrade | 22 +++++----------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/scripts/restore b/scripts/restore index 8d7b924..1fde7af 100644 --- a/scripts/restore +++ b/scripts/restore @@ -61,11 +61,6 @@ ynh_script_progression --message="Restoring the systemd configuration..." ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable $app.service --quiet -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index d5d8d55..fb22e13 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -89,6 +89,11 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated NGINX config ynh_add_nginx_config +# Create a dedicated systemd config +ynh_add_systemd_config + +yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" + #================================================= # SPECIFIC UPGRADE #================================================= @@ -101,23 +106,6 @@ ynh_add_config --template="config.sample.yml" --destination="$install_dir/config chmod 400 "$install_dir/config.yml" chown $app:$app "$install_dir/config.yml" -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Upgrading systemd configuration..." - -# Create a dedicated systemd config -ynh_add_systemd_config - -#================================================= -# GENERIC FINALIZATION -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." - -yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" - #================================================= # START SYSTEMD SERVICE #================================================= From 7dc02a0b02916234d6f1639ad055e9f8daf735d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Wed, 17 Jan 2024 23:04:37 +0100 Subject: [PATCH 14/19] Fix yunohost user create call --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/install b/scripts/install index 70ed8d8..341a064 100644 --- a/scripts/install +++ b/scripts/install @@ -69,7 +69,7 @@ yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/lo #================================================= ynh_script_progression --message="Creating LDAP user..." -yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 +yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 #================================================= # ADD A CONFIGURATION diff --git a/scripts/restore b/scripts/restore index 1fde7af..fb636d3 100644 --- a/scripts/restore +++ b/scripts/restore @@ -51,7 +51,7 @@ ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name" #================================================= ynh_script_progression --message="Creating LDAP user..." -yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 +yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 #================================================= # RESTORE SYSTEMD diff --git a/scripts/upgrade b/scripts/upgrade index fb22e13..5fdc6e9 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -35,7 +35,7 @@ if [[ -z "$ldap_user" ]]; then ldap_password=$(ynh_string_random --length=8) ynh_app_setting_set "$app" ldap_user "$ldap_user" ynh_app_setting_set "$app" ldap_password "$ldap_password" - yunohost user create $ldap_user --firstname "SvcWikijsLdap" --lastname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 + yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 fi #================================================= From 93e4839d7d7c263d54b84274b5c5df6afb122d52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Wed, 17 Jan 2024 23:51:14 +0100 Subject: [PATCH 15/19] Cleanup --- manifest.toml | 8 ++--- scripts/change_url | 2 +- scripts/install | 61 ++++++++++++++++-------------------- scripts/remove | 7 ++--- scripts/restore | 47 ++++++++++------------------ scripts/upgrade | 78 +++++++++++++++------------------------------- 6 files changed, 77 insertions(+), 126 deletions(-) diff --git a/manifest.toml b/manifest.toml index 7b5d699..6aaceb2 100644 --- a/manifest.toml +++ b/manifest.toml @@ -38,10 +38,10 @@ ram.runtime = "50M" default = "visitors" [resources] - [resources.sources.main] - url = "https://github.com/Requarks/wiki/releases/download/v2.5.298/wiki-js.tar.gz" - sha256 = "3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a" - in_subdir = false + [resources.sources.main] + url = "https://github.com/Requarks/wiki/releases/download/v2.5.298/wiki-js.tar.gz" + sha256 = "3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a" + in_subdir = false [resources.ports] diff --git a/scripts/change_url b/scripts/change_url index 40bd355..8123f1e 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -33,7 +33,7 @@ ynh_change_url_nginx_config ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" +ynh_systemd_action --service_name="$app" --action="start" --log_path=systemd --line_match="HTTP Server:" #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 341a064..cf1fa10 100644 --- a/scripts/install +++ b/scripts/install @@ -10,25 +10,21 @@ source _common.sh source /usr/share/yunohost/helpers #================================================= -# RETRIEVE ARGUMENTS FROM THE MANIFEST +# INITIALIZE AND STORE SETTINGS #================================================= ldap_user="svc_${app}_ldap" ldap_password=$(ynh_string_random --length=8) -#================================================= -# STORE SETTINGS FROM MANIFEST -#================================================= - -ynh_app_setting_set --app=$app --key=ldap_user --value=$ldap_user -ynh_app_setting_set --app=$app --key=ldap_password --value=$ldap_password +ynh_app_setting_set --app="$app" --key=ldap_user --value="$ldap_user" +ynh_app_setting_set --app="$app" --key=ldap_password --value="$ldap_password" #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." +ynh_script_progression --message="Installing NodeJS..." -ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version +ynh_exec_warn_less ynh_install_nodejs --nodejs_version="$nodejs_version" ynh_use_nodejs #================================================= @@ -47,29 +43,7 @@ ynh_script_progression --message="Setting up source files..." ynh_setup_source --dest_dir="$install_dir" chmod -R o-rwx "$install_dir" -chown -R $app:$app "$install_dir" - -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." - -# Create a dedicated NGINX config -ynh_add_nginx_config - -# Create a dedicated systemd config -ynh_add_systemd_config - -yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" - -#================================================= -# SPECIFIC SETUP -#================================================= -# CREATE LDAP USER -#================================================= -ynh_script_progression --message="Creating LDAP user..." - -yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 +chown -R "$app:$app" "$install_dir" #================================================= # ADD A CONFIGURATION @@ -79,7 +53,26 @@ ynh_script_progression --message="Adding a configuration file..." ynh_add_config --template="config.sample.yml" --destination="$install_dir/config.yml" chmod 400 "$install_dir/config.yml" -chown $app:$app "$install_dir/config.yml" +chown "$app:$app" "$install_dir/config.yml" + +#================================================= +# SYSTEM CONFIGURATION +#================================================= +ynh_script_progression --message="Adding system configurations related to $app..." --weight=1 + +# Create a dedicated NGINX config +ynh_add_nginx_config + +# Create a dedicated systemd config +ynh_add_systemd_config +yunohost service add "$app" --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" + +#================================================= +# CREATE LDAP USER +#================================================= +ynh_script_progression --message="Creating LDAP user..." + +yunohost user create "$ldap_user" --fullname "SvcWikijsLdap" --domain "$domain" --password "$ldap_password" -q 0 #================================================= # START SYSTEMD SERVICE @@ -87,7 +80,7 @@ chown $app:$app "$install_dir/config.yml" ynh_script_progression --message="Starting a systemd service..." # Start a systemd service -ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" +ynh_systemd_action --service_name="$app" --action="start" --log_path=systemd --line_match="HTTP Server:" #================================================= # END OF SCRIPT diff --git a/scripts/remove b/scripts/remove index 91fc551..6d2a91b 100644 --- a/scripts/remove +++ b/scripts/remove @@ -16,10 +16,9 @@ source /usr/share/yunohost/helpers #================================================= # Remove the service from the list of services known by YunoHost (added from `yunohost service add`) -if ynh_exec_warn_less yunohost service status $app >/dev/null -then - ynh_script_progression --message="Removing $app service integration..." - yunohost service remove $app +if ynh_exec_warn_less yunohost service status $app >/dev/null; then + ynh_script_progression --message="Removing $app service integration..." + yunohost service remove "$app" fi # Remove the dedicated systemd config diff --git a/scripts/restore b/scripts/restore index fb636d3..2d6a1d9 100644 --- a/scripts/restore +++ b/scripts/restore @@ -10,6 +10,15 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Reinstalling NodeJS..." + +# Define and install dependencies +ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version +ynh_use_nodejs + #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -18,25 +27,7 @@ ynh_script_progression --message="Restoring the app main directory..." ynh_restore_file --origin_path="$install_dir" chmod -R o-rwx "$install_dir" -chown -R $app:$app "$install_dir" - -#================================================= -# SPECIFIC RESTORATION -#================================================= -# REINSTALL DEPENDENCIES -#================================================= -ynh_script_progression --message="Reinstalling dependencies..." - -# Define and install dependencies -ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version -ynh_use_nodejs - -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the NGINX web server configuration..." - -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +chown -R "$app:$app" "$install_dir" #================================================= # RESTORE THE POSTGRESQL DATABASE @@ -47,28 +38,24 @@ ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --datab ynh_psql_execute_file_as_root --file="./db.sql" --database="$db_name" #================================================= -# CREATE LDAP USER +# RESTORE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Creating LDAP user..." +ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 -yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 - -#================================================= -# RESTORE SYSTEMD -#================================================= -ynh_script_progression --message="Restoring the systemd configuration..." +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file --origin_path="/etc/systemd/system/$app.service" -systemctl enable $app.service --quiet +systemctl enable "$app.service" --quiet +yunohost service add "$app" --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" -yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" +yunohost user create "$ldap_user" --fullname "SvcWikijsLdap" --domain "$domain" --password "$ldap_password" -q 0 #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." -ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" +ynh_systemd_action --service_name="$app" --action="start" --log_path=systemd --line_match="HTTP Server:" ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/upgrade b/scripts/upgrade index 5fdc6e9..6a8e0c3 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -30,49 +30,14 @@ ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd ynh_script_progression --message="Ensuring downward compatibility..." # If ldap_user doesn't exist, retrieve it or create it -if [[ -z "$ldap_user" ]]; then - ldap_user="svc_${app}_ldap" - ldap_password=$(ynh_string_random --length=8) - ynh_app_setting_set "$app" ldap_user "$ldap_user" - ynh_app_setting_set "$app" ldap_password "$ldap_password" - yunohost user create $ldap_user --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 +if [[ -z "${ldap_user:-}" ]]; then + ldap_user="svc_${app}_ldap" + ldap_password=$(ynh_string_random --length=8) + ynh_app_setting_set "$app" ldap_user "$ldap_user" + ynh_app_setting_set "$app" ldap_password "$ldap_password" + yunohost user create "$ldap_user" --fullname "SvcWikijsLdap" --domain $domain --password $ldap_password -q 0 fi -#================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE -#================================================= - -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - ynh_script_progression --message="Upgrading source files..." - - config_file="$install_dir/config.yml" - tmpdir="$(mktemp -d)" - - rsync -a "$config_file" "$tmpdir/." - if [ -d "$install_dir/.ssh" ]; then - rsync -a "$install_dir/.ssh" "$tmpdir/." - fi - if [ -d "$install_dir/data" ]; then - rsync -a "$install_dir/data" "$tmpdir/." - fi - ynh_secure_remove --file="$install_dir" - - # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" - - rsync -a "$tmpdir/config.yml" "$install_dir/." - if [ -d "$tmpdir/.ssh" ]; then - rsync -a "$tmpdir/.ssh" "$install_dir/." - fi - if [ -d "$tmpdir/data" ]; then - rsync -a "$tmpdir/data" "$install_dir/." - fi -fi - -chmod -R o-rwx "$install_dir" -chown -R $app:$app "$install_dir" - #================================================= # UPGRADE DEPENDENCIES #================================================= @@ -82,20 +47,15 @@ ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version ynh_use_nodejs #================================================= -# NGINX CONFIGURATION +# DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." +ynh_script_progression --message="Upgrading source files..." -# Create a dedicated NGINX config -ynh_add_nginx_config +ynh_setup_source --dest_dir="$install_dir" --full_replace=1 --keep="config.yml .ssh data" -# Create a dedicated systemd config -ynh_add_systemd_config +chmod -R o-rwx "$install_dir" +chown -R "$app:$app" "$install_dir" -yunohost service add $app --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" - -#================================================= -# SPECIFIC UPGRADE #================================================= # UPDATE A CONFIG FILE #================================================= @@ -104,14 +64,26 @@ ynh_script_progression --message="Updating a configuration file..." ynh_add_config --template="config.sample.yml" --destination="$install_dir/config.yml" chmod 400 "$install_dir/config.yml" -chown $app:$app "$install_dir/config.yml" +chown "$app:$app" "$install_dir/config.yml" + +#================================================= +# REAPPLY SYSTEM CONFIGURATIONS +#================================================= +ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 + +# Create a dedicated NGINX config +ynh_add_nginx_config + +# Create a dedicated systemd config +ynh_add_systemd_config +yunohost service add "$app" --description="$app daemon for Wiki.js" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= ynh_script_progression --message="Starting a systemd service..." -ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="HTTP Server:" +ynh_systemd_action --service_name="$app" --action="start" --log_path=systemd --line_match="HTTP Server:" #================================================= # END OF SCRIPT From 697f01aa8815f32b937fc236acc220c6866a10c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 18 Jan 2024 00:25:16 +0100 Subject: [PATCH 16/19] Add autoupdate, add toml schemas --- manifest.toml | 7 ++++++- tests.toml | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 6aaceb2..ec5c7b8 100644 --- a/manifest.toml +++ b/manifest.toml @@ -1,3 +1,5 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json + packaging_format = 2 id = "wikijs" @@ -5,7 +7,7 @@ name = "Wiki.js" description.en = "Open source powerful wiki app built on Node.js, Git and Markdown" description.fr = "Wiki open source propulsé par Node.js, Git et Markdown" -version = "2.5.298~ynh1" +version = "2.5.298~ynh2" maintainers = ["yalh76"] @@ -43,6 +45,9 @@ ram.runtime = "50M" sha256 = "3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a" in_subdir = false + autoupdate.strategy = "latest_github_release" + autoupdate.asset = "wiki-js.tar.gz" + [resources.ports] [resources.system_user] diff --git a/tests.toml b/tests.toml index 91daf17..953b195 100644 --- a/tests.toml +++ b/tests.toml @@ -1,7 +1,9 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/tests.v1.schema.json + test_format = 1.0 [default] # ------------ # Tests to run - # ------------ \ No newline at end of file + # ------------ From 4ecfcb29b70346f5674516b7602ac8a4a42b02a5 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Wed, 17 Jan 2024 23:25:37 +0000 Subject: [PATCH 17/19] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b3d0e14..d092e30 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Shipped version:** 2.5.298~ynh1 +**Shipped version:** 2.5.298~ynh2 **Demo:** https://docs-beta.requarks.io/ diff --git a/README_fr.md b/README_fr.md index 81bd825..ad2f982 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Version incluse :** 2.5.298~ynh1 +**Version incluse :** 2.5.298~ynh2 **Démo :** https://docs-beta.requarks.io/ From 186289f425c1308e1442c9a02b08407010003341 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 18 Jan 2024 00:33:32 +0100 Subject: [PATCH 18/19] Bump version from master --- manifest.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/manifest.toml b/manifest.toml index ec5c7b8..e0ebd3a 100644 --- a/manifest.toml +++ b/manifest.toml @@ -7,7 +7,7 @@ name = "Wiki.js" description.en = "Open source powerful wiki app built on Node.js, Git and Markdown" description.fr = "Wiki open source propulsé par Node.js, Git et Markdown" -version = "2.5.298~ynh2" +version = "2.5.300~ynh4" maintainers = ["yalh76"] @@ -41,8 +41,9 @@ ram.runtime = "50M" [resources] [resources.sources.main] - url = "https://github.com/Requarks/wiki/releases/download/v2.5.298/wiki-js.tar.gz" - sha256 = "3bb290d77e3387dba5958c906629a6c5f751c17787903f1a021cbfa51cc88f1a" + url = "https://github.com/Requarks/wiki/releases/download/v2.5.300/wiki-js.tar.gz" + sha256 = "0b272ada8781f2fd3656d13928fb34f7ebb366abc66c9447f89e183c3628fb26" + in_subdir = false autoupdate.strategy = "latest_github_release" From 271f789dab8d7946600f0046644ec2202380469f Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Wed, 17 Jan 2024 23:33:53 +0000 Subject: [PATCH 19/19] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d092e30..f5682a8 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Shipped version:** 2.5.298~ynh2 +**Shipped version:** 2.5.300~ynh4 **Demo:** https://docs-beta.requarks.io/ diff --git a/README_fr.md b/README_fr.md index ad2f982..27d40ba 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,7 +19,7 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Wiki.js is a copylefted libre software, modern and powerful wiki app built on Node.js, Git and Markdown for YunoHost. -**Version incluse :** 2.5.298~ynh2 +**Version incluse :** 2.5.300~ynh4 **Démo :** https://docs-beta.requarks.io/