Skip to content
junkerderprovinzPublic

About

Self-hosted two-way file sync for server, desktop and Android that shows you the plan before it moves anything: a state database, a trash and two brakes. Any rclone backend.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

ArrowLoop

Build  Container  Docker Pulls  Image Size  Arch  rclone  Unraid  License: AGPL-3.0  Documentation


Two-way file sync that shows you the plan before it moves anything.

ArrowLoop keeps two folders in step, say a NAS share and a laptop, or a phone and a WebDAV cloud. It remembers what both sides last agreed on, lists every change before a run, and stops rather than delete more than it should.

Android testers wanted: join the Google Play closed test

Important

Android testers wanted. Google Play only lists an app from a new developer account after at least 12 testers have kept it installed for 14 days. If you have an Android phone:

  1. Join the tester group.
  2. Open the test page and tap Become a tester.
  3. Install ArrowLoop from Google Play and keep it for 14 days. Using it for real helps most, and anything that goes wrong is welcome as an issue.

Install from Unraid's Community Applications   Run it with Docker   Download the source archive   Read the documentation


Download for WindowsDownload for Windows on ARM   Download for macOS   Download for LinuxDownload for Linux on ARM


On Google Play soon   Download the Android app
Always downloads the latest build


A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto


Table of Contents

  1. What it looks like
  2. What it does
  3. How it compares
  4. Getting started
  5. Documentation
  6. How AI is used here
  7. Support this project

1. What it looks like

The web interface of the container in a browser, listing four jobs
The container's web interface, in any browser on your network

The desktop app showing the preview of a run: copies in both directions, a conflict and a deletion
The same interface as a desktop app: every copy, deletion and conflict of the next run, before anything moves

The Android app showing its jobs, the preview of a run and the storage targets
The Android app, with the engine running on the phone


2. What it does

  • Two-way, with a memory. A state database per job tells a new file from a deleted one, so nothing deleted comes back and nothing new disappears. How it decides
  • A plan before every run. The preview lists every copy, deletion and conflict. Untick a row and that file stays exactly as it is. The interface
  • Brakes instead of surprises. Deletions go to a trash, a run that would delete too much or finds a side suddenly empty stops, and a crash at any step can be picked up again. Safety
  • Over 60 clouds and servers. Every rclone backend is built in: SMB, SFTP, S3, WebDAV, Nextcloud, OneDrive, Google Drive and the rest. Configuring a job
  • Runs on its own. Schedules, real-time watching, notifications and a run log that writes down every run. Configuring a job
  • Wherever you need it. A Docker container for your server or Unraid, a desktop app for Windows, macOS and Linux, and an Android app that runs the engine on the phone. Installing

3. How it compares

GoodSync is the tool ArrowLoop was built to replace. FreeFileSync, Syncovery and SyncBack work the same way, a job you run or schedule, and are desktop programs first. Syncthing and Resilio Sync keep folders identical between devices in real time, with nothing to review before it happens. Unison and rclone bisync are two-way sync for the command line. ArrowLoop takes GoodSync's way of working and rclone's reach, runs as a container or a desktop app, and keeps a record of what both sides last agreed on.

