← Back
Editing: ManagingDeployDaemons.html
<!DOCTYPE html> <html class="writer-html5" lang="en" data-content_root="../"> <head> <meta charset="utf-8" /> <meta name="readthedocs-addons-api-version" content="1"><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Managing Deploy Daemons — Nextcloud latest Administration Manual latest documentation</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" /> <link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" /> <link rel="stylesheet" type="text/css" href="../_static/custom.css?v=8ff6e0db" /> <link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/general.css?v=c0a7eb24" /> <link rel="stylesheet" type="text/css" href="../_static/dark_mode_css/dark.css?v=70edf1c7" /> <link rel="canonical" href="https://docs.nextcloud.com/server/stable/admin_manual/exapps_management/ManagingDeployDaemons.html" /> <script src="../_static/jquery.js?v=5d32c60e"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="../_static/documentation_options.js?v=a49d5d77"></script> <script src="../_static/doctools.js?v=9bcbadda"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../_static/clipboard.min.js?v=a7894cd8"></script> <script src="../_static/copybutton.js?v=f281be69"></script> <script src="../_static/dark_mode_js/default_light.js?v=c2e647ce"></script> <script src="../_static/dark_mode_js/theme_switcher.js?v=358d3910"></script> <script src="../_static/js/theme.js"></script> <script src="../_static/js/versions.js"></script> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Test Deploy Daemon" href="TestDeploy.html" /> <link rel="prev" title="Deployment configurations" href="DeployConfigurations.html" /> </head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="../contents.html"> <img src="../_static/logo-white.png" class="logo" alt="Logo"/> </a> <div class="switch-menus"> <div class="version-switch"></div> <div class="language-switch"></div> </div> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <p class="caption" role="heading"><span class="caption-text">Getting Started</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../index.html">Introduction</a></li> <li class="toctree-l1"><a class="reference internal" href="../release_schedule.html">Maintenance and release schedule</a></li> <li class="toctree-l1"><a class="reference internal" href="../gdpr/index.html">GDPR-compliance</a></li> <li class="toctree-l1"><a class="reference internal" href="../declarations/index.html">Declarations</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Release notes</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../release_notes/index.html">Critical changes</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Installation</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation and server configuration</a></li> <li class="toctree-l1"><a class="reference internal" href="../configuration_database/index.html">Database configuration</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Configuration</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../configuration_server/index.html">Nextcloud configuration</a></li> <li class="toctree-l1"><a class="reference internal" href="../occ_command.html">Using the occ command</a></li> <li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference management</a></li> <li class="toctree-l1"><a class="reference internal" href="../webhook_listeners/index.html">Webhook Listeners</a></li> <li class="toctree-l1"><a class="reference internal" href="../windmill_workflows/index.html">Windmill Workflows</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Files</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../configuration_files/index.html">File sharing and management</a></li> <li class="toctree-l1"><a class="reference internal" href="../file_workflows/index.html">Flow</a></li> <li class="toctree-l1"><a class="reference internal" href="../configuration_mimetypes/index.html">Mimetypes management</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Apps</span></p> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../apps_management.html">Apps management</a></li> <li class="toctree-l1 current"><a class="reference internal" href="index.html">ExApps management</a><ul class="current"> <li class="toctree-l2"><a class="reference internal" href="AppAPIAndExternalApps.html">AppAPI and External Apps</a></li> <li class="toctree-l2"><a class="reference internal" href="DeployConfigurations.html">Deployment configurations</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">Managing Deploy Daemons</a><ul> <li class="toctree-l3"><a class="reference internal" href="#occ-cli">OCC CLI</a><ul> <li class="toctree-l4"><a class="reference internal" href="#register">Register</a></li> <li class="toctree-l4"><a class="reference internal" href="#unregister">Unregister</a></li> <li class="toctree-l4"><a class="reference internal" href="#list-registered-daemons">List registered daemons</a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="#nextcloud-aio">Nextcloud AIO</a></li> <li class="toctree-l3"><a class="reference internal" href="#additional-options">Additional options</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="TestDeploy.html">Test Deploy Daemon</a></li> <li class="toctree-l2"><a class="reference internal" href="ManagingExApps.html">Managing ExApps</a></li> <li class="toctree-l2"><a class="reference internal" href="AdvancedDeployOptions.html">Advanced Deploy Options</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../ai/index.html">Artificial Intelligence</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Users</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../configuration_user/index.html">User management</a></li> <li class="toctree-l1"><a class="reference internal" href="../desktop/index.html">Desktop Clients</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Groupware</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../groupware/index.html">Groupware</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Office</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../office/index.html">Office</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Maintenance</span></p> <ul> <li class="toctree-l1"><a class="reference internal" href="../configuration_monitoring/index.html">Monitoring</a></li> <li class="toctree-l1"><a class="reference internal" href="../maintenance/index.html">Maintenance</a></li> <li class="toctree-l1"><a class="reference internal" href="../issues/index.html">Issues and troubleshooting</a></li> </ul> <p class="caption" role="heading"><span class="caption-text">Links</span></p> <ul> <li class="toctree-l1"><a class="reference external" href="https://help.nextcloud.com/">Community Help Forum</a></li> <li class="toctree-l1"><a class="reference external" href="https://docs.nextcloud.com/">User Manuals</a></li> <li class="toctree-l1"><a class="reference external" href="https://docs.nextcloud.com/">Developer Manuals</a></li> <li class="toctree-l1"><a class="reference external" href="https://nextcloud.com/install/">Download</a></li> <li class="toctree-l1"><a class="reference external" href="https://apps.nextcloud.com">App Store</a></li> <li class="toctree-l1"><a class="reference external" href="https://help.nextcloud.com/t/translation-knowledge-valid-for-the-entire-nextcloud-project-wiki/51550">Translations</a></li> <li class="toctree-l1"><a class="reference external" href="https://github.com/nextcloud/">GitHub</a></li> <li class="toctree-l1"><a class="reference external" href="https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule">Supported versions</a></li> <li class="toctree-l1"><a class="reference external" href="https://nextcloud.com/enterprise/">Nextcloud Enterprise</a></li> <li class="toctree-l1"><a class="reference external" href="https://github.com/nextcloud/server/blob/master/COPYING-README">License</a></li> <li class="toctree-l1"><a class="reference external" href="https://nextcloud.com/">Nextcloud GmbH</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../contents.html">Nextcloud latest Administration Manual</a> </nav> <div class="wy-nav-content"> <div class="rst-content style-external-links"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="../contents.html" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item"><a href="index.html">ExApps management</a></li> <li class="breadcrumb-item active">Managing Deploy Daemons</li> <li class="wy-breadcrumbs-aside"> <a href="https://github.com/nextcloud/documentation/edit/master/admin_manual/exapps_management/ManagingDeployDaemons.rst" class="fa fa-github"> Edit on GitHub</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <blockquote> <div></div></blockquote> <section id="managing-deploy-daemons"> <span id="id1"></span><h1>Managing Deploy Daemons<a class="headerlink" href="#managing-deploy-daemons" title="Link to this heading"></a></h1> <section id="occ-cli"> <h2>OCC CLI<a class="headerlink" href="#occ-cli" title="Link to this heading"></a></h2> <p>There are a few OCC CLI commands to manage Deploy Daemons:</p> <ol class="arabic simple"> <li><p>Register <code class="docutils literal notranslate"><span class="pre">occ</span> <span class="pre">app_api:daemon:register</span></code></p></li> <li><p>Unregister <code class="docutils literal notranslate"><span class="pre">occ</span> <span class="pre">app_api:daemon:unregister</span></code></p></li> <li><p>List registered daemons <code class="docutils literal notranslate"><span class="pre">occ</span> <span class="pre">app_api:daemon:list</span></code></p></li> </ol> <section id="register"> <h3>Register<a class="headerlink" href="#register" title="Link to this heading"></a></h3> <p>Register Deploy Daemon (DaemonConfig).</p> <p>Command: <code class="docutils literal notranslate"><span class="pre">app_api:daemon:register</span> <span class="pre">[--net</span> <span class="pre">NET]</span> <span class="pre">[--haproxy_password</span> <span class="pre">HAPROXY_PASSWORD]</span> <span class="pre">[--compute_device</span> <span class="pre">COMPUTE_DEVICE]</span> <span class="pre">[--set-default]</span> <span class="pre">[--harp]</span> <span class="pre">[--harp_frp_address</span> <span class="pre">HARP_FRP_ADDRESS]</span> <span class="pre">[--harp_shared_key</span> <span class="pre">HARP_SHARED_KEY]</span> <span class="pre">[--harp_docker_socket_port</span> <span class="pre">HARP_DOCKER_SOCKET_PORT]</span> <span class="pre">[--harp_exapp_direct]</span> <span class="pre">[--]</span> <span class="pre"><name></span> <span class="pre"><display-name></span> <span class="pre"><accepts-deploy-id></span> <span class="pre"><protocol></span> <span class="pre"><host></span> <span class="pre"><nextcloud_url></span></code></p> <section id="arguments"> <h4>Arguments<a class="headerlink" href="#arguments" title="Link to this heading"></a></h4> <ul class="simple"> <li><p><code class="docutils literal notranslate"><span class="pre">name</span></code> - unique name of the daemon (e.g. <code class="docutils literal notranslate"><span class="pre">docker_local_sock</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">display-name</span></code> - name of the daemon (e.g. <code class="docutils literal notranslate"><span class="pre">My</span> <span class="pre">Local</span> <span class="pre">Docker</span></code>, will be displayed in the UI)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">accepts-deploy-id</span></code> - type of deployment (<code class="docutils literal notranslate"><span class="pre">docker-install</span></code> or <code class="docutils literal notranslate"><span class="pre">manual-install</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">host</span></code> - <strong>path to docker-socket</strong> or the Docker Socket Proxy: <code class="docutils literal notranslate"><span class="pre">address:port</span></code></p></li> <li><p><code class="docutils literal notranslate"><span class="pre">protocol</span></code> - protocol used to communicate with the Daemon/ExApps (<code class="docutils literal notranslate"><span class="pre">http</span></code> or <code class="docutils literal notranslate"><span class="pre">https</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">nextcloud_url</span></code> - Nextcloud URL, Daemon config required option (e.g. <code class="docutils literal notranslate"><span class="pre">https://nextcloud.local</span></code>)</p></li> </ul> </section> <section id="options"> <h4>Options<a class="headerlink" href="#options" title="Link to this heading"></a></h4> <ul class="simple"> <li><p><code class="docutils literal notranslate"><span class="pre">--net</span> <span class="pre">[network-name]</span></code> - <code class="docutils literal notranslate"><span class="pre">[required]</span></code> network name to bind docker container to (default: <code class="docutils literal notranslate"><span class="pre">host</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--haproxy_password</span> <span class="pre">HAPROXY_PASSWORD</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> password for AppAPI Docker Socket Proxy</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--compute_device</span> <span class="pre">GPU</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> GPU device to expose to the daemon (e.g. <code class="docutils literal notranslate"><span class="pre">cpu|cuda|rocm</span></code>, default: <code class="docutils literal notranslate"><span class="pre">cpu</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--set-default</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> set created daemon as default for ExApps installation</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--harp</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> Flag to set daemon to use HaRP for all docker and exapp communication</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--harp_frp_address</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> [host]:[port] of the HaRP FRP server, default host is same as HaRP host and port is 8782</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--harp_shared_key</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> HaRP shared key for secure communication between HaRP and AppAPI</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--harp_docker_socket_port</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> ‘remotePort’ of the FRP client of the remote docker socket proxy. There is one included in the harp container so this can be skipped for default setups. (default: “24000”)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">--harp_exapp_direct</span></code> - <code class="docutils literal notranslate"><span class="pre">[optional]</span></code> Flag for the advanced setups only. Disables the FRP tunnel between ExApps and HaRP.</p></li> </ul> </section> <section id="usage-examples"> <h4>Usage Examples<a class="headerlink" href="#usage-examples" title="Link to this heading"></a></h4> <ul> <li><p>Register a HaRP deploy daemon within the <code class="docutils literal notranslate"><span class="pre">nextcloud</span></code> docker network, with the <code class="docutils literal notranslate"><span class="pre">appapi-harp</span></code> container as the host and the <code class="docutils literal notranslate"><span class="pre">appapi-harp:8782</span></code> as the FRP server address. This can be paired with a HaRP container running in the same network.</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>occ<span class="w"> </span>app_api:daemon:register<span class="w"> </span>harp_proxy_docker<span class="w"> </span><span class="s2">"Harp Proxy (Docker)"</span><span class="w"> </span><span class="s2">"docker-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"appapi-harp:8780"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--net<span class="w"> </span>nextcloud<span class="w"> </span>--harp<span class="w"> </span>--harp_frp_address<span class="w"> </span><span class="s2">"appapi-harp:8782"</span><span class="w"> </span>--harp_shared_key<span class="w"> </span><span class="s2">"some_very_secure_password"</span><span class="w"> </span>--set-default<span class="w"> </span>--compute_device<span class="o">=</span>cuda </pre></div> </div> </div></blockquote> </li> <li><p>Register a HaRP deploy daemon with the <code class="docutils literal notranslate"><span class="pre">localhost</span></code> as the host and the <code class="docutils literal notranslate"><span class="pre">localhost:8782</span></code> as the FRP server address. This can be paired with a HaRP container running in the host network mode or has exposed the ports <code class="docutils literal notranslate"><span class="pre">8780</span></code> and <code class="docutils literal notranslate"><span class="pre">8782</span></code> to the host.</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>harp_proxy_host<span class="w"> </span><span class="s2">"Harp Proxy (Host)"</span><span class="w"> </span><span class="s2">"docker-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"localhost:8780"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--harp<span class="w"> </span>--harp_frp_address<span class="w"> </span><span class="s2">"localhost:8782"</span><span class="w"> </span>--harp_shared_key<span class="w"> </span><span class="s2">"some_very_secure_password"</span><span class="w"> </span>--set-default<span class="w"> </span>--compute_device<span class="o">=</span>cuda </pre></div> </div> </div></blockquote> </li> <li><p>Register a manual install deploy daemon with HaRP support. This can be paired with a HaRP container running in the same network. The HaRP container need not have access to a docker socket or any other ports exposed to the host. It will not create docker containers of the ExApps but will only proxy the requests to the ExApp process manually launched by the user.</p> <blockquote> <div><div class="admonition note"> <p class="admonition-title">Note</p> <div class="line-block"> <div class="line">The ExApp process should have a FRP Client (frpc) running in the same network as the HaRP container or should be able to connect to the ports exposed by the HaRP container.</div> <div class="line">If the communication has to go without the FRP client, the <code class="docutils literal notranslate"><span class="pre">--harp_exapp_direct</span></code> flag should be provided. The localhost IP address is always used as the host in this case for manual deployments and <code class="docutils literal notranslate"><span class="pre">OVERRIDE_APP_HOST</span></code> or the <code class="docutils literal notranslate"><span class="pre"><app_id></span></code> is used for ExApp deployments. Take care not to use the host network mode or the default bridge network for this.</div> </div> </div> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>manual_install_harp<span class="w"> </span><span class="s2">"Harp Manual Install"</span><span class="w"> </span><span class="s2">"manual-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"appapi-harp:8780"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--net<span class="w"> </span>nextcloud<span class="w"> </span>--harp<span class="w"> </span>--harp_frp_address<span class="w"> </span><span class="s2">"appapi-harp:8782"</span><span class="w"> </span>--harp_shared_key<span class="w"> </span><span class="s2">"some_very_secure_password"</span> </pre></div> </div> </div></blockquote> </li> <li><p>Register a Docker Socket Proxy deploy daemon with the <code class="docutils literal notranslate"><span class="pre">nextcloud-appapi-dsp:2375</span></code> as the host and the <code class="docutils literal notranslate"><span class="pre">nextcloud</span></code> docker network. This can be paired with a Docker Socket Proxy container running in the same network with the default port <code class="docutils literal notranslate"><span class="pre">2375</span></code>.</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>docker_install<span class="w"> </span><span class="s2">"Docker Socket Proxy"</span><span class="w"> </span><span class="s2">"docker-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"nextcloud-appapi-dsp:2375"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--net<span class="o">=</span>nextcloud<span class="w"> </span>--set-default<span class="w"> </span>--compute_device<span class="o">=</span>cuda </pre></div> </div> </div></blockquote> </li> <li><p>Register a manual deploy daemon with <code class="docutils literal notranslate"><span class="pre">host.docker.internal</span></code> as the host used to connect to the ExApps.</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>manual_install<span class="w"> </span><span class="s2">"Manual Install"</span><span class="w"> </span><span class="s2">"manual-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span>null<span class="w"> </span><span class="s2">"http://nextcloud.local"</span> </pre></div> </div> </div></blockquote> </li> <li><p>Register a local docker deploy daemon with the <code class="docutils literal notranslate"><span class="pre">/var/run/docker.sock</span></code> as the socket and the host, and the <code class="docutils literal notranslate"><span class="pre">nextcloud</span></code> docker network. This does not need a Docker Socket Proxy container. The compute device used by this daemon is <code class="docutils literal notranslate"><span class="pre">CPU</span></code>.</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>local_docker<span class="w"> </span><span class="s2">"Docker Local"</span><span class="w"> </span><span class="s2">"docker-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"/var/run/docker.sock"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--net<span class="o">=</span>nextcloud </pre></div> </div> </div></blockquote> </li> <li><p>Register a local docker deploy daemon with the <code class="docutils literal notranslate"><span class="pre">/var/run/docker.sock</span></code> as the socket and the host, and the <code class="docutils literal notranslate"><span class="pre">nextcloud</span></code> docker network. This does not need a Docker Socket Proxy container. The compute device used by this daemon is <code class="docutils literal notranslate"><span class="pre">CUDA</span></code> (NVIDIA).</p> <blockquote> <div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app_api:daemon:register<span class="w"> </span>local_docker<span class="w"> </span><span class="s2">"Docker Local"</span><span class="w"> </span><span class="s2">"docker-install"</span><span class="w"> </span><span class="s2">"http"</span><span class="w"> </span><span class="s2">"/var/run/docker.sock"</span><span class="w"> </span><span class="s2">"http://nextcloud.local"</span><span class="w"> </span>--net<span class="o">=</span>nextcloud<span class="w"> </span>--set-default<span class="w"> </span>--compute_device<span class="o">=</span>cuda </pre></div> </div> </div></blockquote> </li> </ul> </section> <section id="deployconfig"> <h4>DeployConfig<a class="headerlink" href="#deployconfig" title="Link to this heading"></a></h4> <p>DeployConfig is a set of additional options in Daemon config, which are used in deployment algorithms to configure ExApp container.</p> <div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span> <span class="w"> </span><span class="nt">"net"</span><span class="p">:</span><span class="w"> </span><span class="s2">"host"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"nextcloud_url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://nextcloud.local"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"haproxy_password"</span><span class="p">:</span><span class="w"> </span><span class="s2">"some_secure_password"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"computeDevice"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"cuda"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"CUDA (NVIDIA)"</span><span class="p">,</span> <span class="w"> </span><span class="p">},</span> <span class="w"> </span><span class="nt">"harp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="nt">"frp_address"</span><span class="p">:</span><span class="w"> </span><span class="s2">"localhost:8782"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"docker_socket_port"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24000"</span><span class="p">,</span> <span class="w"> </span><span class="nt">"exapp_direct"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> </div> </section> <section id="deployconfig-options"> <h4>DeployConfig options<a class="headerlink" href="#deployconfig-options" title="Link to this heading"></a></h4> <blockquote> <div><ul class="simple"> <li><p><code class="docutils literal notranslate"><span class="pre">net</span></code> <strong>[required]</strong> - network name to bind docker container to (default: <code class="docutils literal notranslate"><span class="pre">host</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">nextcloud_url</span></code> <strong>[required]</strong> - Nextcloud URL (e.g. <code class="docutils literal notranslate"><span class="pre">https://nextcloud.local</span></code>)</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">haproxy_password</span></code> <em>[optional]</em> - password for AppAPI Docker Socket Proxy</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">computeDevice</span></code> <em>[optional]</em> - Compute device to attach to the daemon (e.g. <code class="docutils literal notranslate"><span class="pre">{</span> <span class="pre">"id":</span> <span class="pre">"cuda",</span> <span class="pre">"label":</span> <span class="pre">"CUDA</span> <span class="pre">(NVIDIA)"</span> <span class="pre">}</span></code>)</p></li> <li><dl class="simple"> <dt><code class="docutils literal notranslate"><span class="pre">harp</span></code> <em>[optional]</em> - HaRP options, can be <code class="docutils literal notranslate"><span class="pre">null</span></code> in case of non-HaRP setups</dt><dd><ul> <li><p><code class="docutils literal notranslate"><span class="pre">frp_address</span></code> <em>[optional]</em> - [host]:[port] of the HaRP FRP server, default host is same as HaRP host and port is 8782</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">docker_socket_port</span></code> <em>[optional]</em> - ‘remotePort’ of the FRP client of the remote docker socket proxy. There is one included in the harp container so this can be skipped for default setups. [default: “24000”]</p></li> <li><p><code class="docutils literal notranslate"><span class="pre">exapp_direct</span></code> <em>[optional]</em> - Flag for the advanced setups only. Disables the FRP tunnel between ExApps and HaRP.</p></li> </ul> </dd> </dl> </li> </ul> </div></blockquote> </section> </section> <section id="unregister"> <h3>Unregister<a class="headerlink" href="#unregister" title="Link to this heading"></a></h3> <p>Unregister Deploy Daemon (DaemonConfig).</p> <p>Command: <code class="docutils literal notranslate"><span class="pre">app_api:daemon:unregister</span> <span class="pre"><daemon-config-name></span></code></p> </section> <section id="list-registered-daemons"> <h3>List registered daemons<a class="headerlink" href="#list-registered-daemons" title="Link to this heading"></a></h3> <p>List registered Deploy Daemons (DaemonConfigs).</p> <p>Command: <code class="docutils literal notranslate"><span class="pre">app_api:daemon:list</span></code></p> </section> </section> <section id="nextcloud-aio"> <h2>Nextcloud AIO<a class="headerlink" href="#nextcloud-aio" title="Link to this heading"></a></h2> <p>In the case of AppAPI installed in AIO, a default Deploy Daemon is registered automatically. It is possible to register additional Deploy Daemons using the same methods as described above.</p> </section> <section id="additional-options"> <span id="additional-options-list"></span><h2>Additional options<a class="headerlink" href="#additional-options" title="Link to this heading"></a></h2> <div class="line-block"> <div class="line">There is a possibility to add additional options to the Deploy Daemon configuration, which are key-value pairs.</div> <div class="line">This should not be used for HaRP.</div> </div> <p>Currently, the following options are available:</p> <blockquote> <div><ul class="simple"> <li><p><code class="docutils literal notranslate"><span class="pre">OVERRIDE_APP_HOST</span></code> - can be used to override the host that will be used for ExApp binding (not passed to ExApp container envs)</p></li> </ul> </div></blockquote> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="DeployConfigurations.html" class="btn btn-neutral float-left" title="Deployment configurations" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="TestDeploy.html" class="btn btn-neutral float-right" title="Test Deploy Daemon" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>© Copyright 2016-2026 Nextcloud GmbH and Nextcloud contributors.</p> </div> </footer> </div> </div> </section> </div> <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions"> <span class="rst-current-version" data-toggle="rst-current-version"> ☁️ latest <span class="fa fa-caret-down"></span> </span> <div class="rst-other-versions"> <dl> <dt>☁️ Versions</dt> <dd style="width: 32%"> <a href="https://docs.nextcloud.com/server/latest/admin_manual" style="color: var(--dark-link-color);" > latest </a> </dd> <dd style="width: 32%"> <a href="https://docs.nextcloud.com/server/stable/admin_manual" > stable </a> </dd> <dd style="width: 32%"> <a href="https://docs.nextcloud.com/server/32/admin_manual" > 32 </a> </dd> <dd style="width: 32%"> <a href="https://docs.nextcloud.com/server/31/admin_manual" > 31 </a> </dd> </dl> </div> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>
Save File
Cancel