Merge pull request #4180 from coollabsio/services

Feat: New Services
This commit is contained in:
Andras Bacsai
2024-11-12 14:49:07 +01:00
committed by GitHub
38 changed files with 1102 additions and 155 deletions

BIN
public/svgs/apprise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
public/svgs/cyberchef.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
public/svgs/dashy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
public/svgs/faraday.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

1
public/svgs/firefox.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

1
public/svgs/hoarder.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 355 354" height="24" class="fill-foreground"><path d="M565.33 118.79H253.02c-11.56 0-20.93 9.37-20.93 20.93v310.72c0 11.56 9.37 20.93 20.93 20.93h312.31c11.56 0 20.93-9.37 20.93-20.93V139.72c0-11.56-9.37-20.93-20.93-20.93M386.85 419.57c0 3.01-2.45 5.46-5.46 5.46h-96.28c-3.01 0-5.46-2.45-5.46-5.46V169.43c0-3.01 2.45-5.47 5.46-5.47h94.76a5.47 5.47 0 0 1 5.46 5.47v95.21s-.52 40.97 1.52 73.12v81.82zm150.34 0c0 4.35-4.83 6.95-8.44 4.57l-43.9-28.7c-1.9-1.26-4.35-1.19-6.21.15l-38.48 27.81c-1.6 1.19-3.49 1.26-5.09.67-1.41-1-2.34-2.64-2.34-4.5V225.34c5.21-1 11-1.56 17.7-1.56 32.86 0 86.77 18.59 86.77 71v124.8z" style="fill-rule:nonzero" transform="translate(-232 -118)"></path></svg>

After

Width:  |  Height:  |  Size: 842 B

BIN
public/svgs/hoppscotch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

90
public/svgs/jupyter.svg Normal file
View File

@@ -0,0 +1,90 @@
<svg width="44" height="51" viewBox="0 0 44 51" version="2.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:figma="http://www.figma.com/figma/ns">
<title>Group.svg</title>
<desc>Created using Figma 0.90</desc>
<g id="Canvas" transform="translate(-1640 -2453)" figma:type="canvas">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="g" style="mix-blend-mode:normal;" figma:type="group">
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path9 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path0_fill" transform="translate(1640.54 2474.36)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path10 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path1_fill" transform="translate(1645.68 2474.37)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path11 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path2_fill" transform="translate(1653.39 2474.26)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path12 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path3_fill" transform="translate(1660.43 2474.39)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path13 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path4_fill" transform="translate(1667.55 2472.54)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path14 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path5_fill" transform="translate(1672.47 2474.29)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path15 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path6_fill" transform="translate(1679.98 2474.24)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
</g>
</g>
<g id="g" style="mix-blend-mode:normal;" figma:type="group">
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path16 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path7_fill" transform="translate(1673.48 2453.69)" fill="#767677" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path17 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path8_fill" transform="translate(1643.21 2484.27)" fill="#F37726" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path18 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path9_fill" transform="translate(1643.21 2457.88)" fill="#F37726" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path19 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path10_fill" transform="translate(1643.28 2496.09)" fill="#9E9E9E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path20 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path11_fill" transform="translate(1641.87 2458.43)" fill="#616262" style="mix-blend-mode:normal;"/>
</g>
</g>
</g>
</g>
</g>
</g>
<defs>
<path id="path0_fill" d="M 1.74498 5.47533C 1.74498 7.03335 1.62034 7.54082 1.29983 7.91474C 0.943119 8.23595 0.480024 8.41358 0 8.41331L 0.124642 9.3036C 0.86884 9.31366 1.59095 9.05078 2.15452 8.56466C 2.45775 8.19487 2.6834 7.76781 2.818 7.30893C 2.95261 6.85005 2.99341 6.36876 2.93798 5.89377L 2.93798 0L 1.74498 0L 1.74498 5.43972L 1.74498 5.47533Z"/>
<path id="path1_fill" d="M 5.50204 4.76309C 5.50204 5.43081 5.50204 6.02731 5.55545 6.54368L 4.496 6.54368L 4.42478 5.48423C 4.20318 5.85909 3.88627 6.16858 3.50628 6.38125C 3.12628 6.59392 2.69675 6.70219 2.26135 6.69503C 1.22861 6.69503 0 6.13415 0 3.84608L 0 0.0445149L 1.193 0.0445149L 1.193 3.6057C 1.193 4.84322 1.57583 5.67119 2.65309 5.67119C 2.87472 5.67358 3.09459 5.63168 3.29982 5.54796C 3.50505 5.46424 3.69149 5.34039 3.84822 5.18366C 4.00494 5.02694 4.1288 4.84049 4.21252 4.63527C 4.29623 4.43004 4.33813 4.21016 4.33575 3.98853L 4.33575 0L 5.52874 0L 5.52874 4.72748L 5.50204 4.76309Z"/>
<path id="path2_fill" d="M 0.0534178 2.27264C 0.0534178 1.44466 0.0534178 0.768036 0 0.153731L 1.06836 0.153731L 1.12177 1.2666C 1.3598 0.864535 1.70247 0.534594 2.11325 0.311954C 2.52404 0.0893145 2.98754 -0.0176786 3.45435 0.00238095C 5.03908 0.00238095 6.23208 1.32892 6.23208 3.30538C 6.23208 5.63796 4.7987 6.79535 3.24958 6.79535C 2.85309 6.81304 2.45874 6.7281 2.10469 6.54874C 1.75064 6.36937 1.44888 6.10166 1.22861 5.77151L 1.22861 5.77151L 1.22861 9.33269L 0.0534178 9.33269L 0.0534178 2.29935L 0.0534178 2.27264ZM 1.22861 4.00872C 1.23184 4.17026 1.24972 4.33117 1.28203 4.48948C 1.38304 4.88479 1.61299 5.23513 1.93548 5.48506C 2.25798 5.735 2.65461 5.87026 3.06262 5.86944C 4.31794 5.86944 5.05689 4.8456 5.05689 3.3588C 5.05689 2.05897 4.36246 0.946096 3.10714 0.946096C 2.61036 0.986777 2.14548 1.20726 1.79965 1.5662C 1.45382 1.92514 1.25079 2.3979 1.22861 2.89585L 1.22861 4.00872Z"/>
<path id="path3_fill" d="M 1.31764 0.0178059L 2.75102 3.85499C 2.90237 4.28233 3.06262 4.7987 3.16946 5.18153C 3.2941 4.7898 3.42764 4.29123 3.5879 3.82828L 4.88773 0.0178059L 6.14305 0.0178059L 4.36246 4.64735C 3.47216 6.87309 2.92908 8.02158 2.11 8.71601C 1.69745 9.09283 1.19448 9.35658 0.649917 9.48166L 0.356119 8.48453C 0.736886 8.35942 1.09038 8.16304 1.39777 7.90584C 1.8321 7.55188 2.17678 7.10044 2.4038 6.5882C 2.45239 6.49949 2.48551 6.40314 2.50173 6.3033C 2.49161 6.19586 2.46457 6.0907 2.42161 5.9917L 0 0L 1.29983 0L 1.31764 0.0178059Z"/>
<path id="path4_fill" d="M 2.19013 0L 2.19013 1.86962L 3.8995 1.86962L 3.8995 2.75992L 2.19013 2.75992L 2.19013 6.26769C 2.19013 7.06896 2.42161 7.53191 3.08043 7.53191C 3.31442 7.53574 3.54789 7.5088 3.77486 7.45179L 3.82828 8.34208C 3.48794 8.45999 3.12881 8.51431 2.76882 8.50234C 2.53042 8.51726 2.29161 8.48043 2.06878 8.39437C 1.84595 8.30831 1.64438 8.17506 1.47789 8.00377C 1.11525 7.51873 0.949826 6.91431 1.01494 6.31221L 1.01494 2.75102L 0 2.75102L 0 1.86072L 1.03274 1.86072L 1.03274 0.275992L 2.19013 0Z"/>
<path id="path5_fill" d="M 1.17716 3.57899C 1.153 3.88093 1.19468 4.18451 1.29933 4.46876C 1.40398 4.75301 1.5691 5.01114 1.78329 5.22532C 1.99747 5.43951 2.2556 5.60463 2.53985 5.70928C 2.8241 5.81393 3.12768 5.85561 3.42962 5.83145C 4.04033 5.84511 4.64706 5.72983 5.21021 5.49313L 5.41498 6.38343C 4.72393 6.66809 3.98085 6.80458 3.23375 6.78406C 2.79821 6.81388 2.36138 6.74914 1.95322 6.59427C 1.54505 6.43941 1.17522 6.19809 0.869071 5.88688C 0.562928 5.57566 0.327723 5.2019 0.179591 4.79125C 0.0314584 4.38059 -0.0260962 3.94276 0.0108748 3.50777C 0.0108748 1.54912 1.17716 0 3.0824 0C 5.21911 0 5.75329 1.86962 5.75329 3.06262C 5.76471 3.24644 5.76471 3.43079 5.75329 3.61461L 1.15046 3.61461L 1.17716 3.57899ZM 4.66713 2.6887C 4.70149 2.45067 4.68443 2.20805 4.61709 1.97718C 4.54976 1.74631 4.43372 1.53255 4.2768 1.35031C 4.11987 1.16808 3.92571 1.0216 3.70739 0.920744C 3.48907 0.81989 3.25166 0.767006 3.01118 0.765656C 2.52201 0.801064 2.06371 1.01788 1.72609 1.37362C 1.38847 1.72935 1.19588 2.19835 1.18607 2.6887L 4.66713 2.6887Z"/>
<path id="path6_fill" d="M 0.0534178 2.19228C 0.0534178 1.42663 0.0534178 0.767806 0 0.162404L 1.06836 0.162404L 1.06836 1.43553L 1.12177 1.43553C 1.23391 1.04259 1.4656 0.694314 1.78468 0.439049C 2.10376 0.183783 2.4944 0.034196 2.90237 0.0110538C 3.01466 -0.00368459 3.12839 -0.00368459 3.24068 0.0110538L 3.24068 1.12393C 3.10462 1.10817 2.9672 1.10817 2.83114 1.12393C 2.427 1.13958 2.04237 1.30182 1.7491 1.58035C 1.45583 1.85887 1.27398 2.23462 1.23751 2.63743C 1.20422 2.8196 1.18635 3.00425 1.1841 3.18941L 1.1841 6.65267L 0.00890297 6.65267L 0.00890297 2.20118L 0.0534178 2.19228Z"/>
<path id="path7_fill" d="M 6.03059 2.83565C 6.06715 3.43376 5.92485 4.02921 5.6218 4.54615C 5.31875 5.0631 4.86869 5.47813 4.32893 5.73839C 3.78917 5.99864 3.18416 6.09233 2.59097 6.00753C 1.99778 5.92272 1.44326 5.66326 0.998048 5.26219C 0.552837 4.86113 0.23709 4.33661 0.0910307 3.75546C -0.0550287 3.17431 -0.0247891 2.56283 0.177897 1.99893C 0.380583 1.43503 0.746541 0.944221 1.22915 0.589037C 1.71176 0.233853 2.28918 0.0303686 2.88784 0.00450543C 3.28035 -0.0170932 3.67326 0.0391144 4.04396 0.169896C 4.41467 0.300677 4.75587 0.503453 5.04794 0.766561C 5.34 1.02967 5.57718 1.34792 5.74582 1.70301C 5.91446 2.0581 6.01124 2.44303 6.03059 2.83565L 6.03059 2.83565Z"/>
<path id="path8_fill" d="M 18.6962 7.12238C 10.6836 7.12238 3.64131 4.24672 0 0C 1.41284 3.82041 3.96215 7.1163 7.30479 9.44404C 10.6474 11.7718 14.623 13.0196 18.6962 13.0196C 22.7695 13.0196 26.745 11.7718 30.0877 9.44404C 33.4303 7.1163 35.9796 3.82041 37.3925 4.0486e-13C 33.7601 4.24672 26.7445 7.12238 18.6962 7.12238Z"/>
<path id="path9_fill" d="M 18.6962 5.89725C 26.7089 5.89725 33.7512 8.77291 37.3925 13.0196C 35.9796 9.19922 33.4303 5.90333 30.0877 3.57559C 26.745 1.24785 22.7695 4.0486e-13 18.6962 0C 14.623 4.0486e-13 10.6474 1.24785 7.30479 3.57559C 3.96215 5.90333 1.41284 9.19922 0 13.0196C 3.64131 8.76401 10.648 5.89725 18.6962 5.89725Z"/>
<path id="path10_fill" d="M 7.59576 3.56656C 7.64276 4.31992 7.46442 5.07022 7.08347 5.72186C 6.70251 6.3735 6.13619 6.89698 5.45666 7.22561C 4.77713 7.55424 4.01515 7.67314 3.26781 7.56716C 2.52046 7.46117 1.82158 7.13511 1.26021 6.63051C 0.698839 6.12591 0.300394 5.46561 0.115637 4.73375C -0.0691191 4.00188 -0.0318219 3.23159 0.222777 2.52099C 0.477376 1.8104 0.93775 1.19169 1.54524 0.743685C 2.15274 0.295678 2.87985 0.0386595 3.63394 0.00537589C 4.12793 -0.0210471 4.62229 0.0501173 5.08878 0.214803C 5.55526 0.37949 5.98473 0.63447 6.35264 0.965179C 6.72055 1.29589 7.01971 1.69584 7.233 2.1422C 7.4463 2.58855 7.56957 3.07256 7.59576 3.56656L 7.59576 3.56656Z"/>
<path id="path11_fill" d="M 2.25061 4.37943C 1.81886 4.39135 1.39322 4.27535 1.02722 4.04602C 0.661224 3.81668 0.371206 3.48424 0.193641 3.09052C 0.0160762 2.69679 -0.0411078 2.25935 0.0292804 1.83321C 0.0996686 1.40707 0.294486 1.01125 0.589233 0.695542C 0.883981 0.37983 1.2655 0.158316 1.68581 0.0588577C 2.10611 -0.0406005 2.54644 -0.0135622 2.95143 0.136572C 3.35641 0.286707 3.70796 0.553234 3.96186 0.902636C 4.21577 1.25204 4.3607 1.66872 4.37842 2.10027C 4.39529 2.6838 4.18131 3.25044 3.78293 3.67715C 3.38455 4.10387 2.83392 4.35623 2.25061 4.37943Z"/>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg4136" version="1.1" inkscape:version="0.91 r13725" xml:space="preserve" width="278.23288" height="278.23288" viewBox="0 0 278.23288 278.23288" sodipodi:docname="mosquitto-logo-only.svg"><metadata id="metadata4142"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs4140" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="995" id="namedview4138" showgrid="false" inkscape:zoom="1.7899063" inkscape:cx="67.324802" inkscape:cy="84.142768" inkscape:window-x="1280" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:current-layer="g4144" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" /><g id="g4144" inkscape:groupmode="layer" inkscape:label="mosquitto" transform="matrix(1.25,0,0,-1.25,-387.06488,575.71439)"><g id="g3377" transform="translate(0,26.44071)"><path inkscape:connector-curvature="0" id="path4160" style="fill:#f3771c;fill-opacity:1;fill-rule:evenodd;stroke:none" d="m 420.9449,237.9852 3.1034,42.3947 2.5194,34.4248 c 5.1916,2.194 8.8356,7.3344 8.8356,13.324 0,7.9837 -6.4746,14.4584 -14.4584,14.4584 -7.9838,0 -14.4584,-6.4747 -14.4584,-14.4584 0,-5.9896 3.6439,-11.13 8.8356,-13.324 l 2.5194,-34.4248 3.1034,-42.3947 z" /><path inkscape:connector-curvature="0" id="path4162" style="fill:#3c5280;fill-opacity:1;fill-rule:evenodd;stroke:none" d="m 322.2003,328.1839 c 0,-24.4581 8.9422,-47.3527 24.4508,-65.0437 l -9.347,-8.3787 c -17.5008,19.9159 -27.6522,45.7824 -27.6522,73.4224 0,31.144 12.801,59.3037 33.4258,79.5062 l 0.47,-0.4215 27.6474,-24.7845 C 345.2111,358.664 339.8298,319.926 357.9086,290.084 l 9.5443,8.5556 c -13.7812,24.8958 -8.5306,56.3422 13.1394,75.42 l 9.4666,-8.4844 8.4197,-7.5492 8.7333,-7.8288 c -3.2664,-2.048 -6.0429,-4.8044 -8.1148,-8.0538 -2.5602,-4.0158 -4.0439,-8.7843 -4.0439,-13.8982 0,-11.4001 7.3721,-21.0816 17.6077,-24.5373 l 0.8807,-12.0308 c -17.0538,3.435 -29.9009,18.5037 -29.9009,36.5681 0,8.0438 2.5472,15.4941 6.8791,21.5875 l -8.356,7.4922 -0.0315,0.0284 c -13.6984,-18.1953 -12.852,-43.4563 1.899,-60.7045 L 355.9969,271.518 c -27.6004,31.6071 -28.3884,78.5191 -1.9533,111.0143 l -9.3515,8.3835 c -12.907,-15.6702 -21.0804,-35.3849 -22.3254,-56.9549 l -0.057,-0.0637 0.0507,-0.0454 c -0.1063,-1.876 -0.1601,-3.7655 -0.1601,-5.6679 z m 107.0286,-24.476 c 10.2356,3.4557 17.6076,13.1375 17.6076,24.5373 0,5.1139 -1.4836,9.8824 -4.0436,13.8979 -2.0718,3.2494 -4.8484,6.0061 -8.1144,8.0538 l 8.7329,7.8288 8.4206,7.5486 -8e-4,9e-4 9.4666,8.4844 c 21.67,-19.0778 26.9206,-50.5242 13.1394,-75.42 l 9.5442,-8.5556 c 18.0786,29.842 12.6976,68.58 -13.2865,92.4001 l 27.6486,24.7856 0.4688,0.4204 c 20.6249,-20.2025 33.4259,-48.3622 33.4259,-79.5062 0,-27.64 -10.1515,-53.5065 -27.6523,-73.4224 l -9.3469,8.3787 c 15.5083,17.691 24.4505,40.5856 24.4505,65.0437 0,1.9024 -0.0536,3.7919 -0.1599,5.6679 l 0.0507,0.0454 -0.0569,0.0637 c -1.245,21.57 -9.4184,41.2847 -22.3257,56.9549 l -9.3512,-8.3835 c 26.435,-32.4952 25.6467,-79.4072 -1.9534,-111.0143 l -28.0346,25.1308 c 14.7512,17.2482 15.5976,42.5092 1.8992,60.7045 l -0.0317,-0.0284 -8.356,-7.4922 c 4.3319,-6.0936 6.8791,-13.5439 6.8791,-21.5875 0,-18.0644 -12.8472,-33.1328 -29.9007,-36.5681 l 0.8805,12.0308 z" /></g></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
public/svgs/portainer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

