Deployed cdf452a0 to 13.0 with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
ci-bot 2025-06-27 09:29:19 +00:00
parent f5423f151b
commit 9bbbba75b2
125 changed files with 394 additions and 162 deletions

View File

@ -2230,7 +2230,7 @@
<li class="md-nav__item">
<a href="/seafile-admin-docs/13.0/extension/seafile_ai/" class="md-nav__link">
<a href="/seafile-admin-docs/13.0/extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../extension/seafile_ai/" class="md-nav__link">
<a href="../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2237,7 +2237,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2241,7 +2241,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2237,7 +2237,7 @@
<li class="md-nav__item">
<a href="../extension/seafile_ai/" class="md-nav__link">
<a href="../extension/seafile-ai/" class="md-nav__link">

View File

@ -2237,7 +2237,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2237,7 +2237,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2237,7 +2237,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../extension/seafile_ai/" class="md-nav__link">
<a href="../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2247,7 +2247,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../extension/seafile_ai/" class="md-nav__link">
<a href="../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2243,7 +2243,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -16,7 +16,7 @@
<link rel="prev" href="../webdav/">
<link rel="next" href="../seafile_ai/">
<link rel="next" href="../seafile-ai/">
<link rel="icon" href="../../media/favicon.ico">
@ -2330,7 +2330,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">
@ -4836,7 +4836,7 @@ drwxr-xr-x 2 root root 1.6K Jan 1 1970 a09ab9fc-7bd0-49f1-929d-6abeb8491397_My
<a href="../seafile_ai/" class="md-footer__link md-footer__link--next" aria-label="Next: Seafile AI extension">
<a href="../seafile-ai/" class="md-footer__link md-footer__link--next" aria-label="Next: Seafile AI extension">
<div class="md-footer__title">
<span class="md-footer__direction">
Next

View File

@ -13,7 +13,7 @@
<link rel="canonical" href="https://haiwen.github.io/seafile-admin-docs/13.0/extension/libreoffice_online/">
<link rel="prev" href="../seafile_ai/">
<link rel="prev" href="../seafile-ai/">
<link rel="next" href="../only_office/">
@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">
@ -4871,7 +4871,7 @@ docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../seafile_ai/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Seafile AI extension">
<a href="../seafile-ai/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Seafile AI extension">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>

View File

