Community-maintained fork — updated to support Nextcloud 30–34.
📸📹 Collect photo and video duplicates to save your cloud storage space
The original MediaDC by Andrey Borysenko and Alexander Piskun has been archived. This fork continues maintenance to keep MediaDC working on the latest Nextcloud versions with zero manual setup — just enable the app and it works.
- ♻ Detects similar and duplicate photos/videos with different resolutions, sizes and formats
- 💡 Easily saves your cloud storage space and time for sorting
- ⚙ Flexible configuration — hashing algorithms, similarity threshold, hash size
- 🚀 Zero-setup — Python environment auto-configured during app enable, no manual steps
- 🗄️ All databases supported — SQLite, MySQL/MariaDB, PostgreSQL
- Download
mediadc.tar.gzfrom the latest release - Extract to your Nextcloud
apps/directory:tar xzf mediadc.tar.gz -C /path/to/nextcloud/apps/
- Enable the app:
sudo -u www-data php /path/to/nextcloud/occ app:enable mediadc
- Done! The Python environment (venv + packages) will be automatically set up during first enable. This may take 1–3 minutes.
Run the built-in health check script:
sudo -u www-data bash /path/to/nextcloud/apps/mediadc/scripts/setup-check.sh /path/to/nextcloudThis checks: system deps, PHP, Nextcloud status, Python venv, all packages, DB connectivity, and runs an end-to-end smoke test.
Requirements:
- Nextcloud 30, 31, 32, 33, or 34
- PHP 8.1 or later
- Python 3.9 or later (with
venvsupport —apt install python3-venvon Debian/Ubuntu if missing) ffmpeg(optional — only needed for video duplicate detection)
Disable and re-enable the app to trigger the auto-setup:
sudo -u www-data php occ app:disable mediadc
sudo -u www-data php occ app:enable mediadc| Original (0.4.0) | This fork (0.5.0+) |
|---|---|
Requires cloud_py_api app installed |
Self-contained — cloud_py_api vendored |
| Manual Python venv + pip install | Auto-setup during app enable |
| PostgreSQL & MySQL only | SQLite also supported |
| Nextcloud 30–31 only | Nextcloud 30–34 |
| Tasks stuck pending from UI | Fixed — async worker launches correctly |
| Binary download mode | Source Python mode (simpler, no GitHub download) |
Original project by Andrey Borysenko and Alexander Piskun.
This fork maintained by Ngurah Bagus Trisna.