13
public/svgs/postiz.svg Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 370 410" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-11583.9,-1689)">
<g transform="matrix(1,0,0,1,-0.097081,-0.236295)">
<g transform="matrix(12.8208,0,0,12.8208,11584,1689.24)">
<path d="M4.902,4.617C4.924,4.976 4.955,5.38 4.991,5.842L6.282,22.516C6.426,24.379 6.498,25.311 6.916,25.995C7.283,26.596 7.832,27.066 8.482,27.337C9.222,27.644 10.154,27.572 12.018,27.428L24.788,26.44C25.997,26.346 26.813,26.283 27.424,26.136C27.219,26.617 26.903,27.046 26.498,27.385C25.885,27.9 24.974,28.11 23.153,28.531L10.672,31.41C8.85,31.83 7.939,32.04 7.162,31.846C6.478,31.675 5.866,31.292 5.413,30.752C4.898,30.138 4.688,29.228 4.268,27.406L0.509,11.111C0.089,9.289 -0.121,8.379 0.073,7.601C0.243,6.917 0.626,6.305 1.166,5.852C1.78,5.337 2.691,5.127 4.512,4.707L4.902,4.617Z" style="fill:rgb(97,43,211);fill-rule:nonzero;"/>
<path d="M18.098,14.088C17.864,14.346 17.565,14.489 17.199,14.517C16.947,14.537 16.739,14.504 16.577,14.417C16.414,14.317 16.293,14.213 16.214,14.106L15.76,8.23C15.845,7.87 16,7.597 16.226,7.41C16.451,7.209 16.689,7.098 16.942,7.079C17.04,7.071 17.176,7.089 17.349,7.132C17.536,7.174 17.729,7.3 17.929,7.511C18.128,7.708 18.308,8.026 18.469,8.465C18.644,8.904 18.762,9.509 18.821,10.281C18.858,10.759 18.86,11.246 18.828,11.743C18.809,12.225 18.737,12.668 18.613,13.073C18.503,13.477 18.332,13.815 18.098,14.088Z" style="fill:white;fill-rule:nonzero;"/>
<path d="M5.956,5.092C5.857,3.82 5.808,3.184 6.018,2.679C6.203,2.235 6.523,1.861 6.934,1.61C7.4,1.325 8.036,1.275 9.308,1.177L23.423,0.085C24.695,-0.014 25.331,-0.063 25.836,0.147C26.281,0.332 26.655,0.652 26.906,1.063C27.191,1.529 27.24,2.165 27.339,3.437L28.733,21.453C28.831,22.725 28.88,23.361 28.671,23.866C28.486,24.311 28.165,24.685 27.755,24.936C27.288,25.221 26.652,25.27 25.38,25.369L11.265,26.461C9.993,26.559 9.357,26.609 8.852,26.399C8.408,26.214 8.034,25.893 7.783,25.483C7.498,25.016 7.448,24.38 7.35,23.108L5.956,5.092ZM15.631,6.566L15.509,4.986L12.476,5.22L13.758,21.797L16.732,20.804L16.336,15.686C16.506,15.871 16.751,16.028 17.072,16.159C17.392,16.275 17.819,16.313 18.352,16.272C19.096,16.214 19.702,16.005 20.168,15.644C20.648,15.268 21.014,14.802 21.268,14.245C21.521,13.689 21.678,13.069 21.738,12.387C21.813,11.703 21.824,11.024 21.772,10.35C21.699,9.409 21.539,8.616 21.291,7.972C21.044,7.327 20.736,6.821 20.369,6.454C20.014,6.071 19.612,5.806 19.163,5.657C18.728,5.507 18.271,5.45 17.794,5.487C17.274,5.528 16.839,5.653 16.488,5.864C16.136,6.061 15.85,6.294 15.631,6.566Z" style="fill:white;"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

9
public/svgs/readeck.svg Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="240" height="240" viewBox="0 0 240 240">
<path fill-rule="nonzero" fill="rgb(98.431373%, 80.784314%, 33.333333%)" fill-opacity="1" d="M 191.011719 69.769531 L 91.191406 116.308594 L 91.191406 187.800781 L 218.394531 128.492188 Z M 191.011719 69.769531 "/>
<path fill-rule="nonzero" fill="rgb(27.45098%, 73.333333%, 83.921569%)" fill-opacity="1" d="M 91.191406 117.808594 L 91.191406 189.304688 L 197.078125 238.671875 L 190.730469 199.960938 L 224.460938 179.949219 Z M 91.191406 117.808594 "/>
<path fill-rule="nonzero" fill="rgb(3.529412%, 43.529412%, 52.54902%)" fill-opacity="1" d="M 26.386719 38.96875 L 91.191406 38.96875 L 91.191406 230.949219 L 26.386719 230.949219 Z M 26.386719 38.96875 "/>
<path fill-rule="nonzero" fill="rgb(0%, 0%, 0%)" fill-opacity="0.313726" d="M 26.382812 38.96875 L 26.382812 43.105469 L 213.953125 130.5625 L 218.398438 128.488281 Z M 26.382812 38.96875 "/>
<path fill-rule="nonzero" fill="rgb(27.45098%, 73.333333%, 83.921569%)" fill-opacity="1" d="M 91.191406 3.222656 L 26.386719 38.96875 L 218.394531 128.492188 L 218.394531 57 Z M 91.191406 3.222656 "/>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 91.191406 69.1875 L 91.191406 116.308594 L 141.726562 92.75 Z M 91.191406 69.1875 "/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
public/svgs/web-check.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

