Skip to content

Commit d3b654c

Browse files
committed
docs(updater): document --url option for offline/air-gapped installs
Covers --url (HTTP/HTTPS and file://), --signature for providing a base64 archive signature, --no-verify as escape hatch, and combining all three with --no-interaction for automated runs. Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
1 parent c3e729b commit d3b654c

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

admin_manual/maintenance/update.rst

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,68 @@ To execute this, run the command with the ``--no-interaction`` option. (i.e.
239239
:alt: Terminal showing Nextcloud command line updater running in non-interactive batch mode
240240
:class: terminal-image
241241

242+
Using a custom download URL (offline / air-gapped installs)
243+
------------------------------------------------------------
244+
245+
By default the updater fetches the Nextcloud release archive from the official
246+
download servers. In environments without internet access — or when you want to
247+
serve the archive from an internal mirror — you can point the updater at any
248+
HTTP/HTTPS URL with the ``--url`` option:
249+
250+
.. code-block:: bash
251+
252+
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar \
253+
--url https://mirror.example.com/nextcloud-30.0.0.tar.bz2
254+
255+
For local file access you can use a ``file://`` URL:
256+
257+
.. code-block:: bash
258+
259+
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar \
260+
--url file:///tmp/nextcloud-30.0.0.tar.bz2
261+
262+
Signature verification
263+
~~~~~~~~~~~~~~~~~~~~~~
264+
265+
When ``--url`` is used the updater cannot look up the official signature
266+
automatically. You have two options:
267+
268+
* **Provide the signature** — pass the base64-encoded signature with
269+
``--signature``. You can get the signature from
270+
https://nextcloud.com/changelog/ or from the same mirror that hosts the
271+
archive:
272+
273+
.. code-block:: bash
274+
275+
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar \
276+
--url file:///tmp/nextcloud-30.0.0.tar.bz2 \
277+
--signature "BASE64_SIGNATURE_HERE"
278+
279+
* **Skip verification** — pass ``--no-verify`` to disable integrity checking
280+
entirely. Only do this if you fully trust the source of the archive and the
281+
transfer channel:
282+
283+
.. code-block:: bash
284+
285+
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar \
286+
--url file:///tmp/nextcloud-30.0.0.tar.bz2 \
287+
--no-verify
288+
289+
.. warning::
290+
Skipping signature verification (``--no-verify``) removes the integrity
291+
check that protects against corrupted or tampered archives. Only use it
292+
when the archive comes from a fully trusted, controlled source.
293+
294+
These options can be combined with ``--no-interaction`` for fully automated
295+
offline update runs:
296+
297+
.. code-block:: bash
298+
299+
sudo -E -u www-data php /var/www/nextcloud/updater/updater.phar \
300+
--url file:///tmp/nextcloud-30.0.0.tar.bz2 \
301+
--signature "BASE64_SIGNATURE_HERE" \
302+
--no-interaction
303+
242304
Troubleshooting
243305
---------------
244306

0 commit comments

Comments
 (0)