Adding a Remote
Add a remote storage location:-d flag sets it as the default remote. Configuration is stored in .dvc/config:
Use
dvc remote add to configure remotes, or edit .dvc/config directly.Common Configuration
These options apply to all remote types:string
required
Remote storage URL. Format depends on the storage type:
- S3:
s3://bucket/path - GCS:
gs://bucket/path - Azure:
azure://container/path - SSH:
ssh://user@host:/path - Local:
/path/to/storageorfile:///path/to/storage
integer
default:"4"
Number of parallel jobs for upload/download operations.
Higher values speed up transfers but use more resources.
integer
default:"4"
Number of parallel jobs for checksum calculation.
boolean
default:"false"
Enable version-aware operations for supported cloud storage.
Useful for S3, GCS, and Azure with versioning enabled.
boolean
default:"false"
Enable worktree mode for the remote.
Local & File Remotes
Local filesystem or network-mounted storage.Configuration
Parameters
string
Cache link type:
reflink, hardlink, symlink, or copy.reflink: Copy-on-write (fastest, limited support)hardlink: Hard links (fast, same filesystem required)symlink: Symbolic linkscopy: Full copy (slowest, most compatible)
Set to
group to make cache group-writable.
Useful for shared storage accessed by multiple users.boolean
default:"true"
Warn when using slow link types (copy).
boolean
default:"false"
Verify checksums after transfer.
Example
Amazon S3
Amazon S3 and S3-compatible storage (MinIO, DigitalOcean Spaces, etc.).Basic Setup
Authentication Parameters
string
AWS access key ID. Alternatively, set
AWS_ACCESS_KEY_ID environment variable.string
AWS secret access key. Alternatively, set
AWS_SECRET_ACCESS_KEY environment variable.string
AWS session token for temporary credentials.
string
AWS profile name from
~/.aws/credentials.string
Path to custom AWS credentials file.
string
Path to custom AWS config file.
boolean
default:"false"
Allow anonymous access to public buckets.
Region & Endpoint
string
AWS region (e.g.,
us-west-2, eu-central-1).string
Custom S3 endpoint URL for S3-compatible services:
- MinIO:
http://localhost:9000 - DigitalOcean:
https://nyc3.digitaloceanspaces.com
Connection Settings
boolean
default:"true"
Use HTTPS for connections.
boolean | string
default:"true"
Verify SSL certificates. Set to
false to disable or path to CA bundle.integer
Read timeout in seconds.
integer
Connection timeout in seconds.
Encryption
string
Server-side encryption algorithm:
AES256 or aws:kms.string
KMS key ID for KMS encryption.
string
Customer-provided encryption algorithm.
string
Customer-provided encryption key.
Access Control
string
Canned ACL:
private, public-read, public-read-write, authenticated-read, etc.string
Grant read permissions (grantee format:
id=xxx or emailAddress=xxx).string
Grant read ACP permissions.
string
Grant write ACP permissions.
string
Grant full control permissions.
Performance
boolean
Cache region information for faster bucket access.
Complete Example
S3 with encryption and custom ACL
S3 with encryption and custom ACL
.dvc/config:MinIO (S3-compatible)
MinIO (S3-compatible)
Google Cloud Storage (GCS)
Google Cloud Storage backend.Basic Setup
Authentication
string
Path to service account JSON key file.
Alternatively, set
GOOGLE_APPLICATION_CREDENTIALS environment variable.string
Google Cloud project name.
boolean
default:"false"
Allow anonymous access to public buckets.
Endpoint
string
Custom GCS endpoint URL (for emulators or compatible services).
Example
Microsoft Azure Blob Storage
Azure Blob Storage backend.Basic Setup
Authentication Methods
string
Azure storage connection string.Format:
DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...string
Storage account name.
string
Storage account key.
string
Shared Access Signature token.
string
Azure AD tenant ID for service principal authentication.
string
Azure AD client ID.
string
Azure AD client secret.
boolean
default:"false"
Allow anonymous access.
Credential Chain Control
boolean
Exclude environment variables from credential chain.
boolean
Exclude VS Code credentials.
Exclude shared token cache.
boolean
Exclude managed identity credentials.
Connection Settings
integer
General timeout in seconds.
integer
Read timeout in seconds.
integer
Connection timeout in seconds.
Example
Using connection string
Using connection string
Using service principal
Using service principal
SSH / SFTP
Remote storage over SSH/SFTP.Basic Setup
Authentication
string
SSH username.
string
SSH password (not recommended, use key-based auth).
boolean
Prompt for password interactively.
string
Path to SSH private key file.
string
Passphrase for encrypted private key.
boolean
Prompt for passphrase interactively.
boolean
Use GSS-API authentication.
boolean
Allow SSH agent for authentication.
Connection Settings
integer
default:"22"
SSH port number.
integer
Connection timeout in seconds.
integer
Maximum number of concurrent SSH sessions.
Cache Settings
string
Cache link type on remote:
reflink, hardlink, symlink, or copy.Example
HDFS
Hadoop Distributed File System.Basic Setup
Parameters
string
HDFS username.
string
Path to Kerberos ticket cache file.
integer
HDFS replication factor.
WebHDFS
Web-based HDFS access.Basic Setup
Authentication
string
WebHDFS username.
string
WebHDFS password.
boolean
Use Kerberos authentication.
string
Kerberos principal name.
string
Delegation token.
Settings
boolean
Use HTTPS instead of HTTP.
boolean | string
Verify SSL certificates.
string
Proxy to specific DataNode.
string
Target for data proxy operations.
Alibaba OSS
Alibaba Cloud Object Storage Service.Basic Setup
Authentication
string
OSS access key ID.
string
OSS access key secret.
string
OSS endpoint URL (e.g.,
oss-cn-hangzhou.aliyuncs.com).Example
Google Drive
Google Drive backend (experimental).Basic Setup
Authentication
string
Google OAuth client ID.
string
Google OAuth client secret.
string
Path to user credentials file.
Service Account
boolean
Use service account for authentication.
string
Path to service account JSON file.
string
Email for service account impersonation.
Settings
boolean
default:"false"
Move files to trash instead of permanent deletion.
boolean
default:"false"
Acknowledge abuse risk when downloading flagged files.
HTTP / HTTPS
Read-only remote over HTTP(S).Basic Setup
Authentication
string
Authentication method:
basic, digest, or custom.string
Username for basic/digest auth.
string
Password for authentication.
boolean
Prompt for password interactively.
string
Custom authentication header value.Example:
Bearer YOUR_TOKENConnection Settings
boolean | string
Verify SSL certificates. Can be
true, false, or path to CA bundle.string
HTTP method to use (default: GET).
number
Connection timeout in seconds.
number
Read timeout in seconds.
WebDAV / WebDAVs
WebDAV protocol support.Basic Setup
Authentication
string
Username.
string
Password.
boolean
Prompt for password.
string
Authentication token.
string
Command to generate bearer token dynamically.
string
Custom authentication header.
SSL/TLS
string
Path to client certificate.
string
Path to client private key.
boolean | string
Verify SSL certificates.
integer
Connection timeout in seconds.
Best Practices
Store credentials securely
Store credentials securely
Use Or use environment variables:
.dvc/config.local for sensitive data:Set up multiple remotes
Set up multiple remotes
Configure different remotes for different purposes:
Use IAM roles for cloud storage
Use IAM roles for cloud storage
When running on cloud instances, use IAM roles instead of access keys:AWS EC2:Azure VM:
Optimize transfer performance
Optimize transfer performance
Adjust job counts based on your network and CPU:
Enable verification for critical data
Enable verification for critical data
For important datasets, enable post-transfer verification:
Remote Management Commands
Troubleshooting
Authentication failures
Authentication failures
Check credentials:Common issues:
- Expired credentials
- Wrong region/endpoint
- Missing permissions
- Credentials in wrong config level
Slow transfers
Slow transfers
Optimize settings:Considerations:
- Network bandwidth
- Remote storage throughput limits
- Number of files vs. file sizes
SSL/TLS errors
SSL/TLS errors
Disable verification (not recommended for production):Or provide CA bundle:
Next Steps
Configuration Overview
Learn about DVC configuration system
DVC Files
Understand DVC file formats