119
public/svgs/wikijs.svg Normal file
View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<path d="M63.692,64.781c0,0 20.812,0.75 30.375,9c9.562,8.25 16.125,24 13.312,37.688c-5.625,-1.313 -29.625,-5.438 -39.375,-17.438c-9.75,-12 -9.375,-20.437 -8.25,-25.5c1.125,-5.062 3.938,-3.75 3.938,-3.75" style="fill:#1c9cf3;fill-rule:nonzero;"/>
<path d="M60.044,68.582c-0.475,2.139 -0.988,5.498 0.046,9.953c1.125,4.848 3.801,10.068 8.198,15.31c10.06,11.993 38.391,16.857 38.734,16.932c1.078,-6.234 0.351,-12.729 -2.174,-19.516c-2.494,-6.705 -6.5,-12.669 -11.279,-16.793c-9.415,-8.122 -30.26,-8.963 -30.469,-8.971l-0.215,-0.007l-0.155,-0.081c-0.002,0 -0.177,-0.068 -0.418,-0.068c-0.998,0 -1.803,1.151 -2.268,3.241Z" style="fill:url(#_Radial1);fill-rule:nonzero;"/>
<path d="M58.254,64.781c0,0 2.625,5.438 -3.562,13.688c-6.188,8.25 -19.125,21.562 -51.375,18.75c1.125,-7.688 6.75,-15.563 12.937,-21.188c6.188,-5.625 20.063,-11.437 29.25,-11.625c9.188,-0.187 12.75,0.375 12.75,0.375" style="fill:#04bbf3;fill-rule:nonzero;"/>
<path d="M45.667,65.135c-4.286,0.086 -10.037,1.469 -15.783,3.791c-5.597,2.263 -10.53,5.128 -13.534,7.859c-6.762,6.148 -11.116,13.417 -12.413,19.94c2.596,0.201 7.447,0.302 7.447,0.302c11.549,0 21.195,-2.117 29.11,-6.626c7.017,-3.996 11.231,-8.995 13.79,-12.407c4.909,-6.545 4.149,-11.122 3.717,-12.555c-1.08,-0.116 -3.81,-0.344 -8.669,-0.344c-1.165,0 -2.398,0.013 -3.665,0.04Z" style="fill:url(#_Linear2);fill-rule:nonzero;"/>
<path d="M123.879,45.656c0,0 -3.75,10.875 -22.125,16.125c-18.375,5.25 -38.062,1.875 -38.062,1.875c0,0 4.687,-12.375 18.187,-18.187c13.5,-5.813 37.313,-0.563 42,0.187" style="fill:#02bef3;fill-rule:nonzero;"/>
<path d="M81.544,46.68c-10.988,4.731 -16.174,13.887 -17.695,17.055c2.266,0.309 7.463,0.901 13.983,0.901c8.656,0 16.566,-1.005 23.51,-2.989c14.825,-4.235 20.235,-12.672 21.72,-15.505c-0.243,-0.043 -17.126,-3.378 -26.758,-3.378c-6.904,0 -10.593,2.121 -14.76,3.916Z" style="fill:url(#_Radial3);fill-rule:nonzero;"/>
<path d="M57.921,65.406c0,0 -26.74,-1.259 -42.436,-12.71c-15.695,-11.451 -15.333,-15.226 -15.333,-15.226c0,0 17.598,-0.054 26.286,3.078c8.688,3.133 22.335,11.948 31.483,24.858" style="fill:#02bef3;fill-rule:nonzero;"/>
<path d="M16.409,52.486c6.069,4.428 13.396,7.559 22.006,9.665c0.002,0.001 0.002,0.001 0.004,0.001c9.149,1.098 16.735,2.791 18.559,2.946c-4.016,-5.462 -9.015,-10.404 -14.381,-14.517c-5.193,-3.99 -10.674,-7.143 -15.228,-8.943c-0.845,-0.336 -1.74,-0.638 -2.662,-0.915c-8.018,-2.397 -21.465,-2.553 -23.533,-2.583c0.509,0.942 2.299,4.909 15.235,14.346Z" style="fill:url(#_Radial4);fill-rule:nonzero;"/>
<path d="M58.113,67.998c2.377,0.304 3.66,5.62 2.862,11.865c-0.798,6.244 -3.376,11.067 -5.754,10.763c-2.377,-0.303 -3.66,-5.62 -2.862,-11.864c0.798,-6.245 3.376,-11.068 5.754,-10.764Z" style="fill:url(#_Radial5);"/>
<g>
<path d="M61.629,64.651c-7.957,1.497 3.291,37.119 15.337,42.529c23.156,10.401 35.993,-9.611 35.993,-16.859c0,-7.249 -31.885,-29.326 -51.33,-25.67Z" style="fill:url(#_Radial6);fill-rule:nonzero;"/>
<path d="M50.386,74.833c-2.895,5.261 20.365,23.165 30.768,21.166c10.402,-2 24.271,-12.529 23.192,-18.252c-1.079,-5.724 -19.995,-21.583 -35.132,-15.913c-9.928,3.719 -15.933,7.738 -18.828,12.999Z" style="fill:url(#_Radial7);fill-rule:nonzero;"/>
<path d="M60.31,77.16c-2.178,5.597 13.079,21.534 23.128,18.182c10.048,-3.352 22.409,-15.617 20.586,-21.148c-1.824,-5.532 -22.664,-18.761 -36.922,-11.146c-9.351,4.994 -4.615,8.515 -6.792,14.112Z" style="fill:url(#_Radial8);fill-rule:nonzero;"/>
<path d="M58.727,74.603c-1.855,4.721 11.081,18.141 19.616,15.304c8.535,-2.837 19.043,-13.192 17.501,-17.853c-1.542,-4.662 -19.221,-15.793 -31.334,-9.357c-7.946,4.221 -3.928,7.185 -5.783,11.906Z" style="fill:url(#_Radial9);fill-rule:nonzero;"/>
</g>
<g>
<path d="M61.553,74.101c-1.577,4.793 -19.173,24.596 -31.313,27.374c-12.14,2.779 -24.092,-9.922 -25.211,-15.785c-1.119,-5.862 17.202,-22.572 35.975,-24.02c12.313,-0.95 23.195,4.394 20.549,12.431" style="fill:url(#_Radial10);fill-rule:nonzero;"/>
<path d="M61.211,71.442c-1.214,5.581 -17.369,27.784 -29.357,30.15c-11.989,2.368 -24.988,-13.673 -26.567,-20.736c-1.579,-7.063 15.545,-25.529 34.304,-25.799c12.305,-0.176 23.657,7.026 21.62,16.385" style="fill:url(#_Radial11);fill-rule:nonzero;"/>
<path d="M52.51,74.882c-1.717,3.102 -15.803,13.833 -23.882,13.516c-8.079,-0.316 -13.708,-11.577 -13.531,-15.946c0.177,-4.369 14.254,-12.769 26.319,-10.259c7.913,1.647 13.974,7.488 11.094,12.689" style="fill:url(#_Radial12);fill-rule:nonzero;"/>
</g>
<path d="M34.746,69.666c-3.518,0.435 -20.481,-4.645 -24.977,-11.365c-4.497,-6.719 1.299,-17.895 4.937,-20.322c3.637,-2.426 18.71,4.018 23.777,15.251c3.322,7.368 2.164,15.705 -3.737,16.436" style="fill:url(#_Radial13);fill-rule:nonzero;"/>
<g>
<path d="M96.436,40.499c15.231,-2.015 28.385,2.308 29.356,9.649c0.971,7.34 -10.605,14.936 -25.836,16.951c-15.231,2.015 -28.385,-2.308 -29.356,-9.648c-0.971,-7.341 10.606,-14.937 25.836,-16.952Z" style="fill:url(#_Radial14);"/>
<path d="M99.526,41.492c13.736,1.417 24.292,8.341 23.559,15.452c-0.734,7.111 -12.482,11.734 -26.218,10.316c-13.737,-1.417 -24.293,-8.341 -23.559,-15.452c0.733,-7.111 12.481,-11.734 26.218,-10.316Z" style="fill:url(#_Radial15);"/>
<path d="M89.733,43.795c11.582,-1.429 21.602,2.408 22.361,8.563c0.76,6.154 -8.027,12.311 -19.609,13.74c-11.581,1.429 -21.601,-2.407 -22.36,-8.562c-0.76,-6.154 8.027,-12.311 19.608,-13.741Z" style="fill:url(#_Radial16);"/>
</g>
<path d="M59.353,65.162c0.022,0.369 0.978,7.846 -5.49,10.654c-5.003,2.171 -11.154,3.242 -24.792,-2.947c-13.638,-6.189 -18.377,-15.18 -18.377,-15.18c0,0 7.628,2.802 12.367,3.153c4.739,0.351 16.99,2.102 20.11,2.685c3.121,0.585 8.669,0.117 10.749,-0.349c2.081,-0.468 5.202,-1.752 5.433,1.984" style="fill:#b3c3ce;fill-rule:nonzero;"/>
<path d="M29.071,72.494c13.639,6.188 19.79,5.117 24.792,2.948c6.468,-2.809 5.512,-10.287 5.49,-10.655c-0.232,-3.736 -3.352,-2.452 -5.432,-1.984c-2.081,0.467 -7.49,0.137 -11.979,-0.178c-5.344,-0.375 -13.969,-1.5 -18.88,-2.158c-4.71,-0.631 -12.368,-3.153 -12.368,-3.153c0,0 4.74,8.991 18.377,15.18Z" style="fill:url(#_Linear17);fill-rule:nonzero;"/>
<path d="M55.262,58.355c0,0 -4.342,-3.433 -7.875,-7.169c-3.534,-3.735 -14.943,-14.538 -17.77,-17.466c-2.826,-2.928 -10.5,-12.924 -11.51,-17.164c-2.322,5.149 -3.836,14.539 -1.009,23.626c2.826,9.087 9.39,15.648 18.072,19.284c8.683,3.634 16.255,3.432 18.375,3.432c2.121,0 5.049,-1.413 1.717,-4.543" style="fill:#f5f6f2;fill-rule:nonzero;"/>
<path d="M17.473,40.182c2.827,9.086 9.39,15.649 18.073,19.283c8.682,3.635 16.254,3.687 18.375,3.687c1.197,0 4.989,-0.152 5.177,-0.715c0.403,-1.21 -1.926,-2.107 -3.375,-3.468c-3.848,-3.042 -3.776,-3.358 -7.961,-7.782c-3.534,-3.736 -14.943,-14.539 -17.769,-17.467c-2.827,-2.928 -10.502,-12.923 -11.511,-17.165c-2.322,5.15 -3.837,14.54 -1.009,23.627Z" style="fill:url(#_Linear18);fill-rule:nonzero;"/>
<path d="M103.337,21.668c-3.75,3.375 -10.395,7.863 -16.77,11.988c-6.375,4.125 -10.5,11.063 -15.375,18.375c-4.875,7.313 -9.75,10.875 -9.75,10.875c0,0 7.687,1.125 15,1.125c11.256,0 24,-9.375 28.687,-14.437c4.688,-5.063 7.838,-13.311 7.875,-21.75c0.043,-9.861 -4.519,-11.792 -4.519,-11.792c0,0 -1.398,2.24 -5.148,5.615Z" style="fill:url(#_Linear19);fill-rule:nonzero;"/>
<path d="M103.865,20.907c-3.751,3.375 -11.298,8.624 -17.673,12.749c-6.375,4.125 -10.5,11.063 -15.375,18.375c-3.751,5.625 -8.444,8.724 -10.41,10.329c-0.59,0.482 -0.934,1.765 -0.934,1.765c6.769,0.99 8.351,-0.094 16.594,-0.094c11.255,0 24,-9.375 28.687,-14.437c4.688,-5.063 7.688,-13.313 7.875,-21.75c0.188,-8.438 -4.125,-11.813 -4.125,-11.813c0,0 -0.89,1.501 -4.639,4.876Z" style="fill:url(#_Linear20);fill-rule:nonzero;"/>
<g>
<path d="M42.638,45.578c8.133,5.258 12.662,12.735 10.107,16.686c-2.555,3.952 -11.232,2.89 -19.365,-2.368c-8.132,-5.259 -12.661,-12.736 -10.106,-16.687c2.555,-3.951 11.232,-2.89 19.364,2.369Z" style="fill:url(#_Radial21);"/>
<path d="M41.855,45.022c7.726,5.84 12.065,13.139 9.684,16.29c-2.382,3.151 -10.588,0.968 -18.314,-4.871c-7.726,-5.839 -12.065,-13.139 -9.684,-16.29c2.382,-3.151 10.588,-0.968 18.314,4.871Z" style="fill:url(#_Radial22);"/>
</g>
<g>
<path d="M76.747,50.134c8.038,-4.494 15.957,-5.649 17.674,-2.578c1.717,3.071 -3.415,9.213 -11.452,13.706c-8.038,4.494 -15.958,5.649 -17.674,2.578c-1.717,-3.071 3.414,-9.213 11.452,-13.706Z" style="fill:url(#_Radial23);"/>
<path d="M79.138,46.315c7.951,-4.445 15.94,-5.31 17.83,-1.93c1.889,3.38 -3.032,9.733 -10.983,14.178c-7.951,4.445 -15.94,5.31 -17.83,1.93c-1.889,-3.38 3.032,-9.733 10.983,-14.178Z" style="fill:url(#_Radial24);"/>
<path d="M78.132,49.395c7.5,-5.169 15.482,-6.621 17.812,-3.24c2.33,3.381 -1.867,10.323 -9.367,15.492c-7.5,5.17 -15.481,6.622 -17.812,3.241c-2.33,-3.381 1.867,-10.323 9.367,-15.493Z" style="fill:url(#_Radial25);"/>
<path d="M87.314,42.046c2.878,-6.448 7.508,-10.659 10.332,-9.399c2.825,1.261 2.781,7.519 -0.098,13.967c-2.878,6.448 -7.508,10.659 -10.332,9.399c-2.824,-1.261 -2.78,-7.52 0.098,-13.967Z" style="fill:url(#_Radial26);"/>
</g>
<path d="M24.702,32.262c-0.805,5.902 0.586,11.977 3.363,15.977c2.778,4.001 10.763,11.808 18.631,12.917c5.111,0.72 10.596,0.69 10.596,0.69c0,0 -3.058,-2.97 -5.745,-8.561c-2.687,-5.591 -4.888,-10.846 -8.937,-14.358c-4.05,-3.511 -8.254,-7.303 -10.543,-10.031c-2.288,-2.729 -3.044,-4.431 -3.044,-4.431c0,0 -3.38,0.899 -4.321,7.797Z" style="fill:url(#_Linear27);fill-rule:nonzero;"/>
<path d="M24.965,32.299c-0.7,5.916 0.585,11.978 3.363,15.978c2.778,3.999 10.762,11.808 18.63,12.915c5.762,0.813 6.31,1.128 11.139,1.102c0,0 -3.6,-3.381 -6.288,-8.972c-2.688,-5.591 -4.887,-10.847 -8.937,-14.358c-4.05,-3.51 -8.808,-7.923 -11.097,-10.651c-2.289,-2.728 -2.764,-3.865 -2.764,-3.865c0,0 -3.347,1.934 -4.046,7.851Z" style="fill:url(#_Linear28);fill-rule:nonzero;"/>
<g>
<path d="M55.714,66.066c1.06,3.068 -2.837,7.203 -8.698,9.227c-5.86,2.024 -11.478,1.176 -12.538,-1.892c-1.059,-3.069 2.838,-7.203 8.698,-9.227c5.86,-2.024 11.478,-1.176 12.538,1.892Z" style="fill:url(#_Radial29);"/>
<path d="M53.204,68.127c0.12,2.902 -4.178,5.44 -9.591,5.663c-5.413,0.223 -9.905,-1.952 -10.024,-4.854c-0.12,-2.903 4.178,-5.44 9.591,-5.664c5.413,-0.223 9.905,1.953 10.024,4.855Z" style="fill:url(#_Radial30);"/>
<path d="M58.03,66.776c0.851,2.014 -2.078,5.179 -6.538,7.064c-4.459,1.885 -8.771,1.78 -9.622,-0.233c-0.851,-2.014 2.078,-5.179 6.538,-7.064c4.46,-1.885 8.771,-1.78 9.622,0.233Z" style="fill:url(#_Radial31);"/>
</g>
<path d="M31.673,65.694c2.166,3.131 5.442,5.398 8.477,6.086c3.035,0.689 10.168,0.927 14.358,-1.942c2.722,-1.865 5.295,-4.244 5.295,-4.244c0,0 -2.723,-0.082 -6.401,-1.561c-3.679,-1.478 -6.984,-3.008 -10.407,-2.918c-3.425,0.09 -7.043,0.115 -9.299,-0.185c-2.257,-0.299 -3.348,-0.777 -3.348,-0.777c0,0 -1.205,1.882 1.325,5.541Z" style="fill:url(#_Linear32);fill-rule:nonzero;"/>
<path d="M31.813,65.599c2.221,3.091 5.441,5.396 8.476,6.086c3.036,0.688 10.17,0.928 14.358,-1.942c3.068,-2.103 3.462,-2.19 5.729,-4.285c0,0 -3.155,-0.042 -6.835,-1.52c-3.679,-1.478 -6.982,-3.009 -10.407,-2.918c-3.424,0.091 -7.572,0.061 -9.828,-0.239c-2.256,-0.3 -2.97,-0.631 -2.97,-0.631c0,0 -0.745,2.356 1.477,5.449Z" style="fill:url(#_Linear33);fill-rule:nonzero;"/>
<path d="M98.926,64.619c-3.373,1.42 -18.374,0.622 -23.876,0c-5.503,-0.621 -11.189,-0.526 -12.25,-0.621c-3.796,-0.342 -3.106,0.887 -3.373,4.703c-0.621,10.563 3.373,12.694 6.302,13.138c2.93,0.443 5.593,-0.976 5.593,-0.976c0,0 29.024,-13.137 31.687,-14.558c0.496,-2.725 0.376,-3.586 -0.232,-3.586c-0.7,0 -2.047,1.14 -3.851,1.9Z" style="fill:url(#_Radial34);fill-rule:nonzero;"/>
<g>
<path d="M71.826,68.086c4.948,3.511 7.617,8.26 5.957,10.598c-1.659,2.338 -7.023,1.386 -11.971,-2.126c-4.947,-3.511 -7.616,-8.261 -5.957,-10.599c1.66,-2.338 7.024,-1.385 11.971,2.127Z" style="fill:url(#_Radial35);"/>
<path d="M70.546,68.086c3.798,2.696 5.535,6.783 3.875,9.121c-1.659,2.338 -6.09,2.047 -9.889,-0.649c-3.798,-2.696 -5.534,-6.783 -3.875,-9.121c1.66,-2.338 6.091,-2.047 9.889,0.649Z" style="fill:url(#_Radial36);"/>
<path d="M74.322,68.379c3.799,2.696 5.535,6.783 3.876,9.121c-1.66,2.338 -6.091,2.047 -9.889,-0.649c-3.799,-2.695 -5.535,-6.783 -3.875,-9.121c1.659,-2.338 6.09,-2.047 9.888,0.649Z" style="fill:url(#_Radial37);"/>
</g>
<path d="M61.502,69.307c2.637,4.341 9.236,7.059 12.286,7.682c3.05,0.622 6.968,-0.097 10.231,-2.06c3.811,-2.292 3.487,-4.503 3.487,-4.503c0,0 -1.191,-0.014 -3.37,-0.669c-2.18,-0.656 -5.468,-2.167 -8.551,-3.659c-3.083,-1.492 -6.724,-1.457 -10.686,-1.624c-3.961,-0.167 -6.476,-1.212 -6.476,-1.212c0,0 1.366,3.228 3.079,6.045Z" style="fill:url(#_Linear38);fill-rule:nonzero;"/>
<path d="M61.415,69.164c2.635,4.34 9.235,7.059 12.285,7.68c3.05,0.622 6.933,-0.154 10.23,-2.058c3.298,-1.903 3.588,-4.357 3.588,-4.357c0,0 -0.786,0.008 -2.965,-0.647c-2.18,-0.656 -5.972,-2.337 -9.056,-3.829c-3.083,-1.491 -6.724,-1.457 -10.686,-1.623c-3.961,-0.168 -6.854,-1.429 -6.854,-1.429c1.203,2.843 1.527,3.085 3.458,6.263Z" style="fill:url(#_Linear39);fill-rule:nonzero;"/>
<path d="M102.035,66.75c0,0 1.219,-0.938 1.125,-2.813c-0.093,-1.874 0.375,-4.687 -9.562,-10.781c-3.281,5.907 -14.625,21.657 -19.594,25.219c-4.969,3.563 -5.765,3.442 -5.765,3.442c0,0 2.871,-0.343 5.39,-2.223c2.722,-2.032 28.406,-12.844 28.406,-12.844" style="fill:#cbd3dd;fill-rule:nonzero;"/>
<path d="M74.379,78.563c-3.085,2.212 -4.026,2.655 -4.716,2.945c0.257,-0.077 2.189,-0.583 4.341,-1.726c3,-1.594 28.406,-12.844 28.406,-12.844c0,-0.001 1.219,-0.938 1.125,-2.813c-0.093,-1.875 0.375,-4.687 -9.562,-10.781c-3.281,5.906 -14.625,21.657 -19.594,25.219Z" style="fill:url(#_Linear40);fill-rule:nonzero;"/>
<path d="M58.915,67.448c-0.618,-0.001 -6.022,9.818 -3.491,21.069c0,-0.001 3.615,-4.339 4.058,-15.247c0.183,-4.5 -0.133,-5.823 -0.567,-5.823Z" style="fill:url(#_Linear41);fill-rule:nonzero;"/>
<path d="M44.829,36.179c1.272,-1.24 5.597,-0.248 6.615,1.116c0.995,1.333 6.118,6.458 5.875,14.213c0.788,0.033 1.832,0.17 3.031,0.17c1.035,0 1.994,-0.102 2.781,-0.152c-0.252,-7.765 4.878,-12.897 5.873,-14.231c1.017,-1.364 5.343,-2.356 6.615,-1.116c1.273,1.24 -2.036,1.116 -3.562,0.744c-4.941,1.094 -8.097,12.039 -8.77,14.594c1.153,-0.063 1.897,0.018 1.897,0.781c0,1.156 -1.619,3.021 -3.872,3.221c0.092,0.464 0.627,3.053 0.024,5.777c-0.245,1.107 -2.519,2.36 -2.519,2.36c-2.415,-7.912 -0.023,-8.682 0.01,-8.748c-1.978,-0.296 -3.058,-1.549 -3.058,-2.61c0,-0.676 0.518,-0.817 1.388,-0.796c-0.681,-2.582 -3.835,-13.487 -8.765,-14.579c-1.527,0.372 -4.835,0.496 -3.563,-0.744" style="fill:#00c6f9;fill-rule:nonzero;"/>
<path d="M69.004,37.669c-0.995,1.335 -6.125,6.466 -5.873,14.232c-0.787,0.05 -1.746,0.152 -2.781,0.152c-1.199,0 -2.243,-0.137 -3.031,-0.17c0.243,-7.755 -4.88,-12.88 -5.874,-14.214c-1.018,-1.364 -5.344,-2.355 -6.616,-1.115c-1.272,1.24 2.036,1.115 3.563,0.743c4.93,1.093 8.084,11.998 8.765,14.58c-0.87,-0.02 -1.387,0.12 -1.387,0.796c0,1.061 0.786,2.39 2.763,2.684c-0.033,0.066 -1.658,1.242 0.284,8.674c0,0 3.102,-0.292 2.628,-6.64c-0.054,-0.732 -0.13,-1.318 -0.223,-1.782c2.252,-0.201 3.962,-1.781 3.962,-2.936c0,-0.763 -0.744,-0.844 -1.897,-0.781c0.674,-2.555 3.829,-13.5 8.77,-14.595c1.527,0.372 4.835,0.497 3.562,-0.743c-0.408,-0.398 -1.13,-0.566 -1.956,-0.566c-1.75,0 -3.968,0.755 -4.659,1.681Z" style="fill:url(#_Radial42);fill-rule:nonzero;"/>
<path d="M48.011,24.197c-0.937,1.89 2.368,2.171 3.493,1.605c3.635,1.665 5.958,18.288 6.46,22.223c-0.641,-0.031 -1.022,0.183 -1.022,1.213c0,1.617 0.873,3.929 2.329,4.38c-0.024,0.1 -0.037,0.16 -0.037,0.16c0,0 -2.48,4.628 -0.417,14.753c0,0 2.307,-5.062 2.307,-12.099c0,-1.119 -0.096,-2.01 -0.165,-2.719c1.66,-0.305 2.92,-2.713 2.92,-4.475c0,-1.161 -0.547,-1.285 -1.397,-1.189c0.387,-4.644 1.969,-20.385 6.463,-22.247c1.125,0.566 4.286,0.354 3.348,-1.536c-0.937,-1.89 -4.255,-0.383 -5.571,1.387c-1.445,1.942 -4.932,10.629 -4.747,22.466c-0.579,0.076 -0.896,0.174 -1.658,0.174c-0.883,0 -1.653,-0.208 -2.234,-0.259c0.179,-11.822 -3.677,-19.606 -4.329,-21.666c-0.616,-1.949 -2.533,-3.101 -4.027,-3.101c-0.755,0 -1.401,0.295 -1.716,0.93Z" style="fill:url(#_Linear43);fill-rule:nonzero;"/>
<path d="M48.011,24.565c-0.937,1.874 2.368,2.154 3.493,1.591c3.635,1.652 5.958,18.142 6.46,22.047c-0.641,-0.031 -1.022,0.181 -1.022,1.203c0,1.604 0.873,3.897 2.329,4.343c-0.024,0.1 -0.037,0.159 -0.037,0.159c0,0 -4.295,14.835 -1.471,24.549c0,0 3.709,-12.317 3.361,-21.915c-0.04,-1.109 -0.096,-1.994 -0.165,-2.697c1.66,-0.303 2.92,-2.691 2.92,-4.439c0,-1.153 -0.547,-1.276 -1.397,-1.181c0.387,-4.607 1.969,-20.222 6.463,-22.069c1.125,0.563 4.286,0.352 3.348,-1.523c-0.937,-1.875 -4.255,-0.38 -5.571,1.375c-1.445,1.927 -4.932,10.545 -4.747,22.287c-0.579,0.075 -0.896,0.174 -1.658,0.174c-0.883,0 -1.653,-0.207 -2.234,-0.258c0.179,-11.728 -3.677,-19.448 -4.329,-21.492c-0.616,-1.934 -2.533,-3.077 -4.027,-3.077c-0.754,0.001 -1.401,0.293 -1.716,0.923Z" style="fill:url(#_Linear44);fill-rule:nonzero;"/>
<path d="M64.284,58.419c0,0 3.743,-2.96 6.791,-6.181c3.047,-3.222 12.885,-12.537 15.323,-15.063c2.438,-2.524 9.055,-11.144 9.926,-14.801c2.003,4.441 3.308,12.538 0.87,20.373c-2.437,7.836 -8.097,13.496 -15.584,16.63c-7.488,3.134 -14.018,2.96 -15.845,2.96c-1.829,0 -4.354,-1.219 -1.481,-3.918" style="fill:#f5f6f2;fill-rule:nonzero;"/>
<path d="M86.075,37.175c-2.439,2.525 -12.276,11.84 -15.323,15.062c-3.609,3.816 -3.547,4.088 -6.865,6.711c-1.25,1.174 -3.205,2.508 -2.946,3.073c0.259,0.564 3.467,0.316 4.5,0.316c1.828,0 8.358,0.174 15.846,-2.96c7.487,-3.135 13.146,-8.794 15.584,-16.629c2.439,-7.836 1.132,-15.933 -0.871,-20.374c-0.87,3.658 -7.487,12.277 -9.925,14.801Z" style="fill:url(#_Linear45);fill-rule:nonzero;"/>
<defs>
<radialGradient id="_Radial1" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-66.1387,0,-0,66.1387,60.5806,63.95)"><stop offset="0" style="stop-color:#3d4ead;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></radialGradient>
<linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-54.7355,0,0,-32.1015,58.3206,81.1455)"><stop offset="0" style="stop-color:#3f51b4;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></linearGradient>
<radialGradient id="_Radial3" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-66.1374,0,-0,66.1374,60.5808,63.95)"><stop offset="0" style="stop-color:#3d4ead;stop-opacity:1"/><stop offset="1" style="stop-color:#00c0f3;stop-opacity:1"/></radialGradient>
<radialGradient id="_Radial4" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-52.6361,-107.604,-12.8428,112.241,48.7863,138.585)"><stop offset="0" style="stop-color:#0072e9;stop-opacity:1"/><stop offset="1" style="stop-color:#00fdfe;stop-opacity:1"/></radialGradient>
<radialGradient id="_Radial5" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.0052,0.526563,-1.46889,11.3112,56.6669,79.3122)"><stop offset="0" style="stop-color:#153e68;stop-opacity:0.34"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0.01"/></radialGradient>
<radialGradient id="_Radial6" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-10.3568,10.999,26.0381,24.5177,74.5359,78.3911)"><stop offset="0" style="stop-color:#00336f;stop-opacity:1"/><stop offset="1" style="stop-color:#00336f;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial7" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-6.51962,11.4057,24.5674,14.4231,72.7521,72.772)"><stop offset="0" style="stop-color:#00336f;stop-opacity:0.5"/><stop offset="1" style="stop-color:#00336f;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial8" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-4.96046,12.1651,26.2531,11.0614,72.05,73.4244)"><stop offset="0" style="stop-color:#00336f;stop-opacity:0.5"/><stop offset="1" style="stop-color:#00336f;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial9" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-4.22491,10.2622,22.277,9.29717,68.699,71.4404)"><stop offset="0" style="stop-color:#00336f;stop-opacity:1"/><stop offset="1" style="stop-color:#00336f;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial10" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-9.78901,-10.0451,-28.1355,22.8978,42.6909,72.541)"><stop offset="0" style="stop-color:#002d68;stop-opacity:1"/><stop offset="1" style="stop-color:#002d68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial11" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-10.6184,-12.7117,-26.5102,25.0697,42.1289,68.125)"><stop offset="0" style="stop-color:#002d68;stop-opacity:1"/><stop offset="1" style="stop-color:#002d68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial12" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-4.66402,-8.96904,-21.2029,10.9396,40.8426,70.2218)"><stop offset="0" style="stop-color:#002d68;stop-opacity:1"/><stop offset="1" style="stop-color:#002d68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial13" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.51007,-9.04744,-21.3185,-10.7126,31.6527,57.4886)"><stop offset="0" style="stop-color:#002d68;stop-opacity:1"/><stop offset="1" style="stop-color:#002d68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial14" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(55.5618,-7.25333,2.08197,15.9483,70.5908,57.3802)"><stop offset="0" style="stop-color:#00326d;stop-opacity:1"/><stop offset="1" style="stop-color:#003b79;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial15" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(50.0892,5.26339,-1.61895,15.4438,73.3147,51.7397)"><stop offset="0" style="stop-color:#00326d;stop-opacity:1"/><stop offset="1" style="stop-color:#003b79;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial16" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(42.2509,-5.13094,1.62846,13.3715,70.1175,57.4772)"><stop offset="0" style="stop-color:#00326d;stop-opacity:1"/><stop offset="1" style="stop-color:#003b79;stop-opacity:0"/></radialGradient>
<linearGradient id="_Linear17" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-48.7206,0,-0,48.7206,59.4148,67.2287)"><stop offset="0" style="stop-color:#f5f7fa;stop-opacity:1"/><stop offset="0.53" style="stop-color:#f1f4f2;stop-opacity:1"/><stop offset="1" style="stop-color:#bad7e9;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear18" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-43.2077,0,-0,43.2077,59.144,39.7308)"><stop offset="0" style="stop-color:#fafafa;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f6f8;stop-opacity:1"/><stop offset="0.73" style="stop-color:#dce5eb;stop-opacity:1"/><stop offset="1" style="stop-color:#bbcfda;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear19" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-47.9791,-47.9791,-0,87.2229,64.0313)"><stop offset="0" style="stop-color:#fdfdff;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f2f2;stop-opacity:1"/><stop offset="0.73" style="stop-color:#bfd2e0;stop-opacity:1"/><stop offset="1" style="stop-color:#afc0cc;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear20" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-48.0543,-48.0543,-0,86.4289,64.0856)"><stop offset="0" style="stop-color:#f1f6f6;stop-opacity:1"/><stop offset="0.41" style="stop-color:#fdfdfd;stop-opacity:1"/><stop offset="0.55" style="stop-color:#f5f8fa;stop-opacity:1"/><stop offset="0.89" style="stop-color:#d6e1e7;stop-opacity:1"/><stop offset="0.98" style="stop-color:#c3d3dd;stop-opacity:1"/><stop offset="1" style="stop-color:#c3d3dd;stop-opacity:1"/></linearGradient>
<radialGradient id="_Radial21" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(14.7354,9.52776,-4.62893,7.15901,38.0093,52.7366)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial22" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(13.9988,10.5803,-4.31511,5.70934,37.54,50.7316)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial23" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(14.5634,-8.14176,3.11074,5.56427,79.858,55.6982)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial24" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(14.4062,-8.05386,3.42371,6.12408,82.5616,52.4391)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial25" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(13.5894,-9.36638,4.22241,6.1262,82.3546,55.5213)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#1a426b;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial26" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(5.21516,-11.6826,5.1171,2.2843,92.4313,44.33)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#1b436c;stop-opacity:0"/></radialGradient>
<linearGradient id="_Linear27" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.72457,-33.536,33.536,4.72457,39.1596,60.0944)"><stop offset="0" style="stop-color:#fdfdff;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f2f2;stop-opacity:1"/><stop offset="0.73" style="stop-color:#bfd2e0;stop-opacity:1"/><stop offset="1" style="stop-color:#afc0cc;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear28" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-33.3203,-0.000343575,0.000343575,-33.3203,58.0971,43.372)"><stop offset="0" style="stop-color:#fafafa;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f6f8;stop-opacity:1"/><stop offset="0.73" style="stop-color:#dce5eb;stop-opacity:1"/><stop offset="1" style="stop-color:#bbcfda;stop-opacity:1"/></linearGradient>
<radialGradient id="_Radial29" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.92018,5.55941,-10.6179,3.66735,45.0962,69.7332)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial30" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.21678,5.25887,-9.80783,0.404296,43.3965,68.5313)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial31" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.54211,3.64848,-8.0801,3.41524,49.9501,70.1915)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<linearGradient id="_Linear32" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-12.2342,-17.8556,17.8556,-12.2342,50.4952,72.5871)"><stop offset="0" style="stop-color:#fdfdff;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f2f2;stop-opacity:1"/><stop offset="0.73" style="stop-color:#bfd2e0;stop-opacity:1"/><stop offset="1" style="stop-color:#afc0cc;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear33" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-15.7162,14.3692,-14.3692,-15.7162,52.2159,56.533)"><stop offset="0" style="stop-color:#fafafa;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f6f8;stop-opacity:1"/><stop offset="0.73" style="stop-color:#dce5eb;stop-opacity:1"/><stop offset="1" style="stop-color:#bbcfda;stop-opacity:1"/></linearGradient>
<radialGradient id="_Radial34" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-16.9591,0,-0,16.9591,81.3402,72.3216)"><stop offset="0" style="stop-color:#f9f9fa;stop-opacity:1"/><stop offset="1" style="stop-color:#f5f7f7;stop-opacity:1"/></radialGradient>
<radialGradient id="_Radial35" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(8.96408,6.36252,-3.00685,4.23632,68.8193,72.3219)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial36" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(6.8821,4.88477,-3.00685,4.23632,67.5393,72.3219)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<radialGradient id="_Radial37" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(6.8821,4.88477,-3.00685,4.23632,71.3156,72.6152)"><stop offset="0" style="stop-color:#153e68;stop-opacity:1"/><stop offset="1" style="stop-color:#153e68;stop-opacity:0"/></radialGradient>
<linearGradient id="_Linear38" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(18.4986,-11.2373,-11.2373,-18.4986,64.0277,73.4655)"><stop offset="0" style="stop-color:#fdfdff;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f2f2;stop-opacity:1"/><stop offset="0.73" style="stop-color:#bfd2e0;stop-opacity:1"/><stop offset="1" style="stop-color:#afc0cc;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear39" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(8.40915,19.5646,19.5646,-8.40915,69.0669,58.1262)"><stop offset="0" style="stop-color:#fafafa;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f6f8;stop-opacity:1"/><stop offset="0.73" style="stop-color:#dce5eb;stop-opacity:1"/><stop offset="1" style="stop-color:#bbcfda;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear40" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(6.46873,14.3437,14.3437,-6.46873,80.3566,59.6296)"><stop offset="0" style="stop-color:#aebcd0;stop-opacity:1"/><stop offset="0.22" style="stop-color:#859bb9;stop-opacity:1"/><stop offset="0.53" style="stop-color:#a1b1c9;stop-opacity:1"/><stop offset="1" style="stop-color:#97a9c3;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear41" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-21.0692,-21.0692,0,57.0961,88.5161)"><stop offset="0" style="stop-color:#c0cbda;stop-opacity:1"/><stop offset="0.02" style="stop-color:#c0cbda;stop-opacity:1"/><stop offset="0.11" style="stop-color:#d4dbe5;stop-opacity:1"/><stop offset="0.45" style="stop-color:#f5f6f9;stop-opacity:1"/><stop offset="0.59" style="stop-color:#fdfdfd;stop-opacity:1"/><stop offset="1" style="stop-color:#fcfdfd;stop-opacity:1"/></linearGradient>
<radialGradient id="_Radial42" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-18.2184,0,-0,12.4951,60.2241,50.0098)"><stop offset="0" style="stop-color:#3f51b5;stop-opacity:1"/><stop offset="1" style="stop-color:#04bbf3;stop-opacity:1"/></radialGradient>
<linearGradient id="_Linear43" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-45.2637,-45.2637,-0,60.1552,68.5313)"><stop offset="0" style="stop-color:#afc0cc;stop-opacity:1"/><stop offset="0.24" style="stop-color:#afc0cc;stop-opacity:1"/><stop offset="0.74" style="stop-color:#f1f2f2;stop-opacity:1"/><stop offset="1" style="stop-color:#fdfdff;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear44" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-46.5257,-46.5257,-0,60.1552,70.1682)"><stop offset="0" style="stop-color:#fafafa;stop-opacity:1"/><stop offset="0.26" style="stop-color:#f1f6f8;stop-opacity:1"/><stop offset="0.73" style="stop-color:#dce5eb;stop-opacity:1"/><stop offset="1" style="stop-color:#bbcfda;stop-opacity:1"/></linearGradient>
<linearGradient id="_Linear45" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0,-39.9686,39.9686,-0,79.5662,62.3429)"><stop offset="0" style="stop-color:#f1f6f6;stop-opacity:1"/><stop offset="0.41" style="stop-color:#fdfdfd;stop-opacity:1"/><stop offset="0.55" style="stop-color:#f5f8fa;stop-opacity:1"/><stop offset="0.89" style="stop-color:#d6e1e7;stop-opacity:1"/><stop offset="0.98" style="stop-color:#c3d3dd;stop-opacity:1"/><stop offset="1" style="stop-color:#c3d3dd;stop-opacity:1"/></linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,21 @@
# documentation: https://docs.linuxserver.io/images/docker-apprise-api/
# slogan: Push Notifications API
# tags: api, apprise
# logo: svgs/apprise.png
# port: 8000
services:
apprise-api:
image: linuxserver/apprise-api:latest
environment:
- SERVICE_FQDN_APPRISE_8000
- PUID=1000
- PGID=1000
- TZ=UTC
volumes:
- '/apprise-api/config:/config'
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000/"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -3,19 +3,10 @@
# tags: backend-as-a-service, platform
# logo: svgs/appwrite.svg
x-logging: &x-logging
logging:
driver: 'json-file'
options:
max-file: '5'
max-size: '10m'
services:
appwrite:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
container_name: appwrite
<<: *x-logging
volumes:
- appwrite-uploads:/storage/uploads:rw
- appwrite-cache:/storage/cache:rw
@@ -36,14 +27,17 @@ services:
- _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES:-localhost,appwrite.io,*.appwrite.io}
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite}
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io}
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
- _APP_SYSTEM_TEAM_EMAIL=${_APP_SYSTEM_TEAM_EMAIL:-team@appwrite.io}
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT}
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
- _APP_OPTIONS_ROUTER_PROTECTION=${_APP_OPTIONS_ROUTER_PROTECTION:-disabled}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
- _APP_OPTIONS_FUNCTIONS_FORCE_HTTPS=${_APP_OPTIONS_FUNCTIONS_FORCE_HTTPS:-disabled}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -118,11 +112,24 @@ services:
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
- _APP_MESSAGE_SMS_TEST_DSN=${_APP_MESSAGE_SMS_TEST_DSN}
- _APP_MESSAGE_EMAIL_TEST_DSN=${_APP_MESSAGE_EMAIL_TEST_DSN}
- _APP_MESSAGE_PUSH_TEST_DSN=${_APP_MESSAGE_PUSH_TEST_DSN}
- _APP_CONSOLE_COUNTRIES_DENYLIST=${_APP_CONSOLE_COUNTRIES_DENYLIST}
- _APP_EXPERIMENT_LOGGING_PROVIDER=${_APP_EXPERIMENT_LOGGING_PROVIDER}
- _APP_EXPERIMENT_LOGGING_CONFIG=${_APP_EXPERIMENT_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-console:
image: appwrite/console:5.0.12
container_name: appwrite-console
environment:
- SERVICE_FQDN_APPWRITE=/console
appwrite-realtime:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: realtime
<<: *x-logging
container_name: appwrite-realtime
depends_on:
- appwrite-mariadb
- appwrite-redis
@@ -131,7 +138,7 @@ services:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -144,11 +151,11 @@ services:
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-audits:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-audits
<<: *x-logging
container_name: appwrite-worker-audits
depends_on:
- appwrite-redis
@@ -156,7 +163,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -168,11 +175,11 @@ services:
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-webhooks:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-webhooks
<<: *x-logging
container_name: appwrite-worker-webhooks
depends_on:
- appwrite-redis
@@ -180,19 +187,20 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=${_APP_WEBHOOK_MAX_FAILED_ATTEMPTS:-3}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-deletes:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-deletes
<<: *x-logging
container_name: appwrite-worker-deletes
depends_on:
- appwrite-redis
@@ -206,7 +214,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -241,11 +249,11 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-databases:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-databases
<<: *x-logging
container_name: appwrite-worker-databases
depends_on:
- appwrite-redis
@@ -253,7 +261,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -265,11 +273,13 @@ services:
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_WORKERS_NUM=${_APP_WORKERS_NUM:-1}
- _APP_QUEUE_NAME=${_APP_QUEUE_NAME:-appwrite}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-builds:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-builds
<<: *x-logging
container_name: appwrite-worker-builds
depends_on:
- appwrite-redis
@@ -280,7 +290,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
@@ -302,7 +312,7 @@ services:
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
@@ -324,11 +334,11 @@ services:
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-certificates:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-certificates
<<: *x-logging
container_name: appwrite-worker-certificates
depends_on:
- appwrite-redis
@@ -339,11 +349,12 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_EMAIL_CERTIFICATES=${_APP_EMAIL_CERTIFICATES:-enabled}
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -355,11 +366,11 @@ services:
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-functions:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-functions
<<: *x-logging
container_name: appwrite-worker-functions
depends_on:
- appwrite-redis
@@ -368,7 +379,9 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -390,18 +403,18 @@ services:
- _APP_DOCKER_HUB_EMAIL=${_APP_DOCKER_HUB_EMAIL}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-mails:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-mails
<<: *x-logging
container_name: appwrite-worker-mails
depends_on:
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite}
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
@@ -415,18 +428,22 @@ services:
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD}
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-messaging:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-messaging
<<: *x-logging
container_name: appwrite-worker-messaging
volumes:
- appwrite-uploads:/storage/uploads:rw
depends_on:
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -440,21 +457,43 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_SMS_FROM=${_APP_SMS_FROM}
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
- _APP_SMS_PROJECTS_DENY_LIST=${_APP_SMS_PROJECTS_DENY_LIST}
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET}
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY}
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET}
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004}
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET}
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY}
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET}
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1}
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET}
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY}
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-migrations:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-migrations
<<: *x-logging
container_name: appwrite-worker-migrations
depends_on:
- appwrite-mariadb
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_EMAIL_SECURITY=${_APP_EMAIL_SECURITY:-certs@appwrite.io}
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -468,21 +507,21 @@ services:
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-maintenance:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: maintenance
<<: *x-logging
container_name: appwrite-maintenance
depends_on:
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_DOMAIN=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_TARGET=$SERVICE_URL_APPWRITE
- _APP_DOMAIN_FUNCTIONS=$SERVICE_URL_APPWRITE
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -499,12 +538,13 @@ services:
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000}
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
- _APP_MAINTENANCE_DELAY=${_APP_MAINTENANCE_DELAY}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-usage:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-usage
container_name: appwrite-worker-usage
<<: *x-logging
restart: unless-stopped
depends_on:
- appwrite-redis
@@ -512,7 +552,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
@@ -526,11 +566,11 @@ services:
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-worker-usage-dump:
image: appwrite/appwrite:1.6
image: appwrite/appwrite:1.6.0
entrypoint: worker-usage-dump
<<: *x-logging
container_name: appwrite-worker-usage-dump
depends_on:
- appwrite-redis
@@ -538,7 +578,7 @@ services:
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
@@ -552,20 +592,19 @@ services:
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-scheduler-functions:
image: appwrite/appwrite:1.6
appwrite-task-scheduler-functions:
image: appwrite/appwrite:1.6.0
entrypoint: schedule-functions
container_name: appwrite-scheduler-functions
<<: *x-logging
restart: unless-stopped
container_name: appwrite-task-scheduler-functions
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -575,20 +614,19 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-scheduler-messages:
image: appwrite/appwrite:1.6
entrypoint: schedule-messages
container_name: appwrite-scheduler-messages
<<: *x-logging
restart: unless-stopped
appwrite-task-scheduler-executions:
image: appwrite/appwrite:1.6.0
entrypoint: schedule-executions
container_name: appwrite-task-scheduler-executions
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
@@ -598,18 +636,43 @@ services:
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-task-scheduler-messages:
image: appwrite/appwrite:1.6.0
entrypoint: schedule-messages
container_name: appwrite-task-scheduler-messages
depends_on:
- appwrite-mariadb
- appwrite-redis
environment:
- _APP_ENV=${_APP_ENV:-production}
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
- _APP_OPENSSL_KEY_V1=$SERVICE_PASSWORD_64_APPWRITE
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
- _APP_REDIS_USER=${_APP_REDIS_USER}
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
- _APP_DB_USER=$SERVICE_USER_MARIADB
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
- _APP_DATABASE_SHARED_TABLES=${_APP_DATABASE_SHARED_TABLES}
appwrite-assistant:
image: appwrite/assistant:0.4.0
container_name: appwrite-assistant
environment:
- _APP_ASSISTANT_OPENAI_API_KEY
openruntimes-executor:
container_name: openruntimes-executor
hostname: appwrite-executor
<<: *x-logging
stop_signal: SIGINT
image: openruntimes/executor:0.4.9
image: openruntimes/executor:0.6.11
networks:
- runtimes
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- appwrite-builds:/storage/builds:rw
@@ -618,12 +681,13 @@ services:
environment:
- OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_FUNCTIONS_INACTIVE_THRESHOLD}
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_FUNCTIONS_MAINTENANCE_INTERVAL}
- OPR_EXECUTOR_NETWORK=${_APP_FUNCTIONS_RUNTIMES_NETWORK}
- OPR_EXECUTOR_NETWORK=${_APP_FUNCTIONS_RUNTIMES_NETWORK:-runtimes}
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME}
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD}
- OPR_EXECUTOR_ENV=${_APP_ENV:-production}
- OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES}
- OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- OPR_EXECUTOR_RUNTIME_VERSIONS=v2,v4
- OPR_EXECUTOR_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
- OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
- OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
@@ -648,10 +712,28 @@ services:
- OPR_EXECUTOR_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION}
- OPR_EXECUTOR_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
openruntimes-proxy:
container_name: openruntimes-proxy
hostname: proxy
stop_signal: SIGINT
image: openruntimes/proxy:0.5.5
networks:
- runtimes
environment:
- OPR_PROXY_WORKER_PER_CORE=${OPR_PROXY_WORKER_PER_CORE:-1}
- OPR_PROXY_ENV=${_APP_ENV:-production}
- OPR_PROXY_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- OPR_PROXY_SECRET=$SERVICE_PASSWORD_64_APPWRITE
- OPR_PROXY_LOGGING_CONFIG=$_APP_LOGGING_CONFIG
- OPR_PROXY_ALGORITHM=random
- OPR_PROXY_EXECUTORS=exc1
- OPR_PROXY_HEALTHCHECK_INTERVAL=10000
- OPR_PROXY_MAX_TIMEOUT=600
- OPR_PROXY_HEALTHCHECK=enabled
appwrite-mariadb:
image: mariadb:10.11
container_name: appwrite-mariadb
<<: *x-logging
volumes:
- appwrite-mariadb:/var/lib/mysql:rw
environment:
@@ -659,11 +741,12 @@ services:
- MYSQL_DATABASE=${_APP_DB_SCHEMA:-appwrite}
- MYSQL_USER=$SERVICE_USER_MARIADB
- MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB
- MARIADB_AUTO_UPGRADE=1
command: 'mysqld --innodb-flush-method=fsync'
appwrite-redis:
image: redis:7.2.4-alpine
container_name: appwrite-redis
<<: *x-logging
command: >
redis-server
--maxmemory 512mb
@@ -671,6 +754,10 @@ services:
--maxmemory-samples 5
volumes:
- appwrite-redis:/data:rw
networks:
runtimes:
name: runtimes
volumes:
appwrite-mariadb:
appwrite-redis:

