Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 18 additions & 4 deletions admin_manual/configuration_files/file_versioning.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@ The Versions app never uses more than 50% of the user's currently available
free space. If the stored versions exceed this limit, Nextcloud deletes the
oldest file versions until it meets the disk space limit again.

Nextcloud manages file versions using a combination of on-save pruning and scheduled cleanup. This ensures that versions are retained while respecting storage quotas.

During Version Creation
----------------------

Nextcloud automatically creates new file versions whenever a file is modified, allowing users to restore previous states when needed. After each new version is stored, the system automatically checks storage limits and retention rules. Versions are filtered according to the above pattern to keep representative versions and remove redundant ones. If the user’s quota is exceeded, auto-expiry is triggered.
When storage space runs low, Nextcloud sorts all versions from oldest to newest and removes the oldest ones first, while always preserving at least the two most recent versions to free up space.

During the Regular Background Job
---------------------------------

Nextcloud runs a background cleanup task that automatically removes old file versions for each user. During this process, the system checks the user's version storage folder and identifies versions that are older than the configured maximum retention period or whose original files no longer exist.
When an outdated or orphaned version is found, it is safely deleted from both the filesystem and the version database to reclaim storage space and maintain consistency.

.. note:: Versions named by a user will never be deleted.

You may alter the default pattern in ``config.php``. The default setting is
Expand All @@ -30,12 +44,12 @@ You may alter the default pattern in ``config.php``. The default setting is

Additional options are:

* ``D, auto``
Keep versions at least for D days, apply expiration rules to all versions
* ``D, auto``
Keep versions at least for D days, apply expiration rules to all versions
that are older than D days

* ``auto, D``
Delete all versions that are older than D days automatically, delete other
* ``auto, D``
Delete all versions that are older than D days automatically, delete other
versions according to expiration rules

* ``D1, D2``
Expand Down
Loading