martin 46664ab3b6 Code-Vereinfachung: Redundanzen entfernen und Wiederverwendung verbessern
- log() Funktion in darktable_common.sh ausgelagert (war doppelt vorhanden)
- ssh_server() Hilfsfunktion für wiederholte SSH-Aufrufe mit konsistenten Optionen
- ssh_server() nutzen statt inline SSH-Befehle in darktable_sync.sh und darktable_wrapper.sh
- Reduzierung von SSH-Optionswiederbholungen (ConnectTimeout, BatchMode, Port)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 19:45:11 +02:00
2025-06-09 16:26:18 +02:00
2025-06-09 16:26:18 +02:00

Darktable Sync 🔄

Auto-sync your Darktable database and photos between different computers with a server as intermediate. Keeps local and remote files in sync using rsync over SSH. The wrapper script synchronizes files before launching Darktable and after it closes. The scheduled background synchronization ensures continuous and reliable data exchange — even if the wrapper script is not used.

Since only file synchronization is performed, only one Darktable instance should run at a time.

The installation is currently written and tested on (K)Ubuntu 25.04 only.

Features

  • 🔄 Bidirectional sync between local machines and a server
  • ⏲️ Automatic sync every 5 minutes via systemd timer
  • 🖱️ Desktop shortcuts for starting Darktable with sync and sync only
  • 📊 Desktop notifications

Requirements 📋

  • Bash 4+
  • rsync
  • SSH key-based auth to NAS
  • systemd (for automatic sync)

Installation 💻

git clone https://github.com/MaTr74/darktable-sync.git
cd darktable-sync
cp .env.example .env
nano .env  # Edit with your values
chmod +x install.sh uninstall.sh
./install.sh

Usage 🚀

  • Start via desktop shortcut: "Darktable with Sync"
  • Manual sync: Start via desktop shortcut: "Darktable Sync Only"

Uninstall 🧹

./uninstall.sh

License 📄

MIT License - see LICENSE

S
Description
Darktable-Synchronisation zwischen mehreren Rechnern via rsync/SSH
Readme MIT 168 KiB
Languages
Shell 100%