View File

@@ -0,0 +1,23 @@
# documentation: https://github.com/gchq/CyberChef
# slogan: The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
# tags: encryption, encoding, compression, data analysis, tools, development
# logo: svgs/cyberchef.jpeg
# port: 80
services:
cyberchef:
image: ghcr.io/gchq/cyberchef:latest
platform: linux/amd64
environment:
- SERVICE_FQDN_CYBERCHEF_80
volumes:
- cyberchef-data:/app/data
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://127.0.0.1:80'
interval: 30s
timeout: 10s
retries: 3

View File

@@ -0,0 +1,21 @@
# documentation: https://dashy.to/docs
# slogan:A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more!
# tags: dashboard, personal, self-hostable
# logo: svgs/dashy.png
# port: 8080
services:
dashy:
image: lissy93/dashy
environment:
- SERVICE_FQDN_DASHY_8080
- PUID=1000
- PGID=1000
- TZ=${TIMEZONE:-UTC}
volumes:
- './dashy/conf.yml:/app/public/conf.yml'
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -0,0 +1,58 @@
# documentation: https://faradaysec.com/
# slogan: Faraday is a powerful, open-source, web-based vulnerability management tool.
# tags: vulnerability, management, tool
# logo: svgs/faraday.png
# port: 5985
services:
postgresql:
image: postgres:latest
volumes:
- faraday-db:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
- POSTGRES_DB=${POSTGRES_DB:-faraday}
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}'
interval: 15s
timeout: 10s
retries: 15
redis:
image: redis:alpine
command: '--save 60 1 --loglevel warning'
volumes:
- redis:/data
healthcheck:
test:
- CMD-SHELL
- 'redis-cli ping | grep PONG'
interval: 15s
timeout: 10s
retries: 15
faraday:
image: faradaysec/faraday:latest
entrypoint: /entrypoint.sh
environment:
- SERVICE_FQDN_FARADAY_5985
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
- PGSQL_USER=${SERVICE_USER_POSTGRESQL}
- PGSQL_PASSWD=${SERVICE_PASSWORD_POSTGRESQL}
- PGSQL_DBNAME=${POSTGRES_DB}
- PGSQL_HOST=postgresql
- REDIS_SERVER=redis
volumes:
- faraday:/home/faraday/.faraday:rw
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "5985"]
interval: 30s
timeout: 10s
retries: 3

