Advanced configuration
You can configure the desktop app through command-line options, nextcloud.cfg, and environment variables.
Use the app’s Settings window for options available there; this page describes advanced settings and overrides.
For the separate tool that performs a single synchronization run, see Command-line client.
Defaults below refer to the standard Nextcloud client. Branded clients, server capabilities, and operating system policies can change some defaults. Sync-engine settings apply to classic sync, including Windows virtual files. The macOS File Provider extension handles its own file transfers; these settings do not configure its transfer engine. See Using the macOS File Provider.
Command-line options
Start the desktop app with nextcloud [options]. Use nextcloud --help to see the options in your installed
version.
Options with a value accept both --option value and --option=value.
Quit the running client before applying startup options or environment variables. Starting another instance can forward commands to the existing process instead of starting a new process with the requested environment.
General options
Parameter |
Default |
Description |
|---|---|---|
|
Not requested |
Show the available command-line options and exit. |
|
Not requested |
Show version information and exit. |
|
Not requested |
Quit the running desktop client. |
|
Standard location |
Use a different configuration directory. See Configuration file for the standard locations. |
|
Not set |
Start without opening the main dialog. |
|
From |
Save the interface language and exit. For example, use |
|
Not set |
Save |
|
Not set |
Save |
|
Not set |
Force import of an available legacy client configuration. Only available in builds that support account migration. |
|
Normal direction |
Reverse the interface layout direction for this run. |
Logging options
Parameter |
Default |
Description |
|---|---|---|
|
Not set |
Open the log output window. |
|
Not set |
Write logs to this file. Use |
|
From |
Write rotating log files to this directory. |
|
From |
Set retention for rotating logs. A positive value overrides |
|
From |
Flush the log after each write so that recent messages are available immediately. |
|
From |
Enable debug messages in Nextcloud logging categories. This does not enable all Qt debug categories. |
|
Not set |
Also enables debug logging. Prefer |
For example, collect debug output in a file on Linux:
nextcloud --logdebug --logflush --logfile "$HOME/nextcloud-debug.log"
For persistent logging settings, see [General] section.
Account setup options
These options create and save an account, then exit. Start the desktop app again to use the account.
Parameter |
Default |
Description |
|---|---|---|
|
Required |
User ID for the account to create. Use together with |
|
Required |
Base URL of the Nextcloud server, for example |
|
Not set |
App password for the account. If omitted, the account is saved and you must log in from the desktop app later. |
|
Suggested folder |
Local sync folder. If omitted, use the folder suggested by the setup wizard. An existing folder must be empty. Ignored when macOS File Provider mode is enabled. |
|
|
Remote folder for the new classic sync connection. Applies when a local sync folder is created. |
|
|
Use |
For example, create an account and log in from the desktop app afterward:
nextcloud --userid carla --serverurl https://cloud.example.com --localdirpath "$HOME/Nextcloud"
Configuration file
The client stores its settings in nextcloud.cfg using the INI format. Quit the client and back up this file before
editing it, then start the client again. Changes made in the app’s Settings window can overwrite the corresponding
values in the file.
The standard locations are:
Linux:
$HOME/.config/Nextcloud/nextcloud.cfg. IfXDG_CONFIG_HOMEis set, use$XDG_CONFIG_HOME/Nextcloud/nextcloud.cfg.Windows:
%APPDATA%\Nextcloud\nextcloud.cfg.macOS, client 33.0.0 and later:
$HOME/Library/Containers/com.nextcloud.desktopclient/Data/Library/Preferences/Nextcloud/nextcloud.cfg.Older macOS clients:
$HOME/Library/Preferences/Nextcloud/nextcloud.cfg.
--confdir overrides the configuration directory. Branded clients can use a different directory and filename.
In Citrix and other environments with roaming profiles, persist the user’s configuration between sessions to retain
account setup.
The tables identify the INI section for each setting. For example:
[Nextcloud]
remotePollInterval=30000
[General]
logDebug=true
logExpire=48
Account identities, credentials, sync-folder state, window geometry, caches, migration markers, and updater state are managed by the client. Use the setup wizard and Settings window to change those values.
Precedence depends on the setting. The environment overrides listed below apply only to their corresponding settings.
For skipUpdateCheck and autoUpdateCheck, a value in [General] takes precedence over [Nextcloud].
On Windows, administrator policies can override those update settings and the folder-size and external-storage settings.
[Nextcloud] section
Parameter |
Default |
Description |
|---|---|---|
|
|
Interval for polling the server for changes. Values below |
|
|
Schedule a sync after this much time has passed since the last sync (2 hours). Values below
|
|
|
After this interval (1 hour), the next eligible sync scans the local filesystem fully. Use |
|
|
Interval for polling server notifications. Values below |
|
|
Disable update checks and hide the updater interface. |
|
|
Enable automatic update checks, provided |
|
|
Automatic update-check interval (10 hours). Values below |
[General] section
Parameter |
Default |
Description |
|---|---|---|
|
|
Initial upload chunk size (100 MiB). The client can adjust it during upload. Server capabilities can replace
it; |
|
|
Minimum configured upload chunk size (5 MiB). The sync engine initially bounds it between 5 MB and 5 GB.
Overridden by |
|
|
Maximum configured upload chunk size (100 MiB). A server-provided maximum takes precedence.
|
|
|
Default network inactivity timeout. Activity can reset the timer and individual requests can use different
timeouts. A nonzero |
|
|
Ask for confirmation when all files are detected as deleted or when the number of deleted files exceeds
|
|
|
Deletion count above which |
|
|
Move files deleted on the server to the local trash instead of deleting them permanently, where the local filesystem supports it. |
|
|
Size above which a new remote folder requires confirmation before downloading. Used when
|
|
|
Enable the folder-size confirmation limit. |
|
|
Ask before synchronizing newly discovered external storage folders. |
|
|
Notify when an existing synchronized folder grows beyond the active folder-size limit. Requires that limit to be enabled and virtual files to be disabled. |
|
From |
Also stop synchronizing such folders until you choose to keep syncing them. Requires
|
For classic desktop sync, the client applies chunk settings from the configuration file, then server capabilities,
then environment overrides. It adjusts the minimum and maximum afterward to include the initial chunk size.
The targetChunkUploadDuration configuration key is not used by the sync engine; use
OWNCLOUD_TARGET_CHUNK_UPLOAD_DURATION instead. forceLoginV2 is no longer read by the client.
Parameter |
Default |
Description |
|---|---|---|
|
|
Show experimental options in the interface. This does not itself enable experimental features. |
|
|
Show the main dialog as a normal window even when a tray icon is available. |
|
Platform dependent |
Use monochrome tray icons. Defaults to |
|
|
Show optional server notifications. Individual notification settings below also apply. |
|
|
Show chat notifications when optional server notifications are enabled. |
|
|
Show call notifications when optional server notifications are enabled. |
|
|
Show quota warnings when optional server notifications are enabled. |
|
Platform dependent |
Show sync folders in the Windows Explorer navigation pane. Defaults to |
|
|
Store the startup preference. Use Settings to change it so that the operating system startup registration is updated too. |
|
Empty |
Interface language code, for example |
|
Build/server dependent |
Select a supported update channel. Invalid values are ignored. Branded clients and server subscription settings can restrict the selection. See Update channels. |
|
|
Show a notification listing configuration backups created during startup. |
Parameter |
Default |
Description |
|---|---|---|
|
|
Use a temporary log directory when logging has not already been directed to a file or standard output. Also enables debug logging and sets retention to 4 hours. |
|
|
Directory for rotating log files. Overridden by |
|
|
Enable Nextcloud debug logging. |
|
|
Retention for rotating logs. A value of |
|
|
Flush the log after every write. |
Development and debug builds can enable debug logging and immediate flushing regardless of these defaults.
Parameter |
Default |
Description |
|---|---|---|
|
Empty |
Force the server URL in the next account setup and start login automatically. Cleared after successful wizard
setup. Can also be set with |
|
Empty |
Suggested local directory for account setup. Cleared after successful wizard setup. Can also be set with
|
|
|
Virtual-file preference used with |
Per-account network settings
Use the account’s network settings in the app where possible. Values below belong to the existing account group inside
[Accounts]. In the INI file they appear with the account ID prefix, for example 0\networkProxyType=0 for account
0. Use the account ID already present in your file. Proxy passwords belong in the system keychain.
Parameter |
Default |
Description |
|---|---|---|
|
|
|
|
Empty |
Proxy hostname. |
|
|
Proxy port. Set the actual port when configuring a manual proxy. |
|
|
Whether the proxy requires authentication. |
|
Empty |
Proxy username. |
|
|
Upload limit mode: |
|
|
Download limit mode: |
|
|
Manual upload limit, used when |
|
|
Manual download limit, used when |
Legacy proxy settings
The top-level [Proxy] section is retained for migration from older clients. Current desktop accounts use the
per-account settings above. Legacy proxy settings can be removed automatically after migration.
Parameter |
Default |
Description |
|---|---|---|
|
|
Legacy proxy type: |
|
Empty |
Legacy proxy hostname. |
|
|
Legacy proxy port. |
|
|
Whether the legacy proxy requires authentication. |
|
Empty |
Legacy proxy username. |
Environment variables
Set environment variables before starting the client. A variable set in a terminal applies to processes launched from that terminal; an already running client or a client launched from the desktop does not automatically inherit it. For example, temporarily change the network inactivity timeout on Linux:
OWNCLOUD_TIMEOUT=600 nextcloud
The historic OWNCLOUD_ prefix is still used by the Nextcloud client. Follow the value format in each description:
some switches require 0 or 1, while others react to any nonempty value, including 0.
Default describes behavior when the variable is unset.
Transfer settings
The chunk-size and parallel-job overrides apply after configuration values and server capabilities in desktop classic
sync. nextcloudcmd also reads these variables, but starts with its sync-engine defaults instead of the desktop app’s
chunk configuration.
Parameter |
Default |
Description |
|---|---|---|
|
Effective chunk size |
Initial chunk size in bytes. Desktop sync starts from |
|
Effective minimum |
Minimum chunk size in bytes. Desktop sync starts from |
|
Effective maximum |
Maximum chunk size in bytes. Desktop sync starts from |
|
|
Target duration for dynamic chunk sizing (1 minute). Use |
|
Server/protocol dependent |
Positive maximum number of parallel sync jobs. Desktop sync uses the server-provided value when available;
otherwise it uses |
|
|
Network inactivity timeout. A nonzero integer overrides |
|
Disabled |
Set to |
|
Server capability |
Set to |
|
Server capability |
Set to |
|
Server dependent |
For the legacy chunked-upload path only: |
|
Disabled |
A nonzero integer adds the |
Keep chunk sizes positive. The client adjusts the minimum and maximum to include the initial chunk size.
The environment parser accepts unsigned 32-bit byte values for the three chunk-size overrides, so do not use values
above 4294967295 bytes for those variables.
Synchronization and disk space
Parameter |
Default |
Description |
|---|---|---|
|
|
Desktop classic sync only. Override the full local scan interval in milliseconds. Use |
|
|
Abort the folder sync when remaining local space is below this threshold (512 MB). The value is bounded between
zero and |
|
|
Skip or abort downloads that would leave less than this amount of local free space (1 GB). Other synchronization can continue. |
|
|
Minimum retry delay for files that failed to synchronize. Values below |
|
|
Maximum retry delay for files that failed to synchronize (1 day). Only positive values override the default. |
|
Server capability |
Set to |
Downloads skipped because of the free-space threshold are retried in later sync runs. The critical threshold stops the whole folder sync. These limits are independent of your server storage quota.
Checksums
Parameter |
Default |
Description |
|---|---|---|
|
Server preference, then |
Override the preferred upload checksum algorithm. Choose an algorithm supported by both client and server. |
|
Unset |
Any nonempty value disables sending upload checksums. Unset it to restore normal checksum uploads. |
|
Unset |
Any nonempty value disables synchronous checksum calculations. Upload and download paths using asynchronous calculations still run. |
Use checksum overrides only when diagnosing a specific compatibility problem; disabling checksums reduces integrity checks used during synchronization.
Troubleshooting
Parameter |
Default |
Description |
|---|---|---|
|
|
Override the sync journal database mode. Normally |
|
|
Override the SQLite locking mode for the sync journal database. |
|
SQLite default |
Override the SQLite |
|
Unset |
On Unix systems, any nonempty value requests an unlimited core-dump size limit for the desktop app. Operating system restrictions still apply. |
|
Qt logging defaults |
Set logging-category filters, for example |
For nextcloudcmd credentials, see Credential handling. Its NC_USER and NC_PASSWORD
variables do not configure accounts in the desktop app.