@ -2399,7 +2399,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2342,7 +2342,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -10,7 +10,7 @@
<meta name="author" content="seafile">
<link rel="canonical" href="https://haiwen.github.io/seafile-admin-docs/13.0/extension/seafile_ai/">
<link rel="canonical" href="https://haiwen.github.io/seafile-admin-docs/13.0/extension/seafile-ai/">
<link rel="prev" href="../fuse/">
@ -2311,6 +2311,48 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deploy-face-embedding-service-optional" class="md-nav__link">
<span class="md-ellipsis">
Deploy face embedding service (Optional)
</span>
</a>
<nav class="md-nav" aria-label="Deploy face embedding service (Optional)">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#deploy-the-face-embedding-service-on-a-different-machine-than-the-seafile-ai-basic-service" class="md-nav__link">
<span class="md-ellipsis">
Deploy the face embedding service on a different machine than the Seafile AI basic service
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#persistent-volume-and-model-management" class="md-nav__link">
<span class="md-ellipsis">
Persistent volume and model management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#customizing-model-serving-access-keys" class="md-nav__link">
<span class="md-ellipsis">
Customizing model serving access keys
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
@ -4614,6 +4656,48 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#deploy-face-embedding-service-optional" class="md-nav__link">
<span class="md-ellipsis">
Deploy face embedding service (Optional)
</span>
</a>
<nav class="md-nav" aria-label="Deploy face embedding service (Optional)">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#deploy-the-face-embedding-service-on-a-different-machine-than-the-seafile-ai-basic-service" class="md-nav__link">
<span class="md-ellipsis">
Deploy the face embedding service on a different machine than the Seafile AI basic service
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#persistent-volume-and-model-management" class="md-nav__link">
<span class="md-ellipsis">
Persistent volume and model management
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#customizing-model-serving-access-keys" class="md-nav__link">
<span class="md-ellipsis">
Customizing model serving access keys
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
@ -4644,14 +4728,14 @@
<li>Detect text in images (OCR)</li>
</ul>
<h2 id="deploy-seafile-ai-basic-service">Deploy Seafile AI basic service<a class="headerlink" href="#deploy-seafile-ai-basic-service" title="Permanent link">&para;</a></h2>
<p>The Seafile AI basic service will use API calls to external large language model service (e.g., <em>GPT-4o-mini</em>) to implement file labeling, file and image summaries, text translation, and sdoc writing assistance.</p>
<p>The Seafile AI basic service will use API calls to external large language model service to implement file labeling, file and image summaries, text translation, and sdoc writing assistance.</p>
<ol>
<li>
<p>Download <code>seafile-ai.yml</code></p>
<div class="highlight"><pre><span></span><code>wget<span class="w"> </span>https://manual.seafile.com/13.0/repo/docker/seafile-ai.yml
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Deploy in a cluster</p>
<p class="admonition-title">Deploy in a cluster or standalone deployment</p>
<p>If you deploy Seafile in a cluster and would like to deploy Seafile AI, please expose port <code>8888</code> in <code>seafile-ai.yml</code>:</p>
<div class="highlight"><pre><span></span><code>services:
seafile-ai:
@ -4667,13 +4751,25 @@
<div class="highlight"><pre><span></span><code>COMPOSE_FILE=&#39;...,seafile-ai.yml&#39; # add seafile-ai.yml
ENABLE_SEAFILE_AI=true
SEAFILE_AI_LLM_TYPE=open-ai
SEAFILE_AI_LLM_URL=&lt;your LLM endpoint URL&gt;
SEAFILE_AI_LLM_KEY=&lt;your LLM access key&gt;
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Deploy in a cluster</p>
<p>Please also specify <code>SEAFILE_AI_SERVER_URL</code> to the host where deploys your Seafile AI basic service in <code>.env</code>, if you deploy Seafile in a cluster.</p>
<p class="admonition-title">Deploy in a cluster or standalone deployment</p>
<p>Please also specify the following items in <code>.env</code>:</p>
<ul>
<li><code>.env</code> on the host where deploys Seafile server:</li>
<li><code>SEAFILE_AI_SERVER_URL</code>: the service url of Seafile AI (e.g., <code>http://seafile-ai.example.com:8888</code>)</li>
<li><code>.env</code> on the host where deploys Seafile AI:
<code>SEAFILE_SERVER_URL</code>: your Seafile server's url (e.g., <code>https://seafile.example.com</code>)</li>
</ul>
</div>
<div class="admonition tip">
<p class="admonition-title">About LLM configs</p>
<p>By default, Seafile uses the <strong><em>GPT-4o-mini</em></strong> model from <em>OpenAI</em>. You only need to provide your <strong><em>OpenAI API Key</em></strong>. If you need to use other LLM (including self-deployed LLM service), you also need to specify the following in <code>.env</code>:</p>
<div class="highlight"><pre><span></span><code><span class="nv">SEAFILE_AI_LLM_TYPE</span><span class="o">=</span>&lt;your<span class="w"> </span>LLM<span class="w"> </span>type&gt;
<span class="nv">SEAFILE_AI_LLM_URL</span><span class="o">=</span>&lt;your<span class="w"> </span>LLM<span class="w"> </span>endpoint&gt;
<span class="nv">SEAFILE_AI_LLM_KEY</span><span class="o">=</span>&lt;your<span class="w"> </span>LLM<span class="w"> </span>API<span class="w"> </span>key&gt;
</code></pre></div>
</div>
</li>
<li>
@ -4683,6 +4779,107 @@ docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w">
</code></pre></div>
</li>
</ol>
<h2 id="deploy-face-embedding-service-optional">Deploy face embedding service (Optional)<a class="headerlink" href="#deploy-face-embedding-service-optional" title="Permanent link">&para;</a></h2>
<p>The Face Embedding service is used to detect and encode faces in images. Generally, we <strong>recommend</strong> that you deploy the service on a machine with a <strong>GPU</strong> and a graphics card driver that supports <a href="https://onnxruntime.ai/docs/">OnnxRuntime</a> (so it can also be deployed on a different machine from the Seafile AI base service). Currently, the Seafile AI Face Embedding service only supports the following modes:</p>
<ul>
<li><em>Nvidia</em> GPU, which will use the <strong><em>CUDA 12.4</em></strong> acceleration environment (at least the minimum Nvidia Geforce 531.18 driver) and requires the installation of the <a href="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html">Nvidia container toolkit</a>.</li>
</ul>
<!-- - *AMD* GPU, which will use the ***ROCm 6.4.1*** acceleration environment.-->
<ul>
<li>Pure <em>CPU</em> mode</li>
</ul>
<p>If you plan to deploy these face embeddings in an environment using a GPU, you need to make sure your graphics card is <strong>in the range supported by the acceleration environment</strong> and <strong>correctly mapped in <code>/dev/dri</code> directory</strong> (so cloud servers and <a href="https://learn.microsoft.com/en-us/windows/wsl/install">WSL</a> under certain driver versions will not be supported).</p>
<ol>
<li>
<p>Download Docker compose files</p>
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">CUDA</label><label for="__tabbed_1_2">CPU</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code>wget<span class="w"> </span>-O<span class="w"> </span>face-embedding.yml<span class="w"> </span>https://manual.seafile.com/13.0/repo/docker/face-embedding/cuda.yml
</code></pre></div>
</div>
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code>wget<span class="w"> </span>-O<span class="w"> </span>face-embedding.yml<span class="w"> </span>https://manual.seafile.com/13.0/repo/docker/face-embedding/cpu.yml
</code></pre></div>
</div>
</div>
</div>
</li>
</ol>
<!--
=== "ROCM"
<div class="highlight"><pre><span></span><code>wget<span class="w"> </span>-O<span class="w"> </span>face-embedding.yml<span class="w"> </span>https://manual.seafile.com/13.0/repo/docker/face-embedding/rocm.yml
</code></pre></div>
-->
<ol>
<li>
<p>Modify <code>.env</code>, insert or modify the following fields:</p>
<div class="highlight"><pre><span></span><code>COMPOSE_FILE=&#39;...,face-embedding.yml&#39; # add face-embedding.yml
FACE_EMBEDDING_VOLUME=/opt/face_embedding
</code></pre></div>
</li>
<li>
<p>Restart Seafile server</p>
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>down
docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
</li>
<li>
<p>Enable face recognition in the repo's settings:</p>
<p><img alt="Enable face recognition" src="../../images/face-embedding.png" /></p>
</li>
</ol>
<h3 id="deploy-the-face-embedding-service-on-a-different-machine-than-the-seafile-ai-basic-service">Deploy the face embedding service on a different machine than the Seafile AI basic service<a class="headerlink" href="#deploy-the-face-embedding-service-on-a-different-machine-than-the-seafile-ai-basic-service" title="Permanent link">&para;</a></h3>
<p>Since the face embedding service may need to be deployed on some hosts with GPU(s), it may not be deployed together with the Seafile AI basic service. At this time, you should make some changes to the Docker compose file so that the service can be accessed normally.</p>
<ol>
<li>
<p>Modify <code>.yml</code> file, delete the commented out lines to expose the service port:</p>
<div class="highlight"><pre><span></span><code>services:
face-embedding:
...
ports:
- 8886:8886
</code></pre></div>
</li>
<li>
<p>Modify the <code>.env</code> of the Seafile AI basic service:</p>
<div class="highlight"><pre><span></span><code>FACE_EMBEDDING_SERVICE_URL=http://&lt;your face embedding service host&gt;:8886
</code></pre></div>
</li>
<li>
<p>Make sure <code>JWT_PRIVATE_KEY</code> has set in the <code>.env</code> for face embedding and is same as the Seafile server</p>
</li>
<li>
<p>Restart Seafile server</p>
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>down
docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
</li>
</ol>
<h3 id="persistent-volume-and-model-management">Persistent volume and model management<a class="headerlink" href="#persistent-volume-and-model-management" title="Permanent link">&para;</a></h3>
<p>By default, the persistent volume is <code>/opt/face_embedding</code>. It will consist of two subdirectories:</p>
<ul>
<li><code>/opt/face_embedding/logs</code>: Contains the startup log and access log of the face embedding</li>
<li><code>/opt/face_embedding/models</code>: Contains the model files of the face embedding. It will automatically obtain the latest applicable models at each startup. These models are hosted by <a href="https://huggingface.co/Seafile/face-embedding">our Hugging Face repository</a>. Of course, you can also manually download their own model files before the first startup (<strong>If you fail to automatically pull the model, you can also manually download the model to this directory</strong>).</li>
</ul>
<h3 id="customizing-model-serving-access-keys">Customizing model serving access keys<a class="headerlink" href="#customizing-model-serving-access-keys" title="Permanent link">&para;</a></h3>
<p>By default, the access key used by the face embedding is the same as that used by the Seafile server, which is <code>JWT_PRIVATE_KEY</code>. At some point, this will have to be modified for security reasons. If you need to customize the access key for the face embedding, you can do the following steps:</p>
<ol>
<li>
<p>Modify <code>.env</code> file for both face embedding and Seafile AI:</p>
<div class="highlight"><pre><span></span><code>FACE_EMBEDDING_SERVICE_KEY=&lt;your customizing access keys&gt;
</code></pre></div>
</li>
<li>
<p>Restart Seafile server</p>
<div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>down
docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div>
</li>
</ol>

View File

@ -2375,7 +2375,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2324,7 +2324,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2253,7 +2253,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

View File

@ -2375,7 +2375,7 @@
<li class="md-nav__item">
<a href="../seafile_ai/" class="md-nav__link">
<a href="../seafile-ai/" class="md-nav__link">

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

View File

@ -2306,7 +2306,7 @@
<li class="md-nav__item">
<a href="extension/seafile_ai/" class="md-nav__link">
<a href="extension/seafile-ai/" class="md-nav__link">

View File

@ -2258,7 +2258,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2317,7 +2317,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2308,7 +2308,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2258,7 +2258,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -0,0 +1,16 @@
services:
face-embedding:
image: ${FACE_EMBEDDING_IMAGE:-seafileltd/face-embedding:latest-cpu}
container_name: face-embedding
# ports:
# - 8886:8886
volumes:
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/models:/models
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/logs:/logs
environment:
- FACE_EMBEDDING_SERVICE_KEY=${FACE_EMBEDDING_SERVICE_KEY:-${JWT_PRIVATE_KEY:?JWT_PRIVATE_KEY is not set or empty}}
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net

View File

@ -0,0 +1,26 @@
services:
face-embedding:
image: ${FACE_EMBEDDING_IMAGE:-seafileltd/face-embedding:latest-cuda}
container_name: face-embedding
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
# ports:
# - 8886:8886
devices:
- "/dev/dri:/dev/dri"
volumes:
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/models:/models
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/logs:/logs
environment:
- FACE_EMBEDDING_SERVICE_KEY=${FACE_EMBEDDING_SERVICE_KEY:-${JWT_PRIVATE_KEY:?Variable is not set or empty}}
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net

View File

@ -0,0 +1,19 @@
services:
face-embedding:
image: ${FACE_EMBEDDING_IMAGE:-seafileltd/face-embedding:latest-rocm}
container_name: face-embedding
ports:
- 8886:8886
devices:
- "/dev/kfd:/dev/kfd"
volumes:
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/models:/models
- ${FACE_EMBEDDING_VOLUME:-/opt/face_embedding}/logs:/logs
environment:
- FACE_EMBEDDING_SERVICE_KEY=${FACE_EMBEDDING_SERVICE_KEY:-${JWT_PRIVATE_KEY:?Variable is not set or empty}}
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net

View File

@ -1,22 +0,0 @@
services:
sdoc-server:
image: seafileltd/sdoc-server:0.8.0
container_name: sdoc-server
ports:
- 80:80
# - 443:443
# - 7070:7070
# - 8888:8888
volumes:
- /opt/seadoc-data/:/shared
environment:
- DB_HOST=192.168.0.2
- DB_PORT=3306
- DB_USER=user
- DB_PASSWD=password # Required, password of MySQL service.
- DB_NAME=sdoc_db
- TIME_ZONE=Etc/UTC # Optional, default is UTC. Should be uncomment and set to your local time zone.
- SDOC_SERVER_LETSENCRYPT=false # Whether to use https or not.
- SDOC_SERVER_HOSTNAME=sdoc-server.example.com # Specifies your host name if https is enabled.
- SEAHUB_SERVICE_URL=http://seafile.example.com

View File

@ -5,23 +5,19 @@ services:
volumes:
- ${SEAFILE_VOLUME:-/opt/seafile-data}:/shared
# ports:
# - 8888:8888
# - 8888:8888
environment:
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- IMAGE_TAGS_SERVICE_KEY=${IMAGE_TAGS_SERVICE_KEY:-}
- FACE_EMBEDDING_SERVICE_KEY=${FACE_EMBEDDING_SERVICE_KEY:-}
- OCR_SERVICE_KEY=${OCR_SERVICE_KEY:-}
- SEAFILE_AI_LLM_TYPE=${SEAFILE_AI_LLM_TYPE:-open-ai}
- SEAFILE_AI_LLM_URL=$SEAFILE_AI_LLM_URL
- SEAFILE_AI_LLM_KEY=$SEAFILE_AI_LLM_KEY
- IMAGE_TAGS_SERVICE_URL=${IMAGE_TAGS_SERVICE_URL:-http://image-tags:8885}
- SEAFILE_AI_LLM_TYPE=${SEAFILE_AI_LLM_TYPE:-openai}
- SEAFILE_AI_LLM_URL=${SEAFILE_AI_LLM_URL:-}
- SEAFILE_AI_LLM_KEY=${SEAFILE_AI_LLM_KEY:-}
- FACE_EMBEDDING_SERVICE_URL=${FACE_EMBEDDING_SERVICE_URL:-http://face-embedding:8886}
- OCR_SERVICE_URL=${OCR_SERVICE_URL:-http://ocr:8887}
- SEAFILE_SERVER_HOSTNAME=${SEAFILE_SERVER_HOSTNAME:?Variable is not set or empty}
- SEAFILE_SERVER_PROTOCOL=${SEAFILE_SERVER_PROTOCOL:-http}
- FACE_EMBEDDING_SERVICE_KEY=${FACE_EMBEDDING_SERVICE_KEY:-${JWT_PRIVATE_KEY:?Variable is not set or empty}}
- SEAFILE_SERVER_URL=${SEAFILE_SERVER_URL:-http://seafile}
- JWT_PRIVATE_KEY=${JWT_PRIVATE_KEY:?Variable is not set or empty}
- SEAFILE_AI_LOG_LEVEL=${SEAFILE_AI_LOG_LEVEL:-info}
networks:
- seafile-net
networks:
seafile-net:
name: seafile-net
name: seafile-net

File diff suppressed because one or more lines are too long

View File

@ -2335,7 +2335,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2422,7 +2422,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2402,7 +2402,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2375,7 +2375,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2375,7 +2375,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2415,7 +2415,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2378,7 +2378,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2342,7 +2342,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2382,7 +2382,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2391,7 +2391,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2335,7 +2335,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2272,7 +2272,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2322,7 +2322,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2457,7 +2457,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2466,7 +2466,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2272,7 +2272,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2351,7 +2351,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2399,7 +2399,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

View File

@ -2363,7 +2363,7 @@
<li class="md-nav__item">
<a href="../../extension/seafile_ai/" class="md-nav__link">
<a href="../../extension/seafile-ai/" class="md-nav__link">

Some files were not shown because too many files have changed in this diff Show More