View File

@@ -68,3 +68,9 @@ services:
crond -f -L /dev/stdout
environment:
- STATIC_CRON_TOKEN=$SERVICE_BASE64_CRONTOKEN
healthcheck:
test: ["CMD-SHELL", "ls /entrypoint.sh || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s

View File

@@ -0,0 +1,23 @@
# documentation: https://github.com/jlesage/docker-firefox
# slogan: Fast, private, and self-hosted secure browser for browsing without limits.
# tags: browser, web, privacy
# logo: svgs/firefox.svg
# port: 5800
services:
firefox:
image: jlesage/firefox
environment:
- SERVICE_FQDN_FIREFOX_5800
volumes:
- firefox_config:/config
healthcheck:
test:
- CMD
- wget
- "-q"
- "--spider"
- "http://127.0.0.1:5800/"
interval: 5s
timeout: 20s
retries: 10

View File

@@ -0,0 +1,44 @@
# documentation: https://docs.hoarder.app/
# slogan: an open source "Bookmark Everything" app that uses AI for automatically tagging the content you throw at it.
# tags: media,read-it-later,pocket-alternative,omnivore-alternative,instapaper-alternative
# logo: svgs/hoarder.svg
# port: 3000
services:
web:
image: ghcr.io/hoarder-app/hoarder:release
volumes:
- hoarder-data:/data
environment:
- SERVICE_FQDN_HOARDER
- NEXTAUTH_SECRET=${SERVICE_PASSWORD_HOARDERNEXTAUTH}
- MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILI}
- NEXTAUTH_URL=${SERVICE_FQDN_HOARDER}
- MEILI_ADDR=http://meilisearch:7700
- BROWSER_WEB_URL=http://chrome:9222
- DATA_DIR=/data
chrome:
image: gcr.io/zenika-hub/alpine-chrome:124
command:
- '--no-sandbox'
- '--disable-gpu'
- '--disable-dev-shm-usage'
- '--remote-debugging-address=0.0.0.0'
- '--remote-debugging-port=9222'
- '--hide-scrollbars'
meilisearch:
image: getmeili/meilisearch:v1.6
environment:
- MEILI_NO_ANALYTICS=${MEILI_NO_ANALYTICS:-true}
- NEXTAUTH_SECRET=${SERVICE_PASSWORD_HOARDERNEXTAUTH}
- MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILI}
- NEXTAUTH_URL=${SERVICE_FQDN_HOARDER}
volumes:
- hoarder-meilisearch:/meili_data
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:7700/health"]
interval: 2s
timeout: 10s
retries: 15

