docker.recipes

Duplicacy Web

intermediate

Lock-free deduplication cloud backup with web UI.

Overview

Duplicacy is a lock-free deduplication backup solution developed by Gchen that revolutionizes cloud backup by allowing multiple clients to perform backups simultaneously without conflicts. Unlike traditional backup tools that require locking mechanisms, Duplicacy uses a unique algorithm that enables concurrent operations while maintaining data integrity through cross-computer deduplication. This approach makes it particularly valuable for organizations running multiple servers or users sharing storage backends across different machines. The Duplicacy Web stack combines the core Duplicacy engine with a comprehensive web interface that simplifies backup management through an intuitive browser-based dashboard. The web UI eliminates the need for command-line expertise while providing advanced features like backup scheduling, storage monitoring, and multi-repository management. This Docker implementation packages the entire web edition into a containerized environment that handles configuration persistence and log management automatically. This configuration targets IT professionals managing multi-machine environments, small businesses requiring reliable backup solutions, and homelab enthusiasts who need enterprise-grade deduplication without the complexity. The commercial web edition provides additional features beyond the open-source CLI version, including the graphical interface, advanced scheduling, and enhanced monitoring capabilities that justify its use in production environments.

Key Features

  • Lock-free concurrent backup operations allowing multiple machines to backup simultaneously to shared storage
  • Cross-computer deduplication that identifies identical chunks across different machines to minimize storage usage
  • Multi-backend support including S3, Wasabi, Backblaze B2, Azure, Google Cloud Storage, SFTP, and local storage
  • Web-based management interface with backup scheduling, progress monitoring, and repository browsing
  • Snapshot-based versioning with configurable retention policies and point-in-time recovery
  • Encryption-at-rest with client-side key management ensuring data security before transmission to storage backends
  • Incremental backup engine that only uploads changed blocks while maintaining full restore capabilities
  • Storage backend health monitoring with automatic retry logic and connection status reporting

Common Use Cases

  • 1Multi-server environments where different machines need to backup to shared cloud storage without coordination
  • 2Small businesses requiring automated backup scheduling with web-based monitoring and management
  • 3Development teams backing up multiple workstations to cost-effective cloud storage with deduplication savings
  • 4Homelab setups managing backup workflows across various services and personal data repositories
  • 5Remote office locations needing centralized backup management through web interface without local IT staff
  • 6Organizations transitioning from traditional backup solutions seeking modern cloud-native deduplication technology
  • 7Managed service providers offering backup services to multiple clients with isolated storage backends

Prerequisites

  • Minimum 1GB RAM available for deduplication processing and web interface operations
  • Docker and Docker Compose installed with user namespace support for proper file permissions
  • Port 3875 available for web interface access and not conflicting with other services
  • Storage backend credentials configured (S3 keys, SFTP access, or cloud storage authentication)
  • Understanding of backup retention policies and storage cost implications for chosen backends
  • Valid commercial license for Duplicacy Web Edition features beyond basic CLI functionality

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 duplicacy:
3 image: saspus/duplicacy-web:latest
4 container_name: duplicacy
5 restart: unless-stopped
6 environment:
7 USR_ID: 1000
8 GRP_ID: 1000
9 TZ: UTC
10 volumes:
11 - duplicacy_config:/config
12 - duplicacy_logs:/logs
13 - duplicacy_cache:/cache
14 - /path/to/data:/data:ro
15 ports:
16 - "3875:3875"
17
18volumes:
19 duplicacy_config:
20 duplicacy_logs:
21 duplicacy_cache:

.env Template

.env
1# Configure storage backend in UI

Usage Notes

  1. 1Docs: https://duplicacy.com/guide.html
  2. 2Web UI at http://localhost:3875
  3. 3Lock-free deduplication - multiple clients can backup simultaneously
  4. 4Backends: local, SFTP, S3, Wasabi, B2, Azure, GCS, Dropbox, OneDrive
  5. 5Cross-computer dedup - share storage across machines
  6. 6Commercial license needed for web edition features

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 duplicacy:
5 image: saspus/duplicacy-web:latest
6 container_name: duplicacy
7 restart: unless-stopped
8 environment:
9 USR_ID: 1000
10 GRP_ID: 1000
11 TZ: UTC
12 volumes:
13 - duplicacy_config:/config
14 - duplicacy_logs:/logs
15 - duplicacy_cache:/cache
16 - /path/to/data:/data:ro
17 ports:
18 - "3875:3875"
19
20volumes:
21 duplicacy_config:
22 duplicacy_logs:
23 duplicacy_cache:
24EOF
25
26# 2. Create the .env file
27cat > .env << 'EOF'
28# Configure storage backend in UI
29EOF
30
31# 3. Start the services
32docker compose up -d
33
34# 4. View logs
35docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/duplicacy-web/run | bash

Troubleshooting

  • Web UI shows 'Connection refused' errors: Verify container is running and port 3875 is not blocked by firewall or already in use by another service
  • Backup jobs fail with permission denied: Check USR_ID and GRP_ID environment variables match the owner of mounted data directories and adjust accordingly
  • High memory usage during backup operations: Increase available container memory or reduce chunk size in backup configuration to lower memory requirements
  • Storage backend authentication failures: Verify cloud storage credentials are correctly configured and have appropriate permissions for read/write operations
  • Deduplication not working across machines: Ensure all clients use identical storage backend configuration and encryption keys for proper chunk recognition
  • Web interface becomes unresponsive during large backups: Monitor available disk space in cache volume and consider increasing cache size or adjusting concurrent job limits

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space