Sync is standard OS X application and it always starts up when user logs in, under current user account. If you want to launch it automatically when no user is logged in, you'll need to use launchd framework to force your Mac loading Sync even before user logs in.
This instruction proposes you to create a new user on your Mac, and Sync will run under this user account. Due to specific umask setting it'll create all files with rw- permissions for the group, which will allow all users to access content delivered by Sync. Although, you need to ensure that new files that you create inside synced folders will also get the rw- permissions for the group - otherwise Sync will stop syncing these files.
- Install Sync normally. Ensure it is not in launch items for your current user account.
- Create a resiliosync user in your Mac's System Preferences. Ensure it has password.
- Switch to resiliosync user
- Create the folder "~/Library/Application Support/Resilio Sync". Create the config file "sync.conf" there. Here is a sample config file (you can see more details on configuration files here). When creating config file, use some plain text editor. Don't use TextEdit, Pages or alike as they tend to create it in RTF and rend config unusable.
If you're planning to use Selective Sync, add line "enable_placeholders": false to myconfig.json file (any place, in first level json). Mind commas to preserve json format!{
"device_name": "My Headless Mac",
"storage_path" : "/Users/resiliosync/Library/Application Support/Resilio Sync/",
"use_gui" : false,
"use_upnp" : true,
"webui" :
{
"listen" : "0.0.0.0:8888",
"login" : "admin",
"password" : "password"
}
} - Download Resilio Sync.sh file into this directory and in Terminal give execute permission to the file with command (might need sudo for this):
chmod a+x Resilio\ Sync.sh
The script has sleep timeout of 90 seoncds. You can edit the file and reduce it if necessary. - Switch back to your admin user. Now create the launchd configuration file "/Library/LaunchDaemons/com.resilio.sync.plist". You'll need root permissions to do it. Again, use plain text editor only. Put the next content inside:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "–//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.resilio.sync</string>
<key>ProgramArguments</key>
<array>
<string>/Users/resiliosync/Library/Application Support/Resilio Sync/Resilio Sync.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>resiliosync</string>
<key>Umask</key>
<integer>2</integer>
</dict>
</plist> - Open terminal window and start Sync with
"sudo launchctl load -w /Library/LaunchDaemons/com.resilio.sync.plist"
command. It will start in 90 seconds.
From now on, Sync will start with OS X and does not require user to get logged in. You can access your Sync UI thru the web browser, just type http://<your_mac_ip>:8888
in navigation line.