View File

@@ -0,0 +1,95 @@
# documentation: https://docs.hoppscotch.io
# slogan: The Open Source API Development Platform
# tags: api, development, platform
# logo: svgs/hoppscotch.png
# port: 80
services:
backend:
image: hoppscotch/hoppscotch:latest
environment:
- SERVICE_FQDN_HOPPSCOTCH_80
- VITE_ALLOWED_AUTH_PROVIDERS=${VITE_ALLOWED_AUTH_PROVIDERS:-GOOGLE,GITHUB,MICROSOFT,EMAIL}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@hoppscotch-db:5432/${POSTGRES_DB}
- JWT_SECRET=${SERVICE_PASSWORD_JWT}
- TOKEN_SALT_COMPLEXITY=${TOKEN_SALT_COMPLEXITY:-10}
- MAGIC_LINK_TOKEN_VALIDITY=${MAGIC_LINK_TOKEN_VALIDITY:-3}
- REFRESH_TOKEN_VALIDITY=${REFRESH_TOKEN_VALIDITY:-604800000}
- ACCESS_TOKEN_VALIDITY=${ACCESS_TOKEN_VALIDITY:-86400000}
- SESSION_SECRET=${SERVICE_PASSWORD_SECRET}
- ALLOW_SECURE_COOKIES=${ALLOW_SECURE_COOKIES:-true}
- DATA_ENCRYPTION_KEY=${DATA_ENCRYPTION_KEY:-mustbeexactry32characterlikethat}
- REDIRECT_URL=${SERVICE_FQDN_HOPPSCOTCH}
- WHITELISTED_ORIGINS=${SERVICE_FQDN_HOPPSCOTCH}/backend,${SERVICE_FQDN_HOPPSCOTCH},${SERVICE_FQDN_HOPPSCOTCH}/admin
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-*****}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-*****}
- GOOGLE_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/google/callback
- GOOGLE_SCOPE=email,profile
- GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-*****}
- GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-*****}
- GITHUB_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/github/callback
- GITHUB_SCOPE=user:email
- MICROSOFT_CLIENT_ID=${MICROSOFT_CLIENT_ID:-*****}
- MICROSOFT_CLIENT_SECRET=${MICROSOFT_CLIENT_SECRET:-*****}
- MICROSOFT_CALLBACK_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1/auth/microsoft/callback
- MICROSOFT_SCOPE=user.read
- MICROSOFT_TENANT=common
- MAILER_SMTP_ENABLE=${MAILER_SMTP_ENABLE:-false}
- MAILER_USE_CUSTOM_CONFIGS=${MAILER_USE_CUSTOM_CONFIGS:-true}
- MAILER_ADDRESS_FROM=${MAILER_ADDRESS_FROM:-user@example.com}
- MAILER_SMTP_URL=${MAILER_SMTP_URL:-smtps_url}
- MAILER_SMTP_HOST=${MAILER_SMTP_HOST:-smtp.example.com}
- MAILER_SMTP_PORT=${MAILER_SMTP_PORT:-465}
- MAILER_SMTP_SECURE=${MAILER_SMTP_SECURE:-true}
- MAILER_SMTP_USER=${MAILER_SMTP_USER:-user@example.com}
- MAILER_SMTP_PASSWORD=${MAILER_SMTP_PASSWORD:-mailpass}
- MAILER_TLS_REJECT_UNAUTHORIZED=${MAILER_TLS_REJECT_UNAUTHORIZED:-false}
- RATE_LIMIT_TTL=${RATE_LIMIT_TTL:-60}
- RATE_LIMIT_MAX=${RATE_LIMIT_MAX:-100}
- VITE_BASE_URL=${SERVICE_FQDN_HOPPSCOTCH}
- VITE_SHORTCODE_BASE_URL=${SERVICE_FQDN_HOPPSCOTCH}
- VITE_ADMIN_URL=${SERVICE_FQDN_HOPPSCOTCH}/admin
- VITE_BACKEND_GQL_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/graphql
- VITE_BACKEND_WS_URL=wss://${SERVICE_URL_HOPPSCOTCH}/backend/graphql
- VITE_BACKEND_API_URL=${SERVICE_FQDN_HOPPSCOTCH}/backend/v1
- VITE_APP_TOS_LINK=https://docs.hoppscotch.io/support/terms
- VITE_APP_PRIVACY_POLICY_LINK=https://docs.hoppscotch.io/support/privacy
- ENABLE_SUBPATH_BASED_ACCESS=true
depends_on:
db-migration:
condition: service_completed_successfully
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:80/"]
interval: 5s
timeout: 20s
retries: 10
hoppscotch-db:
image: postgres:latest
volumes:
- postgres_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-hoppscotch}
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -h localhost -U $${POSTGRES_USER} -d $${POSTGRES_DB}'
interval: 5s
timeout: 10s
retries: 10
db-migration:
exclude_from_hc: true
image: hoppscotch/hoppscotch:latest
depends_on:
hoppscotch-db:
condition: service_healthy
command: 'pnpx prisma migrate deploy'
restart: on-failure
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-hoppscotch}
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@hoppscotch-db:5432/${POSTGRES_DB:-hoppscotch}

