From 5b3fac7a9b7a5933596952d9628d0a99c6e3e51f Mon Sep 17 00:00:00 2001 From: Josh Cox Date: Wed, 22 Mar 2017 13:56:31 -0500 Subject: [PATCH] Added redmine --- templates/redmine/0/docker-compose.yml | 46 ++++++++++++++++++++++ templates/redmine/0/rancher-compose.yml | 30 ++++++++++++++ templates/redmine/1/docker-compose.yml | 46 ++++++++++++++++++++++ templates/redmine/1/rancher-compose.yml | 31 +++++++++++++++ templates/redmine/README.md | 8 ++++ templates/redmine/catalogIcon-redmine.png | Bin 0 -> 31796 bytes templates/redmine/config.yml | 5 +++ 7 files changed, 166 insertions(+) create mode 100644 templates/redmine/0/docker-compose.yml create mode 100644 templates/redmine/0/rancher-compose.yml create mode 100644 templates/redmine/1/docker-compose.yml create mode 100644 templates/redmine/1/rancher-compose.yml create mode 100644 templates/redmine/README.md create mode 100644 templates/redmine/catalogIcon-redmine.png create mode 100644 templates/redmine/config.yml diff --git a/templates/redmine/0/docker-compose.yml b/templates/redmine/0/docker-compose.yml new file mode 100644 index 0000000..d09199b --- /dev/null +++ b/templates/redmine/0/docker-compose.yml @@ -0,0 +1,46 @@ +version: '2' + +services: + redmine-datavolume: + image: "busybox" + volumes: + - /home/redmine/data + - /var/lib/mysql + - /var/log/redmine + labels: + io.rancher.container.start_once: true + entrypoint: ["/bin/true"] + + db: + restart: always + image: mariadb + volumes_from: + - redmine-datavolume + labels: + io.rancher.sidekicks: redmine-datavolume + io.rancher.container.pull_image: always + environment: + - MYSQL_USER=redmine + - MYSQL_PASSWORD=${DB_PASS} + - MYSQL_ROOT_PASSWORD=${DB_PASS} + - MYSQL_DATABASE=redmine_production + + redmine: + image: sameersbn/redmine:3.3.2-1 + labels: + io.rancher.sidekicks: db,redmine-datavolume + io.rancher.container.hostname_override: container_name + io.rancher.container.pull_image: always + environment: + - PORT=${PORT} + - TZ=${TZ} + - DB_PASS=${DB_PASS} + - DB_ADAPTER=mysql2 + - DB_HOST=db + - DB_USER=redmine + - DB_NAME=redmine_production + - REDMINE_SECRET_TOKEN=${REDMINE_SECRET_TOKEN} + - SMTP_ENABLED=false + - IMAP_ENABLED=false + volumes_from: + - redmine-datavolume diff --git a/templates/redmine/0/rancher-compose.yml b/templates/redmine/0/rancher-compose.yml new file mode 100644 index 0000000..88ebd9f --- /dev/null +++ b/templates/redmine/0/rancher-compose.yml @@ -0,0 +1,30 @@ +version: '2' +catalog: + name: Redmine + version: 0.1.0 + description: | + Redmine + questions: + - variable: "TZ" + description: "Timezone to use for the server" + label: "Timezone" + required: true + default: "America/Chicago" + type: "string" + - variable: "DB_PASS" + description: "Database Password to use for the server" + label: "DB Password" + required: true + default: "" + type: password + - variable: "REDMINE_SECRET_TOKEN" + description: "REDMINE_SECRET_TOKEN" + label: "REDMINE_SECRET_TOKEN" + required: true + default: "" + type: "password" + +services: + redmine: + scale: 1 + retain_ip: true diff --git a/templates/redmine/1/docker-compose.yml b/templates/redmine/1/docker-compose.yml new file mode 100644 index 0000000..d09199b --- /dev/null +++ b/templates/redmine/1/docker-compose.yml @@ -0,0 +1,46 @@ +version: '2' + +services: + redmine-datavolume: + image: "busybox" + volumes: + - /home/redmine/data + - /var/lib/mysql + - /var/log/redmine + labels: + io.rancher.container.start_once: true + entrypoint: ["/bin/true"] + + db: + restart: always + image: mariadb + volumes_from: + - redmine-datavolume + labels: + io.rancher.sidekicks: redmine-datavolume + io.rancher.container.pull_image: always + environment: + - MYSQL_USER=redmine + - MYSQL_PASSWORD=${DB_PASS} + - MYSQL_ROOT_PASSWORD=${DB_PASS} + - MYSQL_DATABASE=redmine_production + + redmine: + image: sameersbn/redmine:3.3.2-1 + labels: + io.rancher.sidekicks: db,redmine-datavolume + io.rancher.container.hostname_override: container_name + io.rancher.container.pull_image: always + environment: + - PORT=${PORT} + - TZ=${TZ} + - DB_PASS=${DB_PASS} + - DB_ADAPTER=mysql2 + - DB_HOST=db + - DB_USER=redmine + - DB_NAME=redmine_production + - REDMINE_SECRET_TOKEN=${REDMINE_SECRET_TOKEN} + - SMTP_ENABLED=false + - IMAP_ENABLED=false + volumes_from: + - redmine-datavolume diff --git a/templates/redmine/1/rancher-compose.yml b/templates/redmine/1/rancher-compose.yml new file mode 100644 index 0000000..856608f --- /dev/null +++ b/templates/redmine/1/rancher-compose.yml @@ -0,0 +1,31 @@ +version: '2' +catalog: + name: Redmine + version: 0.1.1 + upgrade_from: 0.1.0 + description: | + Redmine + questions: + - variable: "TZ" + description: "Timezone to use for the server" + label: "Timezone" + required: true + default: "America/Chicago" + type: "string" + - variable: "DB_PASS" + description: "Database Password to use for the server" + label: "DB Password" + required: true + default: "password123" + type: string + - variable: "REDMINE_SECRET_TOKEN" + description: "REDMINE_SECRET_TOKEN" + label: "REDMINE_SECRET_TOKEN" + required: true + default: "REALLYlongrandomhashkjekkckksixci" + type: "string" + +services: + redmine: + scale: 1 + retain_ip: true diff --git a/templates/redmine/README.md b/templates/redmine/README.md new file mode 100644 index 0000000..da736ae --- /dev/null +++ b/templates/redmine/README.md @@ -0,0 +1,8 @@ +[Redmine](https://www.redmine.org/) + +Redmine is a flexible project management web application. Written using +the Ruby on Rails framework, it is cross-platform and cross-database. + +This rancher template should get you a redmine container up and running +to test. To see other implementations, including postgres, and using convoy for persistent data see +the catalog [here](https://github.com/webhostingcoopteam/whc-catalog) diff --git a/templates/redmine/catalogIcon-redmine.png b/templates/redmine/catalogIcon-redmine.png new file mode 100644 index 0000000000000000000000000000000000000000..e962805b2f295813ac32120801c247bdc27d7533 GIT binary patch literal 31796 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

RH5de8+~@)(u*NVV*%LAP`<_X&;H z=p&xX1&zF|5W&UOb#Ehv;X>2hu5_WM_a}p2?9U~A4B2u`!#309eY)d!2%(U00q&8` zB;o-$E5|&)_*W>hWMX2%kgLQD@jJ2k6kfm9mz_!+JWHkQImH``@y&FU`SJbRx4#l7 zjcoMeSlRQaqg&U~RQX`5Z@5cK1YVo)+uoaGqHT>9Nkw`rDfRUd!}w;o79pt^Y=4dT zDr_vEN^}C637+nS_`jvH4F+TH+*CDtJG2b!QU3EpwFMSSc`^KUwfJf*XNNN6eg~lm zrqXQLKg4pk$Ib9cYKHy9wj?we6V#z>WO*+Obgm!g|Ai~?@b@iL6Uiql{)6YI?XLk- zepG5nJK$q4#V&b)r`mXQf|3&|axPYrCOu{+KjsWn3AVq?IVGF2>Wx@Nn0!4UG~dZW zGVkMOu18rkS~Kcf&YeDwPa%0gUZ}MY6))z1!59R4m3!>(AUm_V9HUq3ov+|?L~+b* zvVBqC_U#|M-b(kF$e&giv9%aQCCyFJ&jdnE(K{R8uWO?xQo0=5uN)Ir`PcW4NK{sl z>0ofIgHMPD;5l?=A@ndj#-^f(~ZGAAkZaXQwb;26Oz-<$;%t2mTi!{ ze9`d|cuIxq$h!;ayUt=>Sv2^&Tl>~y`ZOCy5^1=9eReq7GJANStnVaJgz&qp&Y|T^ zxlW%DqrHw!>Atbe(C&eOfg!@Gr^DO*j$$WKIp4o2- z9TwV)Z2zziE00nRSEc)&-vd=aB)T>Q{S7=o0(N*U6&aJmU*^DUx3FPq`KZ?mR;7H; zE;OF?Nydk_2W7@v9upcFXir^uQ?&_wiv<`?V_dz12=vmoqnG++wJ z7z$mcF`@U7e5Yyr18NDV_HbLwyG6W33{#lpsdM{I+hR>veRz824CagNm3ATAuPkLh zh4=?{0O0XRJgEM~k2-?M8otLFLOb-ZLy?rOVI<88Gt_lub$tjN%H*QV-VqVz?W~K& zZfI@wljTrN5~;}cDR(*u?BBnHqicDz{(T;*o~|0WeiQ81l+!#k96E@Gou=b``Anq4 zn;2{aL+?$uQ|DzR{dpI=0Zh1n-SxkBG#!OauJV{5e0->q?J03So|5u8l*>Q+A^GioIc?B*Z?FJ&7TR*J8hX7{YqkH)R>w;K?{9ENXQzm^tC-BJbf zh|a-HRDbeo(+xF;2e@L(M^aqL0s?FG>$QohDP8m=N*RlNRDl>p)yvaj^!>8GrCT&X zxI5?UO>h5*h-0`sx9*$k7o!Jq@&Z9gMIgrV_ncjs{6KZEOYpdN2UNIuvFwMs#)vK^ zi%u{L<*)8$wd^#owcPYsjs8qLKBs-)Bkpm>sKfrvI%iuzk`rIUpWnZKA1GaT?CW~xHDw-zoK%s_q4HA}Pd>4f^O!Bjq!G7G^-!G%{rtN5oQk|+Oy*>9(&ABhD zH=0#3?FaiVU8I>&TvZuYmt%#Gi_4M-6q;7|agy@L4XXNWBz!O8SOOBI+4-GLtL5)` znWwYM@!Q|<<}~#7Rli4dp|zJIA1wA}7LG8+-J*6Nx40M~vz0oeG3_91#u)7og~04F3omJ%=ZKHyB`1!I+7anZ@g782GRJwNN$f5P|~ z8Cx6{robj%xIo@5MtqcnEz5~2Fe>cZORPVC@ggF2sU3(uq0oWM4oRx&?|ov}rrw|) z>IqlNUnPh1HgUS&iuWFQ!vr#_Ju-H zxfY_V;1VmR(@t2MPgZiOTM4+j<`U}KVte_ymK5TFE@t+iV8_?W?D*%;pOt@}{Hc36 z>1;8oi^n`b!UI2uyD>n=Eb=C$UY?#Bw`<@!h?3YPYSi>~JPAH$3VjeN|W zk3v-ecIWe{Z6 zSys1X5E{oDi4702m7u?oNH5UNXly~F%JJDlOBsa@Ek#a^7Cm?}#zaAu%p4U}V*N&z ztWV71JIvkK=QtDCmS0)vCy8lu{_>SUP-8K8y4@|>`usJkoutL!=I!tZo2A5>yEw*Y z>%g0Z(fFm($5SW8a$dgvbWij1=g&JX8^A^SWym$@!6jNAN9LIGFI6%aV!kME@!!+c z)m4RA7s0Qc6-;_v}101A!1Br8yg85d{u zP(2IdrWfPta31w$jL=@LJ5-9qLQj}%>kKY+Rj(CLA*T8pBzng6k#&_AUrE$-0{Yt1 z1-T4tA+3FKfb&UZkRsoQr4dt29xwRTH9N{+?Y+FbK9d`D0ifW9ruO%j7Zw&OZf1K- zbmA_3$InH8rx_rFi!d^m@oI9p{azi!7i@!{KFi-hkbbSNKOsHU1n@@`Kbejmf7b3k zOeRZ3P8%OjS$ZC(VW3!adi zF%kS^JLRyK%4MVw8{F^91ZwEjXs;$F$eiBR5I#?9(rpNshJGY`;%S|}C|Vc6zV!qW z%g)h_)=*FDUrg>sRrZ(dzHnFAug3h9gUk?e`_!bYQ4Z^T&3JI8-0YV zT7OTev0^`}vc$J;()u+}0x#Z+{0BSaqky<#%h^&z3~K@RI%GTxMEME5;`r#p66wGY zqYYL-6+YkB+S)onvlCCChNY6lAft0Q8t*}7l|SwSPN%tdkxYks zGuw2YsMZrORq^yK$8Tm?=U5j~n1-hM&T9{e=3-A4U zjtb%ARm)MZ;EZ|#Nd<#lpQhzA-2z9akBTw!QPp{5u>gRTh>qgXv-sir0}U6m3vP!G z4-Lt>Ol;SnmrggPDLi6IL>Bu|xy%)2WMo|9;^y|HipHNFudAxs;tA@PB5E~v1#iy+ z+@GD7Kvx1~O;1lh*%G_)`$0TV#tAfYAnQRGeX5P?7- zxpvnYi4h;UyQ|S};8VGNtg{$fTe+$SLs~BugA0b%C#hzbJAKYm(+7k)EhsPh?|lI) zvTaVQg)pnGs>;^T{`lJh8e3+>ILbUa-BC^W^dOqmh6n4Vs0Ry7TCKmGu3T8GGUStW z8;==h`fMqsq!h#qTef%dN-;UoHmmvc>F{Y&Q{qn?7hlC;Oi*D$js&0mNQKp*91E&RDSq!}PQ+TY5(P8Y_m;7$30K?|}QHq8@m z2>SUR!s-zkTh)BOrA)jhL*R7=NRo!tdWtML;X@p;Q8@DJ!AQ>HlFFb~6l~z)`w@H;o$k`30w)WB>s=BJ=O^D{RIZ9M-7_@okKpZGruD|Y_5AUD$z7p= z=#$k0)W{vt(=#hz_avW}u-uFgyk83#L*|LZAqh1FtOOx`{G7Q zAwdw~J~Eq)_gZ7wF;><&M+LAgSTu7~P%3sYdih_#94-Y+R7(mASufdGNfzZUX|tv8 zegpd+DJFGmdwXx$e;n+Gnx&uk3v5#;U(+4vFYEoNZ=oCt#5kEQt*nGh228yO*w~nv znK2j$x_xT({blI2Qj*`<$bs~Lo(hv6?g~V|?yNi>#^@Z|CIF)U*2+8wxs<3>w>rp-8ySP{7HM zXlQ8Qs3*7YMj-Fry<0V_Et#WGFusGE>w0rx_cEs-&jChV zDZkS1Bv&k;oc)EqNql(`PD)Pr1V$H!_NVPt0O>I<_w@QT&+PQU4^9@@1x$m3K{e4D-$N zh+0b_laJmc<++c!O7`@dNlt&(!Hu}~S%OLT#tpo>BWf*F2jMW729N(AGJT4zDi1~s zv-!BnpR;~4vGDoxXT8e{+uPgxOW=YiOHkSsjmN3R&QxXb`XvO!V3WJ&eI*grLlYAX z8EAh2EmmXo)B?lk1s()K@w909OL{@iA$DUdXSvTa>;^?`Bf(d>_nGrew|}I`=6@d+ zDE^q0yjefbXa z4c`}9VD-=)HJa!%!P${*+Lnwhv;JWF*$BI5i<(k-Q*JJ98oJj|QC$4UaBBHb53RSK zAVaQ-N_+9zzFbKJ+y$CJ*Q*kXCTuJ(!wb!*dn)`ls___=cis7i1@GUl%_xz;P2ppL zTVHBxL7JU8;oKJXn;!ox!R#f2=F>Ay*lvLZ7BkULY@|baw&y#_aLp_AJ%ZLptbDnk z>`2QpjLa2&|4Go)(FYvzFv*g15cQnp;j-8SF=s1NfLER=TRn@x+9Z=z_nRcqUv-0& z5E2fQM@y7euY(NJ6(~)oiG|1TQ5}Yq?B%s$?7NG(|+emGE?NL2p8P7e5nU7M8i0 zgL(RAPHBtZKwPbVKQ}=A`Aac;H+NjsrL>+Ky~gq{(EfYSxPB%qz-FwM3Rx^+eD=M0 zyp|hE!uUI&Y^RfCBUp_w<2(G&`7}4-X#2XvSa~VGH-Wn9U5+w1(5&**`{IW)rN?~7 zdu35aa*?i$94}VO-xkZCU`R%`=UV^juPPuA4yH?}g^FD>Jcgp2BpCt@*yAqhl)HxaPe)*xEzS2>LS+_i>Zdx?hORLO7$;CqgQ$0a641kvgs;SFCC2 zq4Wz`>j^OfwNtjtL)nZP+-N~A#^*sx)A*v&b8Z76`WJ6{All=sD<1mW@uI$ z!7(3|>n?6x@2}WXp)i`tW-KnhkJdMZimJZOM*lBfVxtX~ie9%NEdV6r62niTPs`ez z=WtLnUS3<1U>%&R_a#vRi*;(|{;0YsLLxGVO+CaP{y8P)_jJ^<;^M+cze~OrUX0#JZ(!gqgfFC}gYlh>#};zI}%F zFKjPp9~;$%ESt(Rv1%%4LR5%8COM#R*%iX)XK$IsY#UP)1ST%b2ph8csmK{AbNzYx?DZ;7z7n0=ITuu zaI?oE;t0&x6ptW6UE#L2-GYR_XBODH+RtV_c=|hLZ}Z-jDm$yd-C9=Tk(H*@f$!hH zM_2jjc<~rt-tKsA_xGPJM+E5F?TBF&8~ZP`Brn!a&(^PtLRtUrKdBpj$dUgC>--Xe zcq&f5BLEX}i9Uua(FGtk{uaa56_B}ZDw|l-X(Fn!N2osAX!W12uR+AmtNS7^{@c+J z_S)f`l|Oz>B+XgThaZ_kK?r2Zt_X})caQfIy$X4#pW>tE@I=dxdWmzvhTfVRaMmucnFUOSG9*C zjo#MQRxjO$hn?&%UIKXtuuuh1RvR(5?5<)Bm6B{}B-Zd2-X#8u!p^zaHcDQyaPqxR zqBxesR@%QnpI;4uQurMHgBl2o)}+NiLwCnb_9{2=ch=(_H~!x37>`su zu?uO4RXYAIZquZ8C*LMb#k1Yfh*<&C>6680jAZ*kmABBpfe;1c==Xtv87cA^sJg`2 zrp{^|*6EX@9i&98e(j`=n%F)K6s*tiyKluM&&M~M8?=HRBPw5F*)b-uXs;s{^wL&P zL9!#!4SS|<7+t{-E7tu?@O+gXpVG_!FB4vV6CyaKa-2m>4Z=^bP<1Z4D%GNuKeorqI=55$e#P3 zi8L^VU!iLK4TRC~B(23dX}Hcc#tm)4Y9F9SPR)3?jd_2=M`iiH8CtduBWa##aYrQ; z;FzJa4#N%h3$o}Xe*HhX=%sOl5EY36YxP@DfzLY_Utl#JzG>Mko5hC7bWOqJ<`c8k?FyCkP zEwhmxeGE0qsi}pTB&>d1{bx&kz3zGGSmDH6)c?Ru6t;@sfGqY&e1rr-&uO^*TY$=M zud3wjRlFx?!M9vF)^2cLN3c6>ChLan1)Y06WW@k`beBd@=yd}#BDloe!tTL1Q{H?} z+F0w=oBLs@b*#j{%rfH%o!F^XOtsLVvNV zd?r^Fysa&(sWA(jwUQ?u_#%8h4IR7eqZSND>%4UMK8W|+K%~<~rlFUb)9dt+%l-iY z>KZurZ;K6&ttql-gV*iI&=10OEdTGy& zjmBWI!bO~K`C@^fP`yw}*PVC4Re;yJJ5cgWGv-?{I?1S93UFMsI~S~}WH-#-t~(a| zs9yUnT8MZfJ9_{+_8gy3V-=`;$}}@GlM*>yTO2>C<>25j9R6+%W4hlkpfk!l3c~tk>eROmp?VrEZW3uo{1|nCi!;kDH3F z3Jb06Yn%rzjCb<`xfN^UgM;~7CY)e$KM)eI$p#`R#-ioV&)jr&UNjisj3$OX0t?8K zp-%*w5+`LUcV=n&XC@v~R}>tJ{{7azfb#UQ9Fh^#4pCi{oR(3QGEk7l7RFCxf3>Mw)3MD5=Ff?^=3^ znY4u7{8RAdqdd5$#ix)hnA2XiJ1-l#UJ`*xEUEak7#uR- zgkwegscjO$OL!P_V0RT^P8`R5KqRB<1KdF+ay5}n_UX_cUt+x2KFN~lEj3|;L#on~ zZPl8$Q~6wru3URWvGY4Vq57*hcLSAdf}S-{-;x9T{V^lDOKWReu}iPfx1Sh!GV^v# z*7+%d9dz{p>e;PlCdjMaN}y2{E59v-^IMgA_(0O3kyqb?9%tcTC2QA zx^R3_&%E#WKgH5{)-UJ<7tF@fSLO2cOep+F{{YK&HaQK!rpny zS+ygCOL3nd)NqcZ8zZy%j2nXz2a=PDPIJqq#j`b1aVu&=xiud9OEO!a3v}*t_pzp& z1w!QKr`|%}pc#7vy8TCWxY#Bx`ZN?cYG?IQid;3&0PkC0T2eAH3mh%A7@|6m!|mE6 zIl0e+nXhHo^S?E5A-6`h6IT!t&RO$V@ zg$D0~Gj8VnQu(*G_UQ*8ryu>ZTF);_x`hxOa|ud`Se-we5cw4Rd7TAe zQyvzh5hI>Kt2sY^+O5&PJ}HAb>H}9I6y@X)IoiOzplf_il%Z7!r~0(E#Yja(MInH9 zQ3&;rdS(^4Tbv7rmMeB|ro8vp4m-A!;O*Nd0#K6RvvdG1nvj6mjMuQqB?vJ1HbzawXi|WijZ@r zUM$d@_Q}dEG%2o{C0mb8C80mw@ExX}OI}I6-%;k2z8FU&6HpX#{H+z|>OCzfxpPXDyq&vN-zQ57 z8XESMm*maSXwRgxWbBEcm^7D_rg!NfzhFh+_(=lAsXp&Y!uXz%CB47uyfCoQ$^C8F zzXUWb7O%IiMAnJD?=@IiTH+kTG{|d}3<8Na&$=xAV)(PqMl7#a&ZY+oK$a8~=CM^j zXpRg$92N@sIxVyifxx$F2KeIYKj9IILMrE57@>kGvl@B>;v0}Y`R5UPW; z>@-R|A&LZ`hbn6$mDfdcsnSjWJjjJBsG}+{Fr&C~O8BuqBG=QZ%4HB&Wc9%fjr?5A z5}AABz6g#Xeb+qNEAHdDL7i%kMIi5SoQ+uoz}{30-=z|VPI6qJa7hr=WaFzF6JnN#8XitWJL+P9ZkgVIDZl9=&YDqmg&_ zJE_fkvQ6m!&@A1koQ^>o00|z})R%D+K>@*+$~qe&*yctA3qrDLDPsG8AW z@PbSI(85De+>pn_6CL_;?iSDMcYX`tF{!BH9W8r{(II4vs@VU;^pT3v2Q`zvwdsL+y6$r#WU>g9^x!_d!gKDC>=F~qzI9XPH z$s>*Qx>BZBU5*%!iDb5y>mLI|Q5wxwst{P?598HqJm@8yJgHSCi(w`(qe36M>(l8& z5W+nGBGql+*js}%x`~}&nI-Mll>J(@^S!wvH#)gC_99t@T8Z_$zQXw7Tq{7REZs+{ z8zMZ2jq$9roFocM=Q!nq1wFVwaA;NKH}@B!7h8-W9nc}_2%)hi?_Q!G(|N1GtbzZ- zi+BdK>_y7NgD`~84|X1t?g^>`72IJl)MvZ!;#@4E*<^*~^O=9sK2-ZKgMuaNU%mv~ zm0m))+d|JbTeZHsZz>(90XEPZ+VR1c6Xa2Js3zW)+eve!-n@$vB#Mm={OEQ~q?L&n zyM4QX44EVxr+Jsqv=|H=IEF&k9$m!A$&#}5F6~hroM{n)x&YltKY1oBju|z5wj~&` z=>}1#l~_XNc%di8{pM@FdT<+^wvO|WZ(E-Id??tK0ud0=KFl+cfH1VK;w?x5jCh1J zS=o5(6c3_C+Ar5+1r8~mGp5r{AV=yvYaDnPltW>}Z9I62Hn3mN4I@S9z_&Ofuc30H zST{O~?)nQNit_Ha^dUBRP){PU5zoKzS}4A3+)4yW$_1*Wzs`m<-UTMEd1Yl@EfuBC zPlvu$bOg6JQ{}x%nF?ro26J)-4gzp5NTdD<4;+KG%c21%xN|_INa=dRv6aoP?Z}$F zE(30_|elb~zC;KrPULIoFic{6bWQbcMro*dT+Wi|xjtITSHS za`x3tR8A|A0vlX~ju41u#)bKTP(6ewF-Ki>B~v;7B2G-Yt2KR>N@!0a@;3CVmuPc3 zA-(~uFAWl&t*r?CV$;18i*BMh{8D6cq>mt3e6YRlGQFO9)hq|HrPH4>lj!MQ<~BuU za|~|uA&XP4a601=5=7lfsz_ggT}d=6DWTg*^HodUV7truQoZLJS51hKkufW=`-oWr z@i7D4#6#YUkon-~?Jc#k%Y6ZC+*Gp1<+S=ttb>Xnp`ig5{H_Mq()PI`C)|d!SZ2Od zS67=a{{%f!9m3x$anC?bQSpUm7 zD$M`d6oY@R>8Gu{!PnK*{esso1|Kt8Wp${)NI>+OA~$BXo&`=F5vNn6Bh}1a*BD=* zQwpOs)-)xP@-3N6x+`OsIF~j8E;GUgrGeHselS+B476s)g`%mS6?Lnjp`m87ok0xB8$BvZ4fg({m=#;zzcbJZh~v$f`WpQfxYnQ+g$3%m{hqU%-#xT z=VnxXaq%+po}%V^A>15V??MKII#P;6p^mPP(3Hx4h8KCJ2%Zzl$n9U0h5XA8CZHXu z$V!~Q{Tqy?!-8S{;~(PmEvfUfSQ>}D+noD~+t+(4wlO9va_XZGz}o|mCCIrS)gw$i zcm&69w>S!&BTg8{Z5KQO_n&Xs{fGMkqR_ZmB1_`XO(4D5gp)`YMzTL>T#i<{gA5J| z46HHrn4}z%^8=m3%K@zVMJI2hGq$!~BjqK(yIR}K#wr-eg+#S6d1 zX`_osyC0N1{`IX>1QZC=LX*19GUFt)_ZH(z0!iF_-?({NjcVr0+117?(cdG44%L6S zKh84}<2{vE7`I}06~Dc@zMgcJu9ye>`~ACjhZs>wCaBRr3XyC;pwhJL-2pz-xVLZL zN>UY}jDK_zmw{sPtS2}|ij0S}nSz)^1VZneSQMCLBTlzua@^Y&jnq-^4+UsSx8M{5 zO%iCJ?~Wu_G%+$W_nl^)=TgkD6H*x@H@bUyZMcHF@&|cRGj*Lz^$Lds&TD7I{jO?l zh8ks7n(K`KV*(*Lo!&RE9WPGmVN_+)x?^s$>rO6(m?_O_>MMSeQ>krHS>%TZ7W zvpgm)oDtMkr%4Z91r#XYBl?$4Pq!jIny!1Io>W=o3ZHqr+n=rMx8MXC8WPn%mvDyp zVVrjbWRIJHuu7=)Tq}TSPv&7%PQ0OW9rn1w!bPCq1?vH#TwF+n?Xq;O7{4&CgpQW> zd~#urzq}s2AHdi97{)EJ`)g{ESLx{JBCLA5lw~!Mi2SE^C1zzw0V_N=ekb@VB@Oiw zo!JHj(N8)a+AdrL&BGgv$!d%YzqnQHZ$5~`h`{wxeF(%}iEv){1u$!4-n#kzW2>=4 z4%ytqi`(Wj1)J_RvQkq2tgfw%T!E5-r19R{nsS@i$T_GYP$orA1TbMZmiBf`<_0TM+L)L)^TP*jr+z4RElG0>1P zhSe{eB=9BFb+{lHw)cI_IUpipa^tUg#0zlRWASeBFk?@Jj99Gqiq#&~j0Ju;R#@>P zAOeAv?v(8Dy}OiSw3t7CjYnt%i4t1AJ-G~S(i#8wXz@i%8CcAY(a}-$R1+?tvs3@r zFVGm@B(g(5L$3f6tmWob(n@sJ%FU-1`_vi%{U(EO&YTUIOqjhcl)*1EjcghkU!>Kt zP~4yS@l9Q}-&BejYB?e5!3hF7K)QQC&e{T|^qBRZ1&EIyfXwxro77q}tH3Jnb+JR; zN=G3xys5I1?2R9;f~wIJpMe=T@gJcdPFezGtChCMfHl*57L#9l=Fz&`5UWqIW zBQ=Y*(I07@SQuHgd65WJ)3u&wf-}z|&)sDZUO+?=2rHpx`B1p7Mh^>ehy0CmB*-2*7@p`9q41g`3248 z{iDx_k2I0*K|A|8-=Afp2Z$7-YpiaDGT1C&$P76p8;ZmsxrApDLh#!c8HIomp`Uy+jgl-W#7?-Dvg6>ZA%&d9%b1cPjly z^_iWTwDkXenNx%p3HPWM5o}Ah-Ugn_wj1!R@aV#E%W81i#OA^EyV2in1#(K>SCe{X z$18QBQAu$E{gn>32EK^weEjWBA2AS$2ZO=<>h}$7P?wVCe$m-F=>Lg^&B}4!v}g1` z86glEjiYbxGS_)+p;#>p9%1z_bqWh<=z=fzw#@Cctmav6Lvg4RpDU1(ctZU5iz zJqKGN(C!tX0jG?*aJ5bcDb9{GEh&SVGZc8IkG5=E!X;pl1qQ^1vn|&%ZhNMgG?~t` zGCi;V|34ZWAz=Xm)h*Of?K(GVoxfiiP-+2RWHTaaAS>0A zO9)rlp{D&T-ymJ>|IX4V`~K`q@xWQIZGx!A*Fu1p?<3dvN2Flc{{~N!+|+HK<(qQSOr1;!ZL5mY=clK2fFHSq z7khTE2{;H+I^FJo$((xGzv$%&kQjGl-}fBmycDz%YML{)pD2oiSITp}`D`TmA2K~z zh=3#$r0Dm1mvC3fy9Yl{ShM8SypxCLgHt_Ph)${<-NcLoI$43#o_PYnIFwdr>i;cb ztX6u|6PCzN>iw#KgRYU9rjY@P9&JSecP}9n3JyZ8f%DEV~+D^oG z5OY$r7!yN!!N&ub_uLzQ?wFoP!+Jm(Zl=29uVMW;TcCBZc`o zfAF+)K}pmDyag*HY+XZn`Jc4wJhZKEejd}TRvzObDhIEDFa3sY-7r89v~8dMABH6U A_W%F@ literal 0 HcmV?d00001 diff --git a/templates/redmine/config.yml b/templates/redmine/config.yml new file mode 100644 index 0000000..f4151dc --- /dev/null +++ b/templates/redmine/config.yml @@ -0,0 +1,5 @@ +name: Redmine +description: | + Redmine Project Manager +version: 0.1.1 +category: Project Management