You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* ``frp_address`` *[optional]* - [host]:[port] of the HaRP FRP server, default host is same as HaRP host and port is 8782
127
139
* ``docker_socket_port`` *[optional]* - '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"]
128
140
* ``exapp_direct`` *[optional]* - Flag for the advanced setups only. Disables the FRP tunnel between ExApps and HaRP.
141
+
* ``resourceLimits`` *[optional]* - limits applied to each ExApp container deployed by this daemon. Empty (``[]``) when no limits are set, and absent for daemons registered over the CLI, both of which mean unlimited. Each limit is only present when it is set
142
+
* ``memory`` *[optional]* - memory limit **in bytes** (e.g. ``2147483648`` for 2 GiB). In the admin settings this is entered in MiB
143
+
* ``nanoCPUs`` *[optional]* - CPU limit **in nanoCPUs**, where ``1000000000`` equals one CPU core (e.g. ``2000000000`` for 2 cores). In the admin settings this is entered in cores
144
+
* ``registries`` *[optional]* - list of :ref:`Docker registry mappings <docker_registry_mappings>`, each entry being a ``{"from": ..., "to": ...}`` pair
129
145
130
146
Unregister
131
147
----------
@@ -141,6 +157,173 @@ List registered Deploy Daemons (DaemonConfigs).
141
157
142
158
Command: ``app_api:daemon:list``
143
159
160
+
.. _docker_registry_mappings:
161
+
162
+
Docker registry mappings
163
+
^^^^^^^^^^^^^^^^^^^^^^^^
164
+
165
+
.. versionadded:: 32.0.0
166
+
167
+
Every ExApp declares in its ``info.xml`` the registry its image is pulled from, usually ``ghcr.io`` or ``docker.io``.
168
+
A Deploy Daemon can override those registries so that images are pulled from somewhere else, without any change to the
169
+
ExApp itself. This is useful when your servers have no access to the public registries, when you mirror the ExApp
170
+
images into a private registry, or when you want to test locally built images.
171
+
172
+
.. note::
173
+
Registry mappings only apply to daemons of the ``docker-install`` type. They have no effect on ``manual-install``
174
+
daemons, because those do not pull images.
175
+
176
+
Finding the registry of an ExApp
177
+
--------------------------------
178
+
179
+
The registry to map is the one in the ``<registry>`` element of the ``<docker-install>`` section of the ExApp's
180
+
``info.xml``, which is part of the ExApp source:
181
+
182
+
.. code-block:: xml
183
+
184
+
<info>
185
+
...
186
+
<external-app>
187
+
<docker-install>
188
+
<registry>ghcr.io</registry>
189
+
<image>example-org/exapp_name</image>
190
+
<image-tag>1.0.0</image-tag>
191
+
</docker-install>
192
+
...
193
+
</external-app>
194
+
</info>
195
+
196
+
Together these three elements form the image that is pulled, ``ghcr.io/example-org/exapp_name:1.0.0``. To redirect this
197
+
ExApp, add a mapping with ``ghcr.io`` as the source registry.
198
+
199
+
.. important::
200
+
Only the registry is replaced. The ``<image>`` and ``<image-tag>`` values are used unchanged, so the image must be
201
+
available in your custom registry under exactly the same repository path and tag, in this example
202
+
``example-org/exapp_name:1.0.0``. Mirror the image with its original name, for instance:
203
+
204
+
.. code-block:: bash
205
+
206
+
docker pull ghcr.io/example-org/exapp_name:1.0.0
207
+
docker tag ghcr.io/example-org/exapp_name:1.0.0 registry.example.com/example-org/exapp_name:1.0.0
0 commit comments