View File

@@ -14,7 +14,7 @@ services:
- immich-uploads:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
environment:
- SERVICE_FQDN_IMMICH_3001
- SERVICE_FQDN_IMMICH_2283
- UPLOAD_LOCATION=./library
- DB_DATA_LOCATION=./postgres
- DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES

View File

@@ -0,0 +1,19 @@
# documentation: https://jupyter.org/
# slogan: Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text.
# tags: notebook, python, data, analysis
# logo: svgs/jupyter.svg
# port: 8888
services:
jupyter-notebook-python:
image: quay.io/jupyter/base-notebook:latest
environment:
- SERVICE_FQDN_JUPYTER_8888
volumes:
- '/jupyter:/home/jovyan/work'
command: start-notebook.sh
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8888/"]
interval: 30s
timeout: 20s
retries: 10

View File

@@ -15,8 +15,6 @@ services:
- LISTMONK_db__user=$SERVICE_USER_POSTGRES
- LISTMONK_db__password=$SERVICE_PASSWORD_POSTGRES
- LISTMONK_db__port=5432
- LISTMONK_app__admin_username=admin
- LISTMONK_app__admin_password=$SERVICE_PASSWORD_ADMIN
- TZ=Etc/UTC
volumes:
- "listmonk-data:/listmonk/uploads"

View File

@@ -9,7 +9,12 @@ services:
image: mattermost/mattermost-team-edition:release-10
platform: linux/amd64
volumes:
- mattermost-data:/mattermost
- 'mattermost-data-config:/mattermost/config:rw'
- 'mattermost-data-data:/mattermost/data:rw'
- 'mattermost-data-logs:/mattermost/logs:rw'
- 'mattermost-data-plugins:/mattermost/plugins:rw'
- 'mattermost-data-client-plugins:/mattermost/client/plugins:rw'
- 'mattermost-data-bleve-indexes:/mattermost/bleve-indexes:rw'
environment:
- SERVICE_FQDN_MATTERMOST_8065
- MM_SERVICESETTINGS_SITEURL=${SERVICE_FQDN_MATTERMOST}