ArrowLoop GoodSync FreeFileSync Syncthing Resilio bisync Unison Syncovery SyncBack
Every change shown before the run, single ones can be dropped ✅ ✅ ✅ ❌ ❓ ❌ ✅ ✅ ✅
Brake on a run that deletes too much ✅ ⚠️ ⚠️ ❌ ❓ ✅ ⚠️ ✅ ⚠️
An empty or unmounted side is refused ✅ ⚠️ ⚠️ ✅ ⚠️ ✅ ✅ ✅ ⚠️
Deletions go to a trash by default ✅ ✅ ✅ ⚠️ ✅ ⚠️ ⚠️ ✅ ⚠️
An edit on both sides keeps both versions by itself ✅ ⚠️ ⚠️ ✅ ⚠️ ✅ ⚠️ ⚠️ ❌
Cloud and server targets without a mount ✅ ✅ ⚠️ ❌ ❌ ✅ ⚠️ ✅ ✅
Encryption at the destination ✅ ⚠️ ❌ ⚠️ ✅ ✅ ❌ ✅ ✅
Sends only the changed part of a file ❌ ⚠️ ❌ ✅ ✅ ❌ ✅ ✅ ⚠️
Copies files another program holds open ⚠️ ✅ ✅ ❌ ❌ ❌ ❌ ✅ ✅
Built-in schedule ✅ ✅ ❌ ❌ ❌ ❌ ⚠️ ✅ ⚠️
Real-time watching ✅ ✅ ⚠️ ✅ ✅ ❌ ✅ ⚠️ ✅
Scripts before and after a run ✅ ✅ ⚠️ ❌ ❓ ❌ ❌ ✅ ✅
Notification when a run fails ✅ ✅ ⚠️ ⚠️ ⚠️ ❌ ❌ ✅ ✅
Device to device over the internet, no port forwarding ❌ ✅ ❌ ✅ ✅ ❌ ❌ ❌ ❌
Official container image ✅ ❌ ❌ ✅ ⚠️ ✅ ❌ ❌ ❌
Web interface ✅ ⚠️ ❌ ✅ ⚠️ ❌ ❌ ⚠️ ❌
Desktop app ✅ ✅ ✅ ⚠️ ✅ ❌ ✅ ✅ ✅
Windows, macOS and Linux ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌
Android ✅ ✅ ❌ ⚠️ ✅ ⚠️ ❌ ❌ ⚠️
iOS ❌ ✅ ❌ ⚠️ ✅ ❌ ❌ ❌ ❌
No account and no vendor relay ✅ ❌ ✅ ⚠️ ⚠️ ✅ ✅ ✅ ✅
Open source ✅ ❌ ⚠️ ✅ ❌ ✅ ✅ ❌ ❌
Free, with every feature ✅ ❌ ⚠️ ✅ ⚠️ ✅ ✅ ❌ ⚠️
Past 1.0 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅

✅ yes · ⚠️ with a catch: off by default, a paid edition, one platform only or a community build · ❌ no · ❓ undocumented. Checked against each project's own documentation in September 2026.

ArrowLoop has no relay of its own. To sync between two places over the internet, put both machines in one private network, as Installing describes.


4. Getting started

On a server, one container is enough:

docker run -d --name arrowloop -p 8422:8422 \
  -v /path/to/config:/config \
  -v /path/to/data:/data \
  junkerderprovinz/arrowloop:latest

Then open port 8422 in a browser and add your first job. On Unraid, install it from Community Applications instead. The desktop and Android apps are the download buttons above. Passwords, reverse proxies and updates are in the installation guide.


5. Documentation

The documentation has the details this page leaves out:

  • Installing: container, Unraid, desktop, Android and the single binary
  • Configuring a job: every field of the job file, schedules, watching and notifications
  • The interface: the preview, editing jobs, history, conflicts and the trash
  • Command line: sync, jobs, web, daemon and service
  • How it decides: the decision table, renames, case and Unicode
  • Safety: the trash, the brakes, half-written files and crashes
  • How it compares: against GoodSync, FreeFileSync, Syncthing, rclone bisync and others
  • How it is tested: the convergence test, broken guards and CI on three systems
  • When something goes wrong: refused runs, files that keep copying and a container that restarts

6. How AI is used here

One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.

You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.


7. Support this project

Questions? Check the support thread. Bugs, ideas or feature requests? Please open a GitHub issue.

A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.

If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.

Buy me a coffee   PayPal   Donate with crypto

Reporting something that went wrong is worth as much. A two-way sync meets filesystems, network shares and timing that no test suite can reach on its own, and the bugs that matter here are the quiet ones. If a run did something you did not expect, open an issue with the run's own log line: it names the job, the file and the reason.

About

Self-hosted two-way file sync for server, desktop and Android that shows you the plan before it moves anything: a state database, a trash and two brakes. Any rclone backend.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages