Revert "Revert "Feat: New services part 3""
@@ -8,7 +8,6 @@ return [
|
||||
// The release version of your application
|
||||
// Example with dynamic git hash: trim(exec('git --git-dir ' . base_path('.git') . ' log --pretty="%h" -n1 HEAD'))
|
||||
'release' => '4.0.0-beta.358',
|
||||
|
||||
// When left empty or `null` the Laravel environment will be used
|
||||
'environment' => config('app.env'),
|
||||
|
||||
|
@@ -1,4 +1,3 @@
|
||||
<?php
|
||||
|
||||
return '4.0.0-beta.358';
|
||||
|
||||
|
88
public/svgs/affine.svg
Normal file
@@ -0,0 +1,88 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 500" width="500" height="500" style="width:100%;height:100%;transform:translate3d(0,0,0);content-visibility:visible">
|
||||
<defs>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="a"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="g"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="b"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="c"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="d"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="e"/>
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0z" transform="translate(250 250)" style="display:block" id="f"/>
|
||||
<mask id="r" mask-type="alpha">
|
||||
<use xlink:href="#a"/>
|
||||
</mask>
|
||||
<mask id="p" mask-type="alpha">
|
||||
<use xlink:href="#b"/>
|
||||
</mask>
|
||||
<mask id="n" mask-type="alpha">
|
||||
<use xlink:href="#c"/>
|
||||
</mask>
|
||||
<mask id="m" mask-type="alpha">
|
||||
<use xlink:href="#d"/>
|
||||
</mask>
|
||||
<mask id="l" mask-type="alpha">
|
||||
<use xlink:href="#e"/>
|
||||
</mask>
|
||||
<mask id="k" mask-type="alpha">
|
||||
<use xlink:href="#f"/>
|
||||
</mask>
|
||||
<mask id="j" mask-type="alpha">
|
||||
<use xlink:href="#g"/>
|
||||
</mask>
|
||||
<clipPath id="h">
|
||||
<path d="M0 0h500v500H0z"/>
|
||||
</clipPath>
|
||||
<clipPath id="i">
|
||||
<path d="M0 0h500v500H0z"/>
|
||||
</clipPath>
|
||||
<clipPath id="s">
|
||||
<path d="M0 0h1920v1080H0z"/>
|
||||
</clipPath>
|
||||
<clipPath id="q">
|
||||
<path d="M0 0h1920v1080H0z"/>
|
||||
</clipPath>
|
||||
<clipPath id="o">
|
||||
<path d="M0 0h1920v1080H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#h)">
|
||||
<g clip-path="url(#i)" transform="translate(0 24)" style="display:block">
|
||||
<path d="M-6.816-205.027c-20.92 36.208-170.344 294.875-187.382 324.715-1.947 4.684 1.644 10.592 6.749 10.684 1.368.132 11.815.066 13.815.079 97.651.04 259.272-.026 357.187 0 1.526 0 3.79.013 3.895-.079.618.053 1.105-.198 1.658-.224 4.25-1.276 6.815-6.276 5.091-10.447-.408-.592-.237-.67-1.342-2.486C143.266 31.247 71.403-93.101 21.696-179.24c-3.052-5.052-11.868-20.735-14.881-25.774-2.96-5.144-10.684-5.21-13.644 0zm-20.511-11.842c9.105-16.065 30.997-20.709 45.904-9.762 3.566 2.645 6.513 6.039 8.763 9.762l4.96 8.592 9.921 17.183L200.973 83.875l9.921 17.183c1.671 2.987 3.21 5.25 5.236 9.644 1.605 4.105 2.435 8.539 2.29 12.973-.382 13.381-9.974 25.656-22.881 29.248-4.184 1.184-9.144 1.237-11.986 1.184-98.112-.118-259.378.092-357.187 0-6.723-.237-14.512.763-21.906-1.197-17.788-4.96-27.683-25.183-20.578-42.234 17.486-31.524 167.371-290.153 188.791-327.545" transform="translate(250 250)" style="display:block"/>
|
||||
<g mask="url(#j)" style="display:block">
|
||||
<path d="m202.134 244.025 41.827 72.456c2.684 4.658 9.407 4.658 12.091 0l41.826-72.456c2.684-4.658-.671-10.473-6.039-10.473h-83.652c-5.368 0-8.736 5.815-6.039 10.473zm44.182 47.642-21.525-37.274c-1.645-2.842.408-6.394 3.697-6.394h43.05c3.276 0 5.328 3.552 3.697 6.394l-21.525 37.274c-1.645 2.842-5.736 2.842-7.381 0z"/>
|
||||
</g>
|
||||
<g mask="url(#k)" style="display:block">
|
||||
<path d="M230.369 47.341c-22.906 53.22-42.589 115.018-23.274 172.146 2.802 7.868 6.288 15.42 10.604 22.591l-12.486 7.302c-4.684-7.881-8.618-16.486-11.657-25.222-17.749-52.128-4.526-108.427 14.486-158.029 3.197-8.184 6.605-16.262 10.157-24.248l12.157 5.447z"/>
|
||||
</g>
|
||||
<g mask="url(#l)" style="display:block">
|
||||
<path d="M448.039 356.347c-34.642-46.457-78.31-94.402-137.451-106.23-8.21-1.5-16.499-2.263-24.867-2.105l-.079-14.46c9.17-.118 18.578.776 27.669 2.513 54.01 10.697 96.165 50.286 129.61 91.56 5.486 6.855 10.776 13.855 15.92 20.92z"/>
|
||||
</g>
|
||||
<g mask="url(#m)" style="display:block">
|
||||
<path d="M71.59 390.345c57.549-6.776 120.914-20.617 160.727-65.93 5.408-6.355 10.21-13.158 14.262-20.486l12.565 7.158c-4.487 7.999-9.973 15.709-16.012 22.709-36.274 41.432-91.626 58.141-144.096 66.469a586 586 0 0 1-26.077 3.329l-1.355-13.249z"/>
|
||||
</g>
|
||||
<g mask="url(#n)" style="display:block">
|
||||
<g clip-path="url(#o)" transform="translate(-710 -290)">
|
||||
<path d="m26.6-48.803-69.413 93.109-5.881-7.184 62.386-93.517z" transform="translate(990.142 584.502)" style="display:block"/>
|
||||
<path d="M-69.58 28.086 57.952-72.23l11.212 14.81-133.09 92.966z" transform="translate(988.235 608.382)" style="display:block"/>
|
||||
<path d="m-101.789 16.832 210.317-98.614 8.268 18.054-214.415 89.649z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
<path d="m-165.267 36.82 324.014-66.518 4.06 20.75-326.033 56.216z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
</g>
|
||||
</g>
|
||||
<g mask="url(#p)" style="display:block">
|
||||
<g clip-path="url(#q)" transform="rotate(120 689.283 205.728)">
|
||||
<path d="m26.6-48.803-69.413 93.109-5.881-7.184 62.386-93.517z" transform="translate(990.142 584.502)" style="display:block"/>
|
||||
<path d="M-69.58 28.086 57.952-72.23l11.212 14.81-133.09 92.966z" transform="translate(988.235 608.382)" style="display:block"/>
|
||||
<path d="m-101.789 16.832 210.317-98.614 8.268 18.054-214.415 89.649z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
<path d="m-165.267 36.82 324.014-66.518 4.06 20.75-326.033 56.216z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
</g>
|
||||
</g>
|
||||
<g mask="url(#r)" style="display:block">
|
||||
<g clip-path="url(#s)" transform="rotate(-120 520.37 615.193)">
|
||||
<path d="m26.6-48.803-69.413 93.109-5.881-7.184 62.386-93.517z" transform="translate(990.142 584.502)" style="display:block"/>
|
||||
<path d="M-69.58 28.086 57.952-72.23l11.212 14.81-133.09 92.966z" transform="translate(988.235 608.382)" style="display:block"/>
|
||||
<path d="m-101.789 16.832 210.317-98.614 8.268 18.054-214.415 89.649z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
<path d="m-165.267 36.82 324.014-66.518 4.06 20.75-326.033 56.216z" transform="translate(981.847 640.913)" style="display:block"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.0 KiB |
7
public/svgs/cloudbeaver.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg width="47" height="30" viewBox="0 0 47 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M38.7759 14.1873C38.5379 14.1873 38.7759 14.1873 38.7759 14.1873C38.7759 6.60302 31.8594 0 24.0793 0C18.3479 0 13.236 3.37708 11.0359 8.16627C10.9594 8.16474 11.0363 8.16474 10.9594 8.16474C4.91834 8.16474 0 13.4481 0 19.3371C0 23.5291 1.79123 26.7912 5.40029 28.5334C5.97588 27.949 7.40249 27.9389 8.13884 27.5428C6.84539 27.1249 5.79299 26.2659 4.66867 25.4489C0.803302 22.6401 1.38287 15.7952 3.91798 13.4851C7.97916 9.78429 12.4979 10.7237 12.4979 10.7237L13.059 9.50237C13.9945 7.46591 15.8766 1.56091 24.4742 1.66552C33.5675 1.77619 36.0433 11.1473 36.0467 14.2713C36.0464 14.284 36.0463 14.2969 36.0463 14.3097L36.0415 16.517L38.2972 16.326C38.4759 16.3108 38.6533 16.3031 38.8244 16.3031C42.127 16.3031 45.4997 18.8079 45.4997 22.0274C45.4997 25.2468 42.127 27.9805 38.8244 27.9805H20.1518C20.3643 28.0866 22.5177 30 26.0633 30H38.8244C43.2765 30 46.8855 26.4818 46.8855 22.1418C46.8855 17.8019 43.228 14.1873 38.7759 14.1873Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.8004 9.8463C31.95 9.53546 29.7648 9.74492 28.2297 10.3292C27.4766 10.6158 26.8793 10.9921 26.674 11.4423C26.1107 12.6779 29.5611 14.8228 30.9519 14.4284C31.6146 14.2404 32.5663 12.8654 32.9903 11.6624C33.2918 10.8073 33.3271 10.0389 32.8004 9.8463Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M25.0842 10.8637C24.6901 10.8148 23.8755 10.7075 23.6155 10.4203C23.0338 9.77811 22.1014 9.60573 21.4237 9.75105C20.7054 9.90502 20.3232 10.7199 20.8163 11.7331C21.0382 12.189 20.9819 12.7384 20.7558 13.148C21.462 12.5069 22.1221 11.9844 22.6119 11.7331C23.5772 11.2382 24.4333 10.9815 25.0842 10.8637Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.1314 20.2602C32.1314 20.2602 31.4272 22.5942 30.9343 23.6582C30.4998 24.5958 30.3622 24.5209 30.0482 24.6307C30.1662 24.34 30.2513 23.9586 30.4061 23.3149C30.5923 22.5406 30.4061 22.3368 30.4061 22.3368C30.162 23.4955 29.7824 24.3235 29.46 24.8668C29.0416 25.0032 28.5273 25.0913 28.1527 24.9452C27.6246 24.7393 27.5349 22.3195 27.5349 22.1823C29.8332 22.3368 31.0575 21.4272 32.1314 20.2602ZM20.8335 17.7094C20.8821 17.934 20.9363 18.1447 20.9929 18.349C20.9577 18.3105 20.9391 18.2896 20.9391 18.2896C20.9391 18.2896 20.9842 18.3913 21.0538 18.5659C21.1504 18.8876 21.2571 19.1817 21.3709 19.4538C21.7489 20.6371 22.1519 22.4536 21.5511 23.5925C21.1018 24.4441 15.3943 28.2867 25.1501 29.9574L33.9076 27.9808C30.0498 27.4718 31.5994 24.4504 32.5187 22.8344C33.622 20.8947 33.9986 19.6596 34.2362 17.8778C34.3792 16.8067 34.274 16.0052 34.2439 15.8123C34.2392 15.7831 34.2362 15.7669 34.2362 15.7669C34.2362 15.7669 34.232 15.8268 34.2207 15.9294L34.2362 15.6639C34.2362 15.6639 33.5397 18.3926 32.1666 19.3708C31.8471 19.5983 31.6426 19.7498 31.5115 19.8517C31.6499 19.3431 32.1686 17.1988 31.4272 16.0244C31.4272 16.0244 31.12 20.9578 28.4217 21.2197C25.7233 21.4816 21.9208 18.7903 20.8335 17.7094Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.0693 17.5462C12.9609 18.1371 12.9143 18.6691 12.9312 19.1378C12.4068 19.9482 8.62053 28.7229 3.91797 24.7801C4.7226 25.4678 5.40027 28.5338 5.40027 28.5338C9.82341 31.0535 12.8862 21.1715 13.2359 20.5234C13.5211 21.1173 14.0027 22.3232 16.6758 22.3769C16.6758 22.3769 13.5399 20.8782 14.9397 16.901C16.3395 12.9238 18.4087 9.54824 21.2501 7.98749C24.0914 6.42674 26.9623 6.53321 29.603 7.63149C29.603 7.63149 25.6177 4.05998 21.0383 6.75964C18.4072 8.31077 16.6555 10.0319 15.4497 11.7959C14.4386 11.9719 13.2092 11.8129 12.7108 11.8129C12.0807 11.8129 11.1087 12.2295 11.548 13.7373C11.9783 15.2138 13.1659 16.707 13.0693 17.5462Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
BIN
public/svgs/cryptgeon.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
public/svgs/flowise.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
public/svgs/freshrss.png
Normal file
After Width: | Height: | Size: 14 KiB |
11
public/svgs/homebox.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg viewBox="0 0 10817 9730" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:5.42683">
|
||||
<path d="M9310.16 2560.9c245.302 249.894 419.711 539.916 565.373 845.231 47.039 98.872 36.229 215.514-28.2 304.05-64.391 88.536-172.099 134.676-280.631 120.28 0 .053-.039.053-.039.053" style="fill:gray;stroke:#000;stroke-width:206.41px"/>
|
||||
<path d="M5401.56 487.044c-127.958 6.227-254.855 40.77-370.992 103.628-765.271 414.225-2397.45 1297.68-3193.03 1728.32-137.966 74.669-250.327 183.605-328.791 313.046l3963.09 2122.43s-249.048 416.428-470.593 786.926c-189.24 316.445-592.833 429.831-919.198 258.219l-2699.36-1419.32v2215.59c0 226.273 128.751 435.33 337.755 548.466 764.649 413.885 2620.97 1418.66 3385.59 1832.51 209.018 113.137 466.496 113.137 675.514 0 764.623-413.857 2620.94-1418.63 3385.59-1832.51 208.989-113.136 337.743-322.193 337.743-548.466v-3513.48c0-318.684-174.59-611.722-454.853-763.409-795.543-430.632-2427.75-1314.09-3193.02-1728.32-141.693-76.684-299.364-111.227-455.442-103.628" style="fill:#dadada;stroke:#000;stroke-width:206.42px"/>
|
||||
<path d="M5471.83 4754.46V504.71c-127.958 6.226-325.127 23.1-441.264 85.958-765.271 414.225-2397.45 1297.68-3193.03 1728.32-137.966 74.669-250.327 183.605-328.791 313.046l3963.09 2122.43Z" style="fill:gray;stroke:#000;stroke-width:206.42px"/>
|
||||
<path d="m1459.34 2725.96-373.791 715.667c-177.166 339.292-46.417 758 292.375 936.167l4.75 2.5m0 0 2699.37 1419.29c326.374 171.625 729.916 58.25 919.165-258.208 221.542-370.5 470.583-786.917 470.583-786.917l-3963.04-2122.42-2.167 3.458-47.25 90.458" style="fill:#dadada;stroke:#000;stroke-width:206.42px"/>
|
||||
<path d="M5443.74 520.879v4149.79" style="fill:none;stroke:#000;stroke-width:153.5px"/>
|
||||
<path d="M8951.41 4102.72c0-41.65-22.221-80.136-58.291-100.961-36.069-20.825-80.51-20.825-116.58 0l-2439.92 1408.69c-36.07 20.825-58.29 59.311-58.29 100.961V7058c0 41.65 22.22 80.136 58.29 100.961 36.07 20.825 80.51 20.825 116.58 0l2439.92-1408.69c36.07-20.825 58.291-59.312 58.291-100.962v-1546.59Z" style="fill:#567f67"/>
|
||||
<path d="M8951.41 4102.72c0-41.65-22.221-80.136-58.291-100.961-36.069-20.825-80.51-20.825-116.58 0l-2439.92 1408.69c-36.07 20.825-58.29 59.311-58.29 100.961V7058c0 41.65 22.22 80.136 58.29 100.961 36.07 20.825 80.51 20.825 116.58 0l2439.92-1408.69c36.07-20.825 58.291-59.312 58.291-100.962v-1546.59ZM6463.98 5551.29v1387.06l2301.77-1328.92V4222.37L6463.98 5551.29Z"/>
|
||||
<path d="M5443.76 9041.74v-4278.4" style="fill:none;stroke:#000;stroke-width:206.44px;stroke-linejoin:miter"/>
|
||||
<path d="m5471.79 4773.86 3829.35-2188.22" style="fill:none;stroke:#000;stroke-width:206.43px;stroke-linejoin:miter"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.7 KiB |
66
public/svgs/immich.svg
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 28.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Router_Medium_x5F_Black_00000037681990313894948460000012967653829507626171_"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 792 792"
|
||||
style="enable-background:new 0 0 792 792;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#ACCBFA;}
|
||||
.st1{fill:#FA2921;}
|
||||
.st2{fill:#ED79B5;}
|
||||
.st3{fill:#FFB400;}
|
||||
.st4{fill:#1E83F7;}
|
||||
.st5{fill:#18C249;}
|
||||
</style>
|
||||
<g>
|
||||
<path class="st0" d="M110.16,537.4c7.85,0,14.25,6.4,14.25,14.04c0,7.85-6.4,14.04-14.25,14.04s-14.45-6.19-14.45-14.04
|
||||
C95.71,543.8,102.32,537.4,110.16,537.4z M97.98,610.7c0-3.72-0.83-9.71-0.83-13.22c0-7.43,5.78-13.22,13.01-13.22
|
||||
s13.01,5.78,13.01,13.22c0,3.51-1.03,9.5-1.03,13.22v47.9c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.78,13.22-13.01,13.22
|
||||
s-13.01-5.78-13.01-13.22c0-3.51,0.83-9.5,0.83-13.22V610.7z"/>
|
||||
<path class="st0" d="M265.44,671.82c0-3.51,1.03-9.5,1.03-13.22v-35.72c0-12.6-6.61-20.85-17.96-20.85
|
||||
c-7.43,0-14.04,3.72-18.38,10.94c0.41,2.27,0.62,4.54,0.62,7.02v38.61c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.78,13.22-13.22,13.22
|
||||
c-6.81,0-12.8-5.78-12.8-13.22c0-3.51,1.03-9.5,1.03-13.22v-36.34c0-3.92-0.62-7.43-2.06-10.53c-2.69-5.99-8.05-9.71-15.49-9.71
|
||||
c-7.64,0-13.83,3.92-18.38,10.94v45.63c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.99,13.22-13.01,13.22c-7.23,0-13.01-5.78-13.01-13.22
|
||||
c0-3.51,0.83-9.5,0.83-13.22v-47.7c0-3.72-1.86-10.32-1.86-13.42c0-7.43,5.37-13.22,12.6-13.22c6.81,0,10.74,4.54,11.98,10.53
|
||||
c6.19-8.26,14.87-13.42,26.22-13.42c13.42,0,23.13,6.4,29.11,16.73c6.81-10.74,16.73-16.73,29.11-16.73
|
||||
c20.86,0,36.75,15.07,36.75,39.23v37.99c0,3.72,0.83,9.71,0.83,13.22c0,7.43-5.57,13.22-13.01,13.22
|
||||
C271.43,685.04,265.44,679.26,265.44,671.82z"/>
|
||||
<path class="st0" d="M431.45,671.82c0-3.51,1.03-9.5,1.03-13.22v-35.72c0-12.6-6.61-20.85-17.96-20.85
|
||||
c-7.43,0-14.04,3.72-18.38,10.94c0.41,2.27,0.62,4.54,0.62,7.02v38.61c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.78,13.22-13.22,13.22
|
||||
c-6.82,0-12.8-5.78-12.8-13.22c0-3.51,1.03-9.5,1.03-13.22v-36.34c0-3.92-0.62-7.43-2.06-10.53c-2.68-5.99-8.05-9.71-15.49-9.71
|
||||
c-7.64,0-13.83,3.92-18.38,10.94v45.63c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.99,13.22-13.01,13.22c-7.23,0-13.01-5.78-13.01-13.22
|
||||
c0-3.51,0.83-9.5,0.83-13.22v-47.7c0-3.72-1.86-10.32-1.86-13.42c0-7.43,5.37-13.22,12.6-13.22c6.82,0,10.74,4.54,11.98,10.53
|
||||
c6.2-8.26,14.87-13.42,26.22-13.42c13.42,0,23.13,6.4,29.11,16.73c6.81-10.74,16.72-16.73,29.11-16.73
|
||||
c20.86,0,36.75,15.07,36.75,39.23v37.99c0,3.72,0.83,9.71,0.83,13.22c0,7.43-5.57,13.22-13.01,13.22
|
||||
C437.44,685.04,431.45,679.26,431.45,671.82z"/>
|
||||
<path class="st0" d="M491.33,537.4c7.85,0,14.25,6.4,14.25,14.04c0,7.85-6.4,14.04-14.25,14.04s-14.45-6.19-14.45-14.04
|
||||
C476.87,543.8,483.48,537.4,491.33,537.4z M479.15,610.7c0-3.72-0.83-9.71-0.83-13.22c0-7.43,5.78-13.22,13.01-13.22
|
||||
s13.01,5.78,13.01,13.22c0,3.51-1.03,9.5-1.03,13.22v47.9c0,3.72,1.03,9.71,1.03,13.22c0,7.43-5.78,13.22-13.01,13.22
|
||||
s-13.01-5.78-13.01-13.22c0-3.51,0.83-9.5,0.83-13.22V610.7z"/>
|
||||
<path class="st0" d="M522.09,634.04c0-29.11,18.17-52.65,48.32-52.65c15.9,0,30.56,7.23,37.17,17.97c2.48,3.92,2.89,6.19,2.89,8.05
|
||||
c0,6.4-4.96,11.77-12.18,11.77c-4.75,0-9.08-2.68-10.94-7.43c-2.89-6.4-8.47-10.12-16.93-10.12c-15.9,0-24.78,14.25-24.78,32.21
|
||||
c0,18.17,9.29,32.21,25.4,32.21c8.67,0,14.87-3.1,17.76-9.5c2.06-4.34,5.99-8.05,11.36-8.05c7.43,0,11.98,5.16,11.98,11.56
|
||||
c0,3.1-1.24,6.81-3.92,10.32c-6.82,9.09-19.62,16.31-37.17,16.31C540.06,686.69,522.09,663.56,522.09,634.04z"/>
|
||||
<path class="st0" d="M690.17,671.82c0-3.51,0.83-9.5,0.83-13.22v-35.3c0-12.6-7.02-21.27-19-21.27c-8.26,0-15.28,3.92-19.82,10.32
|
||||
v46.25c0,3.72,0.83,9.71,0.83,13.22c0,7.43-5.78,13.22-13.01,13.22s-13.01-5.78-13.01-13.22c0-3.51,1.03-9.5,1.03-13.22v-99.94
|
||||
c0-3.72-1.03-9.71-1.03-13.22c0-7.43,5.99-13.22,13.01-13.22c7.23,0,13.01,5.78,13.01,13.22c0,3.51-0.83,9.5-0.83,13.22v33.66
|
||||
c6.2-6.81,15.07-10.94,26.43-10.94c21.27,0,36.55,15.9,36.55,38.61v38.61c0,3.72,1.03,9.71,1.03,13.22
|
||||
c0,7.43-5.99,13.22-13.01,13.22C695.95,685.04,690.17,679.26,690.17,671.82z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st1" d="M376.76,216.42c28.32,25.07,51.15,51.95,65.83,77.27c25.23-45.12,42.08-98.73,42.3-132.88
|
||||
c0-0.24,0-0.46,0-0.66c0-50.53-50.41-70.2-93.82-70.2s-93.82,19.66-93.82,70.2c0,0.69,0,1.62,0,2.73
|
||||
C321.44,173.62,350.14,192.84,376.76,216.42z"/>
|
||||
<path class="st2" d="M222.27,354.21c17.7-19.69,44.85-41.04,75.5-59.08c32.6-19.19,65.21-32.59,93.83-38.73
|
||||
c-35.11-37.94-80.89-70.53-113.31-81.29c-0.23-0.07-0.44-0.14-0.63-0.21c-48.06-15.61-82.34,26.25-95.75,67.54
|
||||
c-13.42,41.29-10.29,95.31,37.77,110.92C220.33,353.58,221.21,353.86,222.27,354.21z"/>
|
||||
<path class="st3" d="M600.73,241.74c-13.42-41.29-47.69-83.15-95.75-67.54c-0.66,0.21-1.54,0.5-2.6,0.84
|
||||
c-2.75,26.34-12.16,59.57-26.36,92.17c-15.09,34.68-33.6,64.69-53.14,86.48c50.7,10.05,106.9,9.52,139.45-0.83
|
||||
c0.23-0.07,0.44-0.14,0.63-0.21C611.02,337.05,614.15,283.03,600.73,241.74z"/>
|
||||
<path class="st4" d="M348.22,394.58c-8.17-36.93-10.84-72.09-7.84-101.2c-46.93,21.67-92.08,55.14-112.33,82.64
|
||||
c-0.14,0.19-0.27,0.37-0.39,0.54c-29.7,40.88-0.48,86.42,34.64,111.94s87.46,39.24,117.16-1.64c0.41-0.56,0.95-1.31,1.6-2.21
|
||||
C367.81,461.72,355.9,429.3,348.22,394.58z"/>
|
||||
<path class="st5" d="M554.19,373.91c-25.9,5.53-60.41,6.84-95.81,3.42c-37.65-3.64-71.91-11.96-98.67-23.82
|
||||
c6.11,51.33,23.99,104.61,43.89,132.37c0.14,0.19,0.27,0.37,0.39,0.54c29.7,40.88,82.04,27.16,117.16,1.64S585.5,417,555.8,376.12
|
||||
C555.39,375.56,554.85,374.81,554.19,373.91z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.5 KiB |
67
public/svgs/kimai.svg
Normal file
@@ -0,0 +1,67 @@
|
||||
<svg cursor="default" enable-background="new" height="512" viewBox="0 0 440 440" width="512"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<radialGradient id="a" cx="611" cy="41.266644"
|
||||
gradientTransform="matrix(1.1673343 0 0 1.4196623 -102.24121 -19.722475)"
|
||||
gradientUnits="userSpaceOnUse" r="160.5">
|
||||
<stop offset="0" stop-color="#01fd00" />
|
||||
<stop offset="1" stop-color="#009d39" />
|
||||
</radialGradient>
|
||||
<radialGradient id="b" cx="873.78265" cy="-16.37981"
|
||||
gradientTransform="matrix(1.9295131 -1.1140049 1.1550268 2.0005649 -1087.6858 1104.8947)"
|
||||
gradientUnits="userSpaceOnUse" r="55.747124">
|
||||
<stop offset="0" stop-color="#f9f9f9" />
|
||||
<stop offset="1" stop-color="#fff" />
|
||||
</radialGradient>
|
||||
<linearGradient id="c" gradientUnits="userSpaceOnUse" x1="611.14288" x2="610.57141"
|
||||
y1="234.57143" y2="-110.91601">
|
||||
<stop offset="0" stop-color="#f2f2f2" />
|
||||
<stop offset="1" stop-color="#f2f2f2" />
|
||||
</linearGradient>
|
||||
<g transform="translate(-390.56693 181.56689)">
|
||||
<g>
|
||||
<path d="m391.020508-182.838852h439.95895v439.95895h-439.95895z" fill="#fff"
|
||||
stroke="#58dd58" stroke-linejoin="round" stroke-width=".040996" visibility="hidden" />
|
||||
<circle cx="611" cy="38" fill="url(#c)" r="187.776825" />
|
||||
<circle cx="611" cy="38" fill="url(#a)" r="166.285645" stroke="#fff"
|
||||
stroke-linejoin="round" stroke-width="3" />
|
||||
<path d="m571.156433 108.308197 110-63.999998-110-64z" fill="url(#b)"
|
||||
fill-rule="evenodd" />
|
||||
</g>
|
||||
<g fill="#c7efc4" fill-rule="evenodd">
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.83616052 -.5484848 .5484848 -.83616052 0 0)" width="14"
|
||||
x="-542.46875" y="419.410309" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.45720822 -.88935968 .88935968 -.45720822 0 0)" width="14"
|
||||
x="-320.158203" y="642.978027" />
|
||||
<rect height="41" opacity=".5" ry="9" transform="rotate(-90)" width="18" x="-48.536366"
|
||||
y="718.754395" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(.47159375 -.88181593 .88181593 .47159375 0 0)" width="14"
|
||||
x="244.405457" y="673.798523" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.8503618 .52619845 -.52619845 -.8503618 0 0)" width="14"
|
||||
x="-505.884949" y="-503.867859" />
|
||||
<rect height="41" opacity=".5" ry="9" transform="scale(-1)" width="18" x="-620.297424"
|
||||
y="-187.942719" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.84033379 -.54206929 .54206929 -.84033379 0 0)" width="14"
|
||||
x="-539.16571" y="148.581909" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.45720822 -.88935968 .88935968 -.45720822 0 0)" width="14"
|
||||
x="-319.728088" y="374.804901" />
|
||||
<rect height="41" opacity=".5" ry="9" transform="rotate(-90)" width="18" x="-48.536366"
|
||||
y="460.964569" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(.47159375 -.88181593 .88181593 .47159375 0 0)" width="14"
|
||||
x="250.841736" y="406.195648" />
|
||||
<rect height="32" opacity=".5" ry="7"
|
||||
transform="matrix(-.849305 .52790248 -.52790248 -.849305 0 0)" width="14"
|
||||
x="-505.957611" y="-236.959518" />
|
||||
<g transform="scale(-1)">
|
||||
<rect height="41" opacity=".5" ry="9" width="18" x="-633.02533" y="69.120789" />
|
||||
<rect height="41" opacity=".5" ry="9" width="18" x="-606.761353" y="69.120789" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
1
public/svgs/libretranslate.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="187.043" height="188.815" viewBox="0 0 49.488 49.957"><defs><path id="a" d="M25.162 84.327h71.115v52.835H25.162z"/></defs><g style="fill:#1565c0"><g style="font-style:normal;font-weight:400;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0;word-spacing:0;white-space:pre;shape-inside:url(#a);fill:#1565c0;fill-opacity:1;stroke:none"><path d="m34.996 90.121-.615.76q-2.754-1.416-3.948-2.951-1.168 1.617-3.767 2.889l-.656-.734q3.457-1.602 4.284-3.85l.878.274q-.176.517-.232.604 1.116 1.597 4.056 3.008zm.165 4.92-.676.646q-1.515-1.158-2.347-2.827-.547 1.55-2.268 2.806l-.677-.625q1.199-.796 1.798-1.876.6-1.08.682-3.08l.91.077q0 .27-.042.672l-.036.362q0 .274.305 1.033.31.755.9 1.468.594.708 1.451 1.344zm-4.8-1.375-.703.63q-.594-.78-1.163-1.276-.65 1.421-2.02 2.677l-.688-.615q1.23-1.096 1.768-2.201.542-1.106.697-2.796l.92.098q-.103.94-.367 1.917 1.003.863 1.556 1.566z" style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-family:'Adobe Garamond Pro';-inkscape-font-specification:'Adobe Garamond Pro Bold';fill:#1565c0" aria-label="众" transform="matrix(4.32051 0 0 4.32051 -102.427 -372.58)"/></g><g style="font-style:normal;font-weight:400;font-size:43.3964px;line-height:1.25;font-family:sans-serif;letter-spacing:0;word-spacing:0;fill:#1565c0;fill-opacity:1;stroke:none;stroke-width:1.08492"><path d="M84.814 94.883v-3.558H69.19V63.247h-4.036v31.636z" style="fill:#1565c0;stroke-width:1.08492" transform="translate(-65.155 -44.926)" aria-label="L"/></g></g></svg>
|
After Width: | Height: | Size: 1.5 KiB |
1
public/svgs/ntfy.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="50mm" height="50mm" viewBox="0 0 50 50" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a"><stop style="stop-color:#348878;stop-opacity:1" offset="0"/><stop style="stop-color:#56bda8;stop-opacity:1" offset="1"/></linearGradient><linearGradient xlink:href="#a" id="b" x1="160.722" y1="128.533" x2="168.412" y2="134.326" gradientUnits="userSpaceOnUse" gradientTransform="translate(-845.726 -630.598) scale(5.59448)"/></defs><g style="display:inline"><path style="color:#000;fill:url(#b);stroke:none;stroke-width:3.72347;-inkscape-stroke:none" d="M94.237 89.912H59.499c-2.388 0-4.342 1.844-4.342 4.098l.033 27.754-.648 3.738 9.297-2.806h30.396c2.388 0 4.342-1.845 4.342-4.099V94.01c0-2.254-1.954-4.098-4.342-4.098z" transform="translate(-51.147 -81.516)"/><path style="color:#000;fill:#fff;stroke:none;stroke-width:.762343;-inkscape-stroke:none" d="M58.849 86.79c-3.62 0-6.72 2.848-6.72 6.47v.002l.035 30.273-.91 6.708 12.362-3.284h30.729c3.62 0 6.72-2.852 6.72-6.473V93.26c0-3.62-3.099-6.469-6.717-6.469h-.003zm0 4.566h35.499c1.272 0 2.151.927 2.151 1.903v27.227c0 .977-.88 1.924-2.154 1.903h-31.4l-6.28 1.898.065-.37-.035-30.658c0-.977.88-1.903 2.154-1.903z" transform="translate(-51.147 -81.516)"/><g style="font-size:8.48274px;font-family:sans-serif;letter-spacing:0;word-spacing:0;fill:#000;stroke:none;stroke-width:.525121"><path style="color:#000;-inkscape-font-specification:'JetBrains Mono, Bold';fill:#fff;stroke:none;-inkscape-stroke:none" d="M62.57 116.77v-1.312l3.28-1.459q.159-.068.306-.102.158-.045.283-.068l.271-.022v-.09q-.136-.012-.271-.046-.125-.023-.283-.057-.147-.045-.306-.113l-3.28-1.459v-1.323l5.068 2.319v1.413z" transform="matrix(2.1689 0 0 2.57844 -124.28 -268.742)"/><path style="color:#000;-inkscape-font-specification:'JetBrains Mono, Bold';fill:#fff;stroke:none;-inkscape-stroke:none" d="M62.309 110.31v1.903l3.437 1.53.022.007-.022.008-3.437 1.53v1.892l.37-.17 5.221-2.39v-1.75zm.525.817 4.541 2.08v1.076l-4.541 2.078v-.732l3.12-1.389.003-.002a1.56 1.56 0 0 1 .258-.086h.006l.008-.002c.094-.027.176-.047.246-.06l.498-.041v-.574l-.24-.02a1.411 1.411 0 0 1-.231-.04l-.008-.001-.008-.002a9.077 9.077 0 0 1-.263-.053 2.781 2.781 0 0 1-.266-.097l-.004-.002-3.119-1.39z" transform="matrix(2.1689 0 0 2.57844 -124.28 -268.742)"/></g><g style="font-size:8.48274px;font-family:sans-serif;letter-spacing:0;word-spacing:0;fill:#000;stroke:none;stroke-width:.525121"><path style="color:#000;-inkscape-font-specification:'JetBrains Mono, Bold';fill:#fff;stroke:none;-inkscape-stroke:none" d="M69.171 117.754h5.43v1.278h-5.43Z" transform="matrix(2.16247 0 0 2.48294 -122.76 -261.211)"/><path style="color:#000;-inkscape-font-specification:'JetBrains Mono, Bold';fill:#fff;stroke:none;-inkscape-stroke:none" d="M68.908 117.492v1.802h5.955v-1.802zm.526.524h4.904v.754h-4.904z" transform="matrix(2.16247 0 0 2.48294 -122.76 -261.211)"/></g></g></svg>
|
After Width: | Height: | Size: 2.9 KiB |
84
public/svgs/owncloud.svg
Normal file
After Width: | Height: | Size: 50 KiB |
16
public/svgs/qbittorrent.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<title>
|
||||
qbittorrent-new-light
|
||||
</title>
|
||||
<defs>
|
||||
<linearGradient x1="34.012%" y1="0%" x2="76.373%" y2="76.805%" id="a">
|
||||
<stop stop-color="#72B4F5" offset="0%"/>
|
||||
<stop stop-color="#356EBF" offset="100%"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<circle stroke="#DAEFFF" stroke-width="32" fill="url(#a)" cx="512" cy="512" r="496"/>
|
||||
<path d="M712.898 332.399q66.657 0 103.38 45.671 37.03 45.364 37.03 128.684t-37.34 129.61q-37.03 45.98-103.07 45.98-33.02 0-60.484-12.035-27.156-12.344-45.672-37.649h-3.703l-10.8 43.512h-36.724V196h51.227v116.65q0 39.191-2.469 70.359h2.47q35.796-50.61 106.155-50.61zm-7.406 42.894q-52.46 0-75.605 30.242-23.145 29.934-23.145 101.219t23.762 102.145q23.761 30.55 76.222 30.55 47.215 0 70.36-34.254 23.144-34.562 23.144-99.058 0-66.04-23.144-98.442-23.145-32.402-71.594-32.402z" fill="#fff"/>
|
||||
<path d="M317.273 639.45q51.227 0 74.68-27.466 23.453-27.464 24.996-92.578v-11.418q0-70.976-24.07-102.144-24.07-31.168-76.223-31.168-45.055 0-69.125 35.18-23.762 34.87-23.762 98.75 0 63.879 23.454 97.515 23.761 33.328 70.05 33.328zm-7.715 42.894q-65.421 0-102.144-45.98-36.723-45.981-36.723-128.376 0-83.011 37.032-129.609 37.03-46.598 103.07-46.598 69.433 0 106.773 52.461h2.778l7.406-46.289h40.426V828h-51.227V683.27q0-30.86 3.395-52.461h-4.012q-35.488 51.535-106.774 51.535z" fill="#c8e8ff"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
BIN
public/svgs/traccar.png
Normal file
After Width: | Height: | Size: 22 KiB |
13
public/svgs/unsend.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_11_17" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="512" height="512">
|
||||
<rect width="512" height="512" fill="black"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_11_17)">
|
||||
<path d="M375.776 63.6078C376.949 58.409 384.357 58.409 385.53 63.6078L435.035 282.926C436.338 288.703 428.294 291.55 425.673 286.239L385.137 204.087C383.303 200.37 378.003 200.37 376.169 204.087L335.632 286.239C333.012 291.55 324.967 288.703 326.271 282.926L375.776 63.6078Z" fill="#D9D9D9"/>
|
||||
<path d="M400 312C400 338.264 394.827 364.272 384.776 388.537C374.725 412.802 359.993 434.85 341.421 453.421C322.85 471.993 300.802 486.725 276.537 496.776C252.272 506.827 226.264 512 200 512C173.736 512 147.728 506.827 123.463 496.776C99.1982 486.725 77.1504 471.993 58.5786 453.421C40.0069 434.85 25.275 412.802 15.2241 388.537C5.17315 364.272 -2.2961e-06 338.264 0 312L40.7078 312C40.7078 332.919 44.828 353.632 52.8332 372.958C60.8383 392.285 72.5717 409.845 87.3634 424.637C102.155 439.428 119.715 451.162 139.041 459.167C158.368 467.172 179.081 471.292 200 471.292C220.919 471.292 241.632 467.172 260.958 459.167C280.285 451.162 297.845 439.428 312.637 424.637C327.428 409.845 339.162 392.285 347.167 372.959C355.172 353.632 359.292 332.919 359.292 312H400Z" fill="#D9D9D9"/>
|
||||
<path d="M0 20.5C0 9.17816 9.17816 0 20.5 0V0C31.8218 0 41 9.17816 41 20.5V310.5C41 321.822 31.8218 331 20.5 331V331C9.17816 331 0 321.822 0 310.5V20.5Z" fill="#D9D9D9"/>
|
||||
<path d="M359 20.5C359 9.17816 368.178 0 379.5 0V0C390.822 0 400 9.17816 400 20.5V310.5C400 321.822 390.822 331 379.5 331V331C368.178 331 359 321.822 359 310.5V20.5Z" fill="#D9D9D9"/>
|
||||
<path d="M362.06 10.2806C363.767 5.02805 369.408 2.15354 374.661 3.86019V3.86019C379.913 5.56684 382.788 11.2084 381.081 16.4609L284.977 312.239C283.27 317.492 277.629 320.367 272.376 318.66V318.66C267.123 316.953 264.249 311.312 265.956 306.059L362.06 10.2806Z" fill="#D9D9D9"/>
|
||||
<path d="M378.96 17.9405C377.254 12.688 380.128 7.04642 385.381 5.33976V5.33976C390.633 3.63311 396.275 6.50762 397.981 11.7602L494.086 307.539C495.792 312.791 492.918 318.433 487.665 320.139V320.139C482.413 321.846 476.771 318.972 475.064 313.719L378.96 17.9405Z" fill="#D9D9D9"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
1
public/svgs/vvveb.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="1024" height="1024" xmlns="http://www.w3.org/2000/svg"><path d="M824.107 733.403h-48.57L559.99 303.633h66.247l172.239 353.351 159.872-353.328h63.604L824.083 733.38" style="fill:#50b450;fill-opacity:1;stroke:none;stroke-width:27.5306"/><path d="M501.178 733.97 285.584 302.925h66.248l214.012 430.809m-344.17.236L6.103 302.948h66.27l211.77 430.81" style="fill:#50b450;stroke-width:27.5306"/></svg>
|
After Width: | Height: | Size: 407 B |
75
templates/compose/affine.yaml
Normal file
@@ -0,0 +1,75 @@
|
||||
# documentation: https://docs.affine.pro/docs/self-host-affine
|
||||
# slogan: Affine is an open-source, all-in-one workspace and OS for knowledge management, a Notion/Miro alternative.
|
||||
# tags: knowledge-management,notion,miro,workspace
|
||||
# logo: svgs/affine.svg
|
||||
# port: 3010
|
||||
|
||||
services:
|
||||
affine:
|
||||
image: ghcr.io/toeverything/affine-graphql:stable
|
||||
command:
|
||||
- sh
|
||||
- '-c'
|
||||
- 'node ./scripts/self-host-predeploy && node ./dist/index.js'
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- affine-config:/root/.affine/config
|
||||
- affine-storage:/root/.affine/storage
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: 1000m
|
||||
environment:
|
||||
- SERVICE_FQDN_AFFINE_3010
|
||||
- NODE_OPTIONS=--import=./scripts/register.js
|
||||
- AFFINE_CONFIG_PATH=/root/.affine/config
|
||||
- REDIS_SERVER_HOST=redis
|
||||
- DATABASE_URL=postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB:-affine}
|
||||
- NODE_ENV=production
|
||||
- AFFINE_SERVER_HOST=$SERVICE_FQDN_AFFINE
|
||||
- AFFINE_SERVER_EXTERNAL_URL=$SERVICE_FQDN_AFFINE
|
||||
- MAILER_HOST=${MAILER_HOST}
|
||||
- MAILER_PORT=${MAILER_PORT}
|
||||
- MAILER_USER=${MAILER_USER}
|
||||
- MAILER_PASSWORD=${MAILER_PASSWORD}
|
||||
- MAILER_SENDER=${MAILER_SENDER}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/3010' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
volumes:
|
||||
- affine-redis-data:/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- '--raw'
|
||||
- incr
|
||||
- ping
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
postgres:
|
||||
image: postgres:16
|
||||
volumes:
|
||||
- affine-postgres-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- 'pg_isready -U affine'
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-affine}
|
||||
- PGDATA=/var/lib/postgresql/data/pgdata
|
18
templates/compose/cloudbeaver.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
# documentation: https://dbeaver.com/docs/cloudbeaver/
|
||||
# slogan: CloudBeaver is a lightweight web application designed for comprehensive data management.
|
||||
# tags: dbeaver, data management, data, database, mysql, postgres, sqlite, sql, mongodb
|
||||
# logo: svgs/cloudbeaver.svg
|
||||
# port: 8978
|
||||
|
||||
services:
|
||||
cloudbeaver:
|
||||
image: dbeaver/cloudbeaver:24
|
||||
volumes:
|
||||
- cloudbeaver-data:/opt/cloudbeaver/workspace
|
||||
environment:
|
||||
- SERVICE_FQDN_CLOUDBEAVER_8978
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:8978/"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
41
templates/compose/cryptgeon.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://github.com/cupcakearmy/cryptgeon
|
||||
# slogan: Secure note / file sharing service inspired by PrivNote.
|
||||
# tags: cryptgeon, secure, note, sharing, privnote, file, sharing
|
||||
# logo: svgs/cryptgeon.png
|
||||
# port: 8000
|
||||
|
||||
services:
|
||||
app:
|
||||
image: cupcakearmy/cryptgeon:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_CRYPTGEON_8000
|
||||
- SIZE_LIMIT=${SIZE_LIMIT:-4 MiB}
|
||||
- MAX_VIEWS=${MAX_VIEWS:-100}
|
||||
- MAX_EXPIRATION=${MAX_EXPIRATION:-360}
|
||||
- ALLOW_ADVANCED=${ALLOW_ADVANCED:-true}
|
||||
- ALLOW_FILES=${ALLOW_FILES:-true}
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- curl
|
||||
- "--fail"
|
||||
- "http://127.0.0.1:8000/api/live/"
|
||||
interval: 1m
|
||||
timeout: 3s
|
||||
retries: 2
|
||||
start_period: 5s
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
command: "redis-server --maxmemory 200mb --maxmemory-policy allkeys-lru"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 2
|
91
templates/compose/flowise-with-databases.yaml
Normal file
@@ -0,0 +1,91 @@
|
||||
# documentation: https://docs.flowiseai.com/
|
||||
# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents. Also deploys Redis, Postgres and other services.
|
||||
# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows
|
||||
# logo: svgs/flowise.png
|
||||
# port: 3001
|
||||
|
||||
volumes:
|
||||
flowise_data:
|
||||
pg_record_manager_data:
|
||||
redis_cache_data:
|
||||
qdrant_data:
|
||||
|
||||
services:
|
||||
flowise:
|
||||
image: flowiseai/flowise
|
||||
restart: always
|
||||
depends_on:
|
||||
pg_record_manager:
|
||||
condition: service_healthy
|
||||
redis_cache:
|
||||
condition: service_healthy
|
||||
qdrant:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_FLOWISE_3001
|
||||
- DEBUG=false
|
||||
- DISABLE_FLOWISE_TELEMETRY=true
|
||||
- PORT=3001
|
||||
- DATABASE_PATH=/root/.flowise
|
||||
- APIKEY_PATH=/root/.flowise
|
||||
- SECRETKEY_PATH=/root/.flowise
|
||||
- LOG_PATH=/root/.flowise/logs
|
||||
- BLOB_STORAGE_PATH=/root/.flowise/storage
|
||||
- FLOWISE_USERNAME=${SERVICE_USER_FLOWISE}
|
||||
- FLOWISE_PASSWORD=${SERVICE_PASSWORD_FLOWISE}
|
||||
volumes:
|
||||
- flowise_data:/root/.flowise
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- wget
|
||||
- --no-verbose
|
||||
- --tries=1
|
||||
- --spider
|
||||
- http://localhost:3001
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
pg_record_manager:
|
||||
image: "postgres:16"
|
||||
restart: always
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-record_manager}
|
||||
volumes:
|
||||
- pg_record_manager_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- "pg_isready -h localhost -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
redis_cache:
|
||||
image: "redis:7"
|
||||
restart: always
|
||||
volumes:
|
||||
- redis_cache_data:/data
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- "redis-cli -h localhost -p 6379 ping"
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
qdrant:
|
||||
image: "qdrant/qdrant:latest"
|
||||
restart: always
|
||||
environment:
|
||||
- SERVICE_FQDN_QDRANT_6333
|
||||
- QDRANT__SERVICE__API_KEY=${SERVICE_PASSWORD_QDRANTAPIKEY}
|
||||
volumes:
|
||||
- "qdrant_data:/qdrant/storage"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- bash -c ':> /dev/tcp/127.0.0.1/6333' || exit 1
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
35
templates/compose/flowise.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
# documentation: https://docs.flowiseai.com/
|
||||
# slogan: Flowise is an open source low-code tool for developers to build customized LLM orchestration flows & AI agents.
|
||||
# tags: lowcode, nocode, ai, llm, openai, anthropic, machine-learning, rag, agents, chatbot, api, team, bot, flows
|
||||
# logo: svgs/flowise.png
|
||||
# port: 3001
|
||||
|
||||
services:
|
||||
flowise:
|
||||
image: flowiseai/flowise
|
||||
restart: always
|
||||
environment:
|
||||
- SERVICE_FQDN_FLOWISE_3001
|
||||
- DEBUG=false
|
||||
- DISABLE_FLOWISE_TELEMETRY=true
|
||||
- PORT=3001
|
||||
- DATABASE_PATH=/root/.flowise
|
||||
- APIKEY_PATH=/root/.flowise
|
||||
- SECRETKEY_PATH=/root/.flowise
|
||||
- LOG_PATH=/root/.flowise/logs
|
||||
- BLOB_STORAGE_PATH=/root/.flowise/storage
|
||||
- FLOWISE_USERNAME=${SERVICE_USER_FLOWISE}
|
||||
- FLOWISE_PASSWORD=${SERVICE_PASSWORD_FLOWISE}
|
||||
volumes:
|
||||
- flowise_data:/root/.flowise
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- wget
|
||||
- --no-verbose
|
||||
- --tries=1
|
||||
- --spide
|
||||
- http://localhost:3001
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 3
|
41
templates/compose/freshrss-with-mariadb.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
freshrss:
|
||||
image: freshrss/freshrss:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_FRESHRSS_80
|
||||
- CRON_MIN=${CRON_MIN:-1,31}
|
||||
- MARIADB_DB=${MARIADB_DATABASE:-freshrss}
|
||||
- MARIADB_USER=${SERVICE_USER_MARIADB}
|
||||
- MARIADB_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
volumes:
|
||||
- freshrss-data:/var/www/FreshRSS/data
|
||||
- freshrss-extensions:/var/www/FreshRSS/extensions
|
||||
depends_on:
|
||||
freshrss-db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
|
||||
freshrss-db:
|
||||
image: mariadb:11
|
||||
volumes:
|
||||
- mariadb-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
|
||||
- MYSQL_DATABASE=${MARIADB_DATABASE:-freshrss}
|
||||
- MYSQL_USER=${SERVICE_USER_MARIADB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
41
templates/compose/freshrss-with-mysql.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
freshrss:
|
||||
image: freshrss/freshrss:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_FRESHRSS_80
|
||||
- CRON_MIN=${CRON_MIN:-1,31}
|
||||
- MYSQL_DB=${MYSQL_DATABASE:-freshrss}
|
||||
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
||||
volumes:
|
||||
- freshrss-data:/var/www/FreshRSS/data
|
||||
- freshrss-extensions:/var/www/FreshRSS/extensions
|
||||
depends_on:
|
||||
freshrss-db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
|
||||
freshrss-db:
|
||||
image: mysql:8
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-freshrss}
|
||||
- MYSQL_USER=$SERVICE_USER_MYSQL
|
||||
- MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
41
templates/compose/freshrss-with-postgresql.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
freshrss:
|
||||
image: freshrss/freshrss:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_FRESHRSS_80
|
||||
- CRON_MIN=${CRON_MIN:-1,31}
|
||||
- POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss}
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||
- POSTGRES_HOST=postgresql
|
||||
volumes:
|
||||
- freshrss-data:/var/www/FreshRSS/data
|
||||
- freshrss-extensions:/var/www/FreshRSS/extensions
|
||||
depends_on:
|
||||
freshrss-db:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
|
||||
freshrss-db:
|
||||
image: postgres:16
|
||||
volumes:
|
||||
- freshrss-postgresql-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||
- POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
20
templates/compose/freshrss.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
# documentation: https://freshrss.org/index.html
|
||||
# slogan: A free, self-hostable feed aggregator.
|
||||
# tags: rss, feed
|
||||
# logo: svgs/freshrss.png
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
freshrss:
|
||||
image: freshrss/freshrss:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_FRESHRSS_80
|
||||
- CRON_MIN=${CRON_MIN:-1,31}
|
||||
volumes:
|
||||
- freshrss-data:/var/www/FreshRSS/data
|
||||
- freshrss-extensions:/var/www/FreshRSS/extensions
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 3
|
@@ -12,12 +12,13 @@ services:
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||
- POSTGRES_DB=${POSTGRESQL_DATABASE:-glitchtip}
|
||||
volumes:
|
||||
- pg-data:/var/lib/postgresql/data
|
||||
- glitchtip-postgres-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
redis:
|
||||
image: redis
|
||||
healthcheck:
|
||||
@@ -25,11 +26,14 @@ services:
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
web:
|
||||
image: glitchtip/glitchtip
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_GLITCHTIP_8080
|
||||
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip}
|
||||
@@ -46,14 +50,16 @@ services:
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
worker:
|
||||
image: glitchtip/glitchtip
|
||||
command: ./bin/run-celery-with-beat.sh
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_GLITCHTIP
|
||||
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip}
|
||||
- SECRET_KEY=$SERVICE_BASE64_64_ENCRYPTION
|
||||
- EMAIL_URL=${EMAIL_URL:-consolemail://}
|
||||
@@ -68,12 +74,15 @@ services:
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
migrate:
|
||||
image: glitchtip/glitchtip
|
||||
restart: "no"
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
command: "./manage.py migrate"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://$SERVICE_USER_POSTGRESQL:$SERVICE_PASSWORD_POSTGRESQL@postgres:5432/${POSTGRESQL_DATABASE:-glitchtip}
|
||||
|
21
templates/compose/homebox.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
# documentation: https://github.com/hay-kot/homebox
|
||||
# slogan: Homebox is a self-hosted file management solution.
|
||||
# tags: homebox,file-management,self-hosted
|
||||
# logo: svgs/homebox.svg
|
||||
# port: 7745
|
||||
|
||||
services:
|
||||
homebox:
|
||||
image: ghcr.io/hay-kot/homebox:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_HOMEBOX_7745
|
||||
- HBOX_LOG_LEVEL=${HBOX_LOG_LEVEL:-info}
|
||||
- HBOX_LOG_FORMAT=${HBOX_LOG_FORMAT:-text}
|
||||
- HBOX_WEB_MAX_UPLOAD_SIZE=${HBOX_WEB_MAX_UPLOAD_SIZE:-10}
|
||||
volumes:
|
||||
- homebox-data:/data/
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:7745"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
76
templates/compose/immich.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# documentation: https://immich.app/docs/overview/introduction
|
||||
# slogan: Self-hosted photo and video management solution.
|
||||
# tags: photo,video,management,server,cloud,storage,sharing,metadata,face,recognition
|
||||
# logo: svgs/immich.svg
|
||||
# port: 2283
|
||||
|
||||
services:
|
||||
immich:
|
||||
image: ghcr.io/immich-app/immich-server:release
|
||||
# extends:
|
||||
# file: hwaccel.transcoding.yml
|
||||
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
||||
volumes:
|
||||
- immich-uploads:/usr/src/app/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- SERVICE_FQDN_IMMICH_3001
|
||||
- UPLOAD_LOCATION=./library
|
||||
- DB_DATA_LOCATION=./postgres
|
||||
- DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
- DB_USERNAME=$SERVICE_USER_POSTGRES
|
||||
- DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich}
|
||||
- TZ=${TZ:-Etc/UTC}
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
database:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
disable: false
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
# For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
|
||||
# Example tag: ${IMMICH_VERSION:-release}-cuda
|
||||
image: ghcr.io/immich-app/immich-machine-learning:release
|
||||
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
|
||||
# file: hwaccel.ml.yml
|
||||
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
|
||||
volumes:
|
||||
- immich-model-cache:/cache
|
||||
environment:
|
||||
- UPLOAD_LOCATION=./library
|
||||
- DB_DATA_LOCATION=./postgres
|
||||
- DB_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||
- DB_USERNAME=$SERVICE_USER_POSTGRES
|
||||
- DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich}
|
||||
- TZ=${TZ:-Etc/UTC}
|
||||
healthcheck:
|
||||
disable: false
|
||||
|
||||
redis:
|
||||
image: redis:7.4-alpine
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
|
||||
database:
|
||||
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${SERVICE_PASSWORD_POSTGRES}
|
||||
POSTGRES_USER: ${SERVICE_USER_POSTGRES}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME:-immich}
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
volumes:
|
||||
- immich-postgres-data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
44
templates/compose/kimai.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# documentation: https://www.kimai.org/
|
||||
# slogan: Open source time-tracking app.
|
||||
# tags: time-tracking, open-source
|
||||
# logo: svgs/kimai.svg
|
||||
# port: 8001
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8
|
||||
volumes:
|
||||
- kimai-mysql-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-kimai}
|
||||
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
command: --default-storage-engine innodb
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
kimai:
|
||||
image: kimai/kimai2:apache-latest
|
||||
container_name: kimai
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- kimai-data:/opt/kimai/var/data
|
||||
environment:
|
||||
- SERVICE_FQDN_KIMAI_8001
|
||||
- APP_SECRET=${SERVICE_PASSWORD_APPSECRET}
|
||||
- MAILER_FROM=${MAILER_FROM:-kimai@example.com}
|
||||
- MAILER_URL=${MAILER_URL:-null://null}
|
||||
- ADMINMAIL=${ADMINMAIL:-admin@kimai.local}
|
||||
- ADMINPASS=${SERVICE_PASSWORD_ADMINPASS}
|
||||
- DATABASE_URL=mysql://${SERVICE_USER_MYSQL}:${SERVICE_PASSWORD_MYSQL}@mysql/${MYSQL_DATABASE}?charset=utf8mb4&serverVersion=8.3.0
|
||||
- TRUSTED_HOSTS=localhost
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8001"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
19
templates/compose/libretranslate.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
# documentation: https://libretranslate.com/docs/
|
||||
# slogan: Free and open-source machine translation API, entirely self-hosted.
|
||||
# tags: translate, api
|
||||
# logo: svgs/libretranslate.svg
|
||||
# port: 5000
|
||||
|
||||
services:
|
||||
libretranslate:
|
||||
image: "libretranslate/libretranslate:latest"
|
||||
environment:
|
||||
- SERVICE_FQDN_LIBRETRANSLATE_5000
|
||||
- LT_SSL=true
|
||||
- LT_UPDATE_MODELS=true
|
||||
- LT_LOAD_ONLY=en,es,fr,de,ja
|
||||
volumes:
|
||||
- api-keys:/app/db
|
||||
- models:/home/libretranslate/.local
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "./venv/bin/python scripts/healthcheck.py"]
|
61
templates/compose/nextcloud-with-mariadb.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
# documentation: https://docs.nextcloud.com
|
||||
# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management.
|
||||
# tags: cloud, collaboration, communication, filestorage, data
|
||||
# logo: svgs/nextcloud.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_NEXTCLOUD_80
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
- MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud}
|
||||
- MYSQL_USER=${SERVICE_USER_MARIADB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
- MYSQL_HOST=nextcloud-db
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
volumes:
|
||||
- nextcloud-config:/config
|
||||
- nextcloud-data:/data
|
||||
depends_on:
|
||||
nextcloud-db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
nextcloud-db:
|
||||
image: mariadb:11
|
||||
volumes:
|
||||
- nextcloud-mariadb-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
- MYSQL_DATABASE=${MARIADB_DATABASE:-nextcloud}
|
||||
- MYSQL_USER=${SERVICE_USER_MARIADB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
redis:
|
||||
image: "redis:7.4-alpine"
|
||||
volumes:
|
||||
- "nextcloud-redis-data:/data"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
61
templates/compose/nextcloud-with-mysql.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
# documentation: https://docs.nextcloud.com
|
||||
# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management.
|
||||
# tags: cloud, collaboration, communication, filestorage, data
|
||||
# logo: svgs/nextcloud.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_NEXTCLOUD_80
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
||||
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
||||
- MYSQL_HOST=nextcloud-db
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
volumes:
|
||||
- nextcloud-config:/config
|
||||
- nextcloud-data:/data
|
||||
depends_on:
|
||||
nextcloud-db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
nextcloud-db:
|
||||
image: mysql:8.4.2
|
||||
volumes:
|
||||
- nextcloud-mysql-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-nextcloud}
|
||||
- MYSQL_USER=${SERVICE_USER_MYSQL}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
redis:
|
||||
image: "redis:7.4-alpine"
|
||||
volumes:
|
||||
- "nextcloud-redis-data:/data"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
60
templates/compose/nextcloud-with-postgres.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
# documentation: https://docs.nextcloud.com
|
||||
# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management.
|
||||
# tags: cloud, collaboration, communication, filestorage, data
|
||||
# logo: svgs/nextcloud.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_NEXTCLOUD_80
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=${TZ:-Europe/Paris}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-nextcloud}
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_HOST=nextcloud-db
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
volumes:
|
||||
- nextcloud-config:/config
|
||||
- nextcloud-data:/data
|
||||
depends_on:
|
||||
nextcloud-db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:80"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
||||
|
||||
nextcloud-db:
|
||||
image: postgres:16-alpine
|
||||
volumes:
|
||||
- nextcloud-postgresql-data:/var/lib/postgresql/data
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${POSTGRES_DB:-nextcloud}
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
redis:
|
||||
image: "redis:7.4-alpine"
|
||||
volumes:
|
||||
- "nextcloud-redis-data:/data"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
@@ -2,15 +2,16 @@
|
||||
# slogan: NextCloud is a self-hosted, open-source platform that provides file storage, collaboration, and communication tools for seamless data management.
|
||||
# tags: cloud, collaboration, communication, filestorage, data
|
||||
# logo: svgs/nextcloud.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
image: lscr.io/linuxserver/nextcloud:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_NEXTCLOUD
|
||||
- SERVICE_FQDN_NEXTCLOUD_80
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Madrid
|
||||
- TZ=${TZ:-Europe/Madrid}
|
||||
volumes:
|
||||
- nextcloud-config:/config
|
||||
- nextcloud-data:/data
|
||||
|
46
templates/compose/ntfy.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
# documentation: https://docs.ntfy.sh/
|
||||
# slogan: ntfy is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, and/or using a REST API.
|
||||
# tags: ntfy, notification, push notification, pub-sub, notify
|
||||
# logo: svgs/ntfy.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
ntfy:
|
||||
image: binwiederhier/ntfy
|
||||
command:
|
||||
- serve
|
||||
environment:
|
||||
- SERVICE_FQDN_NTFY_80
|
||||
- NTFY_BASE_URL=${SERVICE_FQDN_NTFY}
|
||||
- TZ=${TZ:-UTC}
|
||||
- NTFY_CACHE_FILE=/var/cache/ntfy/cache.db
|
||||
- NTFY_AUTH_FILE=/var/lib/ntfy/auth.db
|
||||
- NTFY_UPSTREAM_BASE_URL=${UPSTREAM_BASE_URL:-https://ntfy.sh}
|
||||
- NTFY_ENABLE_SIGNUP=${NTFY_ENABLE_SIGNUP:-true}
|
||||
- NTFY_ENABLE_LOGIN=${NTFY_ENABLE_LOGIN:-true}
|
||||
- NTFY_CACHE_DURATION=${NTFY_CACHE_DURATION:-24h}
|
||||
- NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT=${NTFY_ATTACHMENT_TOTAL_SIZE_LIMIT:-1G}
|
||||
- NTFY_ATTACHMENT_FILE_SIZE_LIMIT=${NTFY_ATTACHMENT_FILE_SIZE_LIMIT:-10M}
|
||||
- NTFY_ATTACHMENT_EXPIRY_DURATION=${NTFY_ATTACHMENT_EXPIRY_DURATION:-24h}
|
||||
- NTFY_SMTP_SENDER_ADDR=${NTFY_SMTP_SENDER_ADDR:-smtp.your-domain.de}
|
||||
- NTFY_SMTP_SENDER_USER=${NTFY_SMTP_SENDER_USER:-no-reply@de}
|
||||
- NTFY_SMTP_SENDER_PASS=${NTFY_SMTP_SENDER_PASS:-password}
|
||||
- NTFY_SMTP_SENDER_FROM=${NTFY_SMTP_SENDER_FROM:-no-reply@de}
|
||||
- NTFY_KEEPALIVE_INTERVAL=${NTFY_KEEPALIVE_INTERVAL:-5m}
|
||||
- NTFY_MANAGER_INTERVAL=${NTFY_MANAGER_INTERVAL:-5m}
|
||||
- NTFY_VISITOR_MESSAGE_DAILY_LIMIT=${NTFY_VISITOR_MESSAGE_DAILY_LIMIT:-100}
|
||||
- NTFY_VISITOR_ATTACHMENT_DAILY_BANDWIDTH_LIMIT=${NTFY_VISITOR_ATTACHMENT_DAILY_BANDWIDTH_LIMIT:-1G}
|
||||
- NTFY_UPSTREAM_ACCESS_TOKEN=${UPSTREAM_ACCESS_TOKEN}
|
||||
- NTFY_AUTH_DEFAULT_ACCESS=${NTFY_AUTH_DEFAULT_ACCESS:-read-write}
|
||||
- NTFY_WEB_PUSH_PUBLIC_KEY=${NTFY_WEB_PUSH_PUBLIC_KEY}
|
||||
- NTFY_WEB_PUSH_PRIVATE_KEY=${NTFY_WEB_PUSH_PRIVATE_KEY}
|
||||
- NTFY_WEB_PUSH_EMAIL_ADDRESS=${NTFY_WEB_PUSH_EMAIL_ADDRESS}
|
||||
volumes:
|
||||
- ntfy-cache:/var/cache/ntfy
|
||||
- ntfy-db:/var/lib/ntfy/
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
|
||||
interval: 60s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
73
templates/compose/owncloud.yaml
Normal file
@@ -0,0 +1,73 @@
|
||||
# ignore: true
|
||||
# documentation: https://owncloud.com/docs
|
||||
# slogan: OwnCloud with Open Web UI integrates file management with a powerful, user-friendly interface.
|
||||
# tags: owncloud,file-management,open-web-ui,integration,cloud
|
||||
# logo: svgs/owncloud.svg
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
owncloud:
|
||||
image: owncloud/server:latest
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- SERVICE_FQDN_OWNCLOUD_8080
|
||||
- OWNCLOUD_DOMAIN=${SERVICE_FQDN_OWNCLOUD}
|
||||
- OWNCLOUD_TRUSTED_DOMAINS=${SERVICE_FQDN_OWNCLOUD} # This is a comma separated list of domains that are trusted by the server (No Protocol)
|
||||
- OWNCLOUD_DB_TYPE=mysql
|
||||
- OWNCLOUD_DB_HOST=mariadb
|
||||
- OWNCLOUD_DB_NAME=${DB_NAME:-owncloud}
|
||||
- OWNCLOUD_DB_USERNAME=${SERVICE_USER_MARIADB}
|
||||
- OWNCLOUD_DB_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
- OWNCLOUD_ADMIN_USERNAME=${SERVICE_USER_OWNCLOUD}
|
||||
- OWNCLOUD_ADMIN_PASSWORD=${SERVICE_PASSWORD_OWNCLOUD}
|
||||
- OWNCLOUD_MYSQL_UTF8MB4=${MYSQL_UTF8MB4:-true}
|
||||
- OWNCLOUD_REDIS_ENABLED=${REDIS_ENABLED:-true}
|
||||
- OWNCLOUD_REDIS_HOST=redis
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- /usr/bin/healthcheck
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- owncloud-data:/mnt/data
|
||||
|
||||
mariadb:
|
||||
image: mariadb:latest
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_MARIADBROOT}
|
||||
- MYSQL_USER=${SERVICE_USER_MARIADB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_MARIADB}
|
||||
- MYSQL_DATABASE=${DB_NAME:-owncloud}
|
||||
- TZ=auto
|
||||
command:
|
||||
- "--character-set-server=utf8mb4"
|
||||
- "--collation-server=utf8mb4_bin"
|
||||
- "--max-allowed-packet=128M"
|
||||
- "--innodb-log-file-size=64M"
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
volumes:
|
||||
- owncloud-mysql-data:/var/lib/mysql
|
||||
|
||||
redis:
|
||||
image: redis:6
|
||||
command:
|
||||
- "--databases"
|
||||
- "1"
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- ping
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
@@ -6,7 +6,7 @@
|
||||
|
||||
services:
|
||||
plausible:
|
||||
image: "ghcr.io/plausible/community-edition:v2.1"
|
||||
image: "ghcr.io/plausible/community-edition:v2.1.4"
|
||||
command: 'sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"'
|
||||
environment:
|
||||
- SERVICE_FQDN_PLAUSIBLE
|
||||
@@ -22,7 +22,7 @@ services:
|
||||
image: bytemark/smtp
|
||||
|
||||
plausible_db:
|
||||
image: "postgres:14-alpine"
|
||||
image: "postgres:16-alpine"
|
||||
volumes:
|
||||
- "db-data:/var/lib/postgresql/data"
|
||||
environment:
|
||||
|
48
templates/compose/qbittorrent.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
# documentation: https://docs.linuxserver.io/images/docker-qbittorrent/
|
||||
# slogan: The qBittorrent project aims to provide an open-source software alternative to μTorrent.
|
||||
# tags: torrent, streaming, webui
|
||||
# logo: svgs/qbittorrent.svg
|
||||
# port: 8080
|
||||
|
||||
services:
|
||||
qbit:
|
||||
image: "lscr.io/linuxserver/qbittorrent:latest"
|
||||
environment:
|
||||
- WEBUI_PORT=${WEBUI_PORT:-8080}
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
volumes:
|
||||
- qbittorrent-config:/config
|
||||
- qbittorrent-downloads:/downloads
|
||||
- qbittorrent-torrents:/torrents
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- "-q"
|
||||
- "--spider"
|
||||
- "http://127.0.0.1:8080/"
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
||||
|
||||
vuetorrent-backend:
|
||||
image: "ghcr.io/vuetorrent/vuetorrent-backend:latest"
|
||||
environment:
|
||||
- SERVICE_FQDN_QBITORRENT_8080
|
||||
- PORT=${WEBUI_PORT:-8080}
|
||||
- QBIT_BASE=${SERVICE_FQDN_QBITORRENT}
|
||||
- RELEASE_TYPE=${RELEASE_TYPE:-stable}
|
||||
- UPDATE_VT_CRON=${UPDATE_VT_CRON:-"0 * * * *"}
|
||||
volumes:
|
||||
- vuetorrent-config:/config
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- "-q"
|
||||
- "--spider"
|
||||
- "http://127.0.0.1:8080/"
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
50
templates/compose/traccar.yaml
Normal file
@@ -0,0 +1,50 @@
|
||||
# documentation: https://www.traccar.org/documentation/
|
||||
# slogan: Traccar is a free and open source modern GPS tracking system.
|
||||
# tags: traccar,gps,tracking,open,source
|
||||
# logo: svgs/traccar.png
|
||||
# port: 8082
|
||||
|
||||
services:
|
||||
traccar:
|
||||
image: traccar/traccar:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_TRACCAR_8082
|
||||
- SERVICE_FQDN_TRACCARAPI_5159
|
||||
- CONFIG_USE_ENVIRONMENT_VARIABLES=${CONFIG_USE_ENVIRONMENT_VARIABLES:-true}
|
||||
- DATABASE_USER=${SERVICE_USER_POSTGRES}
|
||||
- DATABASE_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
volumes:
|
||||
- type: bind
|
||||
source: ./srv/traccar/conf/traccar.xml
|
||||
target: /opt/traccar/conf/traccar.xml
|
||||
content: |
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>
|
||||
<properties>
|
||||
<entry key='config.default'>./conf/default.xml</entry>
|
||||
<entry key='database.driver'>org.postgresql.Driver</entry>
|
||||
<entry key='database.url'>jdbc:postgresql://postgres:5432/traccar</entry>
|
||||
</properties>
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1:8082/ping"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 15s
|
||||
|
||||
postgres:
|
||||
image: postgres:16-alpine
|
||||
environment:
|
||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${POSTGRESQL_DATABASE:-traccar}
|
||||
volumes:
|
||||
- traccar-postgresql-data:/var/lib/postgresql/data/
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
60
templates/compose/unsend.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
# documentation: https://docs.unsend.dev/get-started/self-hosting
|
||||
# slogan: Unsend is an open-source alternative to Resend, Sendgrid, Mailgun and Postmark etc.
|
||||
# tags: resend, mailer, marketing emails, transaction emails, self-hosting, postmark
|
||||
# logo: svgs/unsend.svg
|
||||
# port: 3000
|
||||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:16
|
||||
environment:
|
||||
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||
- POSTGRES_DB=${SERVICE_DB_POSTGRES:-unsend}
|
||||
healthcheck:
|
||||
test: ["CMD", "pg_isready", "-U", "${SERVICE_USER_POSTGRES}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
volumes:
|
||||
- unsend-postgres-data:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: redis:7
|
||||
volumes:
|
||||
- unsend-redis-data:/data
|
||||
command: ["redis-server", "--maxmemory-policy", "noeviction"]
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- PING
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 20
|
||||
|
||||
unsend:
|
||||
image: unsend/unsend:latest
|
||||
environment:
|
||||
- SERVICE_FQDN_UNSEND_3000
|
||||
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${SERVICE_DB_POSTGRES:-unsend}
|
||||
- NEXTAUTH_URL=${SERVICE_FQDN_UNSEND}
|
||||
- NEXTAUTH_SECRET=${SERVICE_BASE64_64_NEXTAUTHSECRET}
|
||||
- AWS_ACCESS_KEY=${SERVICE_AWS_ACCESS_KEY}
|
||||
- AWS_SECRET_KEY=${SERVICE_AWS_SECRET_KEY}
|
||||
- AWS_DEFAULT_REGION=${SERVICE_AWS_DEFAULT_REGION}
|
||||
- GITHUB_ID=${SERVICE_GITHUB_ID:-1234567890}
|
||||
- GITHUB_SECRET=${SERVICE_GITHUB_SECRET:-abcde1234567890}
|
||||
- REDIS_URL=redis://redis:6379
|
||||
- NEXT_PUBLIC_IS_CLOUD=${NEXT_PUBLIC_IS_CLOUD:-false}
|
||||
- API_RATE_LIMIT=${SERVICE_API_RATE_LIMIT:-1}
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 15
|
41
templates/compose/vvveb-with-mariadb.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://docs.vvveb.com
|
||||
# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores.
|
||||
# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql
|
||||
# logo: svgs/vvveb.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
vvveb:
|
||||
image: vvveb/vvvebcms:latest
|
||||
volumes:
|
||||
- vvveb-data:/var/www/html
|
||||
environment:
|
||||
- SERVICE_FQDN_VVVEB_80
|
||||
- DB_ENGINE=mysqli
|
||||
- DB_HOST=mariadb
|
||||
- DB_USER=${SERVICE_USER_VVVEB}
|
||||
- DB_PASSWORD=${SERVICE_PASSWORD_VVVEB}
|
||||
- DB_NAME=${MARIADB_DATABASE:-vvveb}
|
||||
depends_on:
|
||||
mariadb:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
|
||||
mariadb:
|
||||
image: mariadb:11
|
||||
volumes:
|
||||
- vvveb-mariadb-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
- MYSQL_DATABASE=${MARIADB_DATABASE:-vvveb}
|
||||
- MYSQL_USER=${SERVICE_USER_VVVEB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_VVVEB}
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
41
templates/compose/vvveb-with-mysql.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# documentation: https://docs.vvveb.com
|
||||
# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores.
|
||||
# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql
|
||||
# logo: svgs/vvveb.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
vvveb:
|
||||
image: vvveb/vvvebcms:latest
|
||||
volumes:
|
||||
- vvveb-data:/var/www/html
|
||||
environment:
|
||||
- SERVICE_FQDN_VVVEB_80
|
||||
- DB_ENGINE=mysqli
|
||||
- DB_HOST=mysql
|
||||
- DB_USER=${SERVICE_USER_VVVEB}
|
||||
- DB_PASSWORD=${SERVICE_PASSWORD_VVVEB}
|
||||
- DB_NAME=${MYSQL_DATABASE:-vvveb}
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
|
||||
mysql:
|
||||
image: mysql:8.4.2
|
||||
volumes:
|
||||
- vvveb-mysql-data:/var/lib/mysql
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${SERVICE_PASSWORD_ROOT}
|
||||
- MYSQL_DATABASE=${MYSQL_DATABASE:-vvveb}
|
||||
- MYSQL_USER=${SERVICE_USER_VVVEB}
|
||||
- MYSQL_PASSWORD=${SERVICE_PASSWORD_VVVEB}
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
|
||||
interval: 5s
|
||||
timeout: 20s
|
||||
retries: 10
|
18
templates/compose/vvveb.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
# documentation: https://docs.vvveb.com
|
||||
# slogan: Powerful and easy to use cms to build websites, blogs or ecommerce stores.
|
||||
# tags: cms, blog, content, management, ecommerce, page-builder, nocode, mysql, sqlite, pgsql
|
||||
# logo: svgs/vvveb.svg
|
||||
# port: 80
|
||||
|
||||
services:
|
||||
vvveb:
|
||||
image: vvveb/vvvebcms:latest
|
||||
volumes:
|
||||
- vvveb-data:/var/www/html
|
||||
environment:
|
||||
- SERVICE_FQDN_VVVEB_80
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1"]
|
||||
interval: 2s
|
||||
timeout: 10s
|
||||
retries: 10
|
@@ -1,10 +1,11 @@
|
||||
{
|
||||
"coolify": {
|
||||
"v4": {
|
||||
"version": "4.0.0-beta.358"
|
||||
"version": "4.0.0-beta.357"
|
||||
},
|
||||
"nightly": {
|
||||
"version": "4.0.0-beta.359"
|
||||
"version": "4.0.0-beta.358"
|
||||
|
||||
},
|
||||
"helper": {
|
||||
"version": "1.0.2"
|
||||
|