View File

@@ -0,0 +1,19 @@
# documentation: https://docs.portainer.io
# slogan: Portainer is a lightweight management UI for Docker
# tags: docker, management, ui
# logo: svgs/portainer.png
# port: 9000
services:
portainer:
image: portainer/portainer-ce:alpine
environment:
- SERVICE_FQDN_PORTAINER_9000
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- 'portainer_data:/data'
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:9000/"]
interval: 20s
timeout: 20s
retries: 10

View File

@@ -1,59 +1,97 @@
# ignore: true
# documentation: https://docs.postiz.com/introduction
# slogan:
# tags:
# logo:
# port: 4200
# documentation: https://docs.postiz.com
# slogan: Open source social media scheduling tool.
# tags: post everywhere, social media, planning
# logo: svgs/postiz.svg
# port: 5000
services:
postiz:
image: "ghcr.io/gitroomhq/postiz-app:latest"
image: ghcr.io/gitroomhq/postiz-app:latest
environment:
- SERVICE_FQDN_POSTIZ_4200
- SERVICE_FQDN_POSTIZ_5000
- MAIN_URL=${SERVICE_FQDN_POSTIZ}
- FRONTEND_URL=${SERVICE_FQDN_POSTIZ}
- NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZAPI_3000}
- JWT_SECRET=${SERVICE_REALBASE64_JWTSECRET}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-postiz}?schema=public
- REDIS_URL=redis://redis:6379
- BACKEND_INTERNAL_URL=http://localhost:3000/
- NEXT_PUBLIC_BACKEND_URL=${SERVICE_FQDN_POSTIZ}/api
- JWT_SECRET=${SERVICE_PASSWORD_JWTSECRET}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRESQL}:${SERVICE_PASSWORD_POSTGRESQL}@postgresql:5432/${POSTGRESQL_DATABASE:-postiz-db}
- REDIS_URL=redis://${SERVICE_USER_REDIS}:${SERVICE_PASSWORD_REDIS}@redis:6379
- BACKEND_INTERNAL_URL=http://localhost:3000
- IS_GENERAL=true
- CLOUDFLARE_ACCOUNT_ID=${CLOUDFLARE_ACCOUNT_ID}
- CLOUDFLARE_ACCESS_KEY=${CLOUDFLARE_ACCESS_KEY}
- CLOUDFLARE_SECRET_ACCESS_KEY=${CLOUDFLARE_SECRET_ACCESS_KEY}
- CLOUDFLARE_BUCKETNAME=${CLOUDFLARE_BUCKETNAME}
- CLOUDFLARE_BUCKET_URL=${CLOUDFLARE_BUCKET_URL}
- CLOUDFLARE_REGION=${CLOUDFLARE_REGION}
- RESEND_API_KEY=${RESEND_API_KEY}
- EMAIL_FROM_ADDRESS=${EMAIL_FROM_ADDRESS}
- EMAIL_FROM_NAME=${EMAIL_FROM_NAME}
- STORAGE_PROVIDER=local
- UPLOAD_DIRECTORY=/uploads
- NEXT_PUBLIC_UPLOAD_DIRECTORY=/uploads
- X_API_KEY=${SERVICE_X_API}
- X_API_SECRET=${SERVICE_X_SECRET}
- REDDIT_CLIENT_ID=${SERVICE_REDDIT_API}
- REDDIT_CLIENT_SECRET=${SERVICE_REDDIT_SECRET}
- TIKTOK_CLIENT_ID=${SERVICE_TIKTOK_ID}
- TIKTOK_CLIENT_SECRET=${SERVICE_TIKTOK_SECRET}
- SLACK_ID=${SERVICE_SLACK_ID}
- SLACK_SECRET=${SERVICE_SLACK_SECRET}
- PINTEREST_CLIENT_ID=${SERVICE_PINTEREST_ID}
- PINTEREST_CLIENT_SECRET=${SERVICE_PINTEREST_SECRET}
- DRIBBLE_CLIENT_ID=${SERVICE_DRIBBLE_ID}
- DRIBBLE_CLIENT_SECRET=${SERVICE_DRIBBLE_SECRET}
- DISCORD_CLIENT_ID=${SERVICE_DISCORD_ID}
- DISCORD_CLIENT_SECRET=${SERVICE_DISCORD_SECRET}
- DISCORD_BOT_TOKEN_ID=${SERVICE_DISCORD_TOKEN}
- YOUTUBE_CLIENT_ID=${SERVICE_YOUTUBE_ID}
- YOUTUBE_CLIENT_SECRET=${SERVICE_YOUTUBE_SECRET}
- MASTODON_CLIENT_ID=${SERVICE_MASTODON_ID}
- MASTODON_CLIENT_SECRET=${SERVICE_MASTODON_SECRET}
- LINKEDIN_CLIENT_ID=${SERVICE_LINKEDIN_ID}
- LINKEDIN_CLIENT_SECRET=${SERVICE_LINKEDIN_SECRET}
- INSTAGRAM_APP_ID=${SERVICE_INSTAGRAM_ID}
- INSTAGRAM_APP_SECRET=${SERVICE_INSTAGRAM_SECRET}
- FACEBOOK_APP_ID=${SERVICE_FACEBOOK_ID}
- FACEBOOK_APP_SECRET=${SERVICE_FACEBOOK_SECRET}
- THREADS_APP_ID=${SERVICE_THREADS_ID}
- THREADS_APP_SECRET=${SERVICE_THREADS_SECRET}
- GITHUB_CLIENT_ID=${SERVICE_GITHUB_ID}
- GITHUB_CLIENT_SECRET=${SERVICE_GITHUB_SECRET}
- BEEHIIVE_API_KEY=${SERVICE_BEEHIIVE_KEY}
- BEEHIIVE_PUBLICATION_ID=${SERVICE_BEEHIIVE_PUBID}
- OPENAI_API_KEY=${SERVICE_OPENAI_KEY}
volumes:
- postiz_config:/config/
- postiz_uploads:/uploads/
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- "postiz_config:/config"
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:5000/"]
interval: 5s
timeout: 20s
retries: 10
postgres:
image: "postgres:latest"
environment:
- POSTGRES_DB=${POSTGRES_DB:-postiz}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
image: postgres:14.5
volumes:
- "pg-data:/var/lib/postgresql/data"
- postiz_postgresql_data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
- POSTGRES_DB=${POSTGRESQL_DATABASE:-postiz-db}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
redis:
image: "redis:7.2"
image: redis:7.2
volumes:
- "redis_data:/data"
- postiz_redis_data:/data
environment:
- REDIS_PASSWORD=${SERVICE_PASSWORD_REDIS}
- REDIS_USER=${SERVICE_USER_REDIS}
healthcheck:
test: ["CMD", "redis-cli", "ping"]
test:
- CMD
- redis-cli
- PING
interval: 5s
timeout: 20s
retries: 10
timeout: 10s
retries: 20

View File

@@ -12,6 +12,7 @@ services:
condition: service_healthy
environment:
- SERVICE_FQDN_PREFECT_4200
- PREFECT_API_URL=${SERVICE_FQDN_PREFECT}/api
- PREFECT_API_DATABASE_CONNECTION_URL=postgresql+asyncpg://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgresql:5432/${POSTGRES_DB:-prefect}
- PREFECT_API_KEY=${SERVICE_PASSWORD_APIKEY}
- PREFECT_EXPERIMENTAL_WARN=${PREFECT_EXPERIMENTAL_WARN:-false}

View File

@@ -0,0 +1,24 @@
# documentation: https://readeck.org/en/docs/
# slogan: Simple web application that lets you save the precious readable content of web pages you like and want to keep forever.
# tags: read-it-later,pocket-alternative,omnivore-alternative,instapaper-alternative
# logo: svgs/readeck.svg
# port: 8000
services:
readeck:
image: codeberg.org/readeck/readeck:latest
environment:
- SERVICE_FQDN_READECK
- READECK_USE_X_FORWARDED=${READECK_USE_X_FORWARDED:-true}
volumes:
- readeck_data:/readeck
healthcheck:
test:
- CMD
- /bin/readeck
- healthcheck
- '-config'
- config.toml
interval: 30s
timeout: 2s
retries: 3

View File

@@ -6,17 +6,22 @@
services:
syncthing:
image: 'lscr.io/linuxserver/syncthing:latest'
image: lscr.io/linuxserver/syncthing:latest
environment:
- SERVICE_FQDN_SYNCTHING_8384
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- TZ=${TZ:-Etc/UTC}
volumes:
- 'syncthing-config:/config'
- 'syncthing-data1:/data1'
- 'syncthing-data2:/data2'
- syncthing_config:/config
- syncthing_data1:/data1
- syncthing_data2:/data2
ports:
- '22000:22000/tcp'
- '22000:22000/udp'
- '21027:21027/udp'
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8384/"]
interval: 5s
timeout: 20s
retries: 10

View File

@@ -20,9 +20,9 @@ x-common-env: &common-env
ENCRYPTION_KEY: $SERVICE_PASSWORD_64_ENCRYPTION
PROVIDER_SECRET: $SERVICE_PASSWORD_64_PROVIDER
COORDINATOR_SECRET: $SERVICE_PASSWORD_64_COORDINATOR
DATABASE_HOST: postgresql
DATABASE_URL: postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB
DIRECT_URL: postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB
DATABASE_HOST: postgresql:5432
DATABASE_URL: postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB?sslmode=disable
DIRECT_URL: postgres://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/$POSTGRES_DB?sslmode=disable
REDIS_HOST: redis
REDIS_PORT: 6379
REDIS_TLS_DISABLED: true

View File

@@ -13,18 +13,14 @@ services:
- FRONT_BASE_URL=$SERVICE_FQDN_TWENTY
- ENABLE_DB_MIGRATIONS=true
- CACHE_STORAGE_TYPE=${CACHE_STORAGE_TYPE:-redis}
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_URL=redis://redis:6379
# https://twenty.com/developers/section/self-hosting/self-hosting-var#security
- API_RATE_LIMITING_TTL=${API_RATE_LIMITING_TTL:-100}
- API_RATE_LIMITING_LIMIT=${API_RATE_LIMITING_LIMIT:-100}
# https://twenty.com/developers/section/self-hosting/self-hosting-var#tokens
- ACCESS_TOKEN_SECRET=$SERVICE_BASE64_32_ACCESS
- LOGIN_TOKEN_SECRET=$SERVICE_BASE64_32_LOGIN
- REFRESH_TOKEN_SECRET=$SERVICE_BASE64_32_REFRESH
- FILE_TOKEN_SECRET=$SERVICE_BASE64_32_FILE
- APP_SECRET=$SERVICE_BASE64_32_SECRET
- POSTGRES_ADMIN_PASSWORD=$SERVICE_PASSWORD_POSTGRES
- PG_DATABASE_URL=postgres://postgres:$SERVICE_PASSWORD_POSTGRES@postgres:5432/default

View File

@@ -0,0 +1,18 @@
# documentation: https://github.com/lissy93/web-check
# slogan: All-in-one OSINT tool for analysing any website
# tags: osint, website, analysis
# logo: svgs/web-check.png
# port: 3000
services:
web-check:
image: lissy93/web-check
environment:
- SERVICE_FQDN_WEBCHECK_3000
healthcheck:
test:
- CMD-SHELL
- 'wget -qO- http://127.0.0.1:3000/'
interval: 5s
timeout: 20s
retries: 10

View File

@@ -0,0 +1,37 @@
# documentation: https://docs.requarks.io
# slogan: The most powerful and extensible open source Wiki software.
# tags: wiki, collaboration, documentation
# logo: svgs/wikijs.svg
# port: 80
services:
wikijs:
image: ghcr.io/requarks/wiki:2
depends_on:
- postgres
environment:
- SERVICE_FQDN_WIKIJS_3000
- DB_TYPE=postgres
- DB_HOST=postgres
- DB_PORT=5432
- DB_USER=${SERVICE_USER_POSTGRES}
- DB_PASS=${SERVICE_PASSWORD_POSTGRES}
- DB_NAME=${POSTGRESQL_DATABASE:-wiki-db}
healthcheck:
test: curl --fail http://localhost:3000 || exit 1
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_DB=${POSTGRESQL_DATABASE:-wiki-db}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 20s
retries: 10
logging:
driver: none
volumes:
- wikijs-postgresql-data:/var/lib/postgresql/data

File diff suppressed because one or more lines are too long