{"id":4684,"date":"2014-07-17T13:00:18","date_gmt":"2014-07-17T20:00:18","guid":{"rendered":"http:\/\/bittorrent.gyre.wpengine.com\/?p=4684"},"modified":"2022-10-04T15:46:51","modified_gmt":"2022-10-04T22:46:51","slug":"sync-dev-using-sync-for-backups-in-the-cloud-with-docker","status":"publish","type":"post","link":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker","title":{"rendered":"Sync Dev: Using Sync For Backups In The Cloud (With Docker)"},"content":{"rendered":"<p><em>This is a guest post by <a href=\"https:\/\/twitter.com\/vpetersson\">Viktor Petersson<\/a>,\u00a0VP of Business Development at <a href=\"http:\/\/www.cloudsigma.com\">CloudSigma<\/a>.<\/em><\/p>\n<p><!--more--><\/p>\n<p><em>From Viktor:\u00a0<\/em><\/p>\n<p>Before using Sync, my backup strategy was largely based on a bunch of &#8220;rsync&#8221; scripts that pushed data to various servers and external drives. It was messy and somewhat hard to automate, given that it often involved encryption. As a result, it was often neglected.<\/p>\n<p>Another challenge I had was to keep two devices in sync (i.e. two-way sync). This isn&#8217;t something that &#8220;rsync&#8221; supports and was initially one of the reasons why I was eager to try out Sync.<\/p>\n<p>What I found after using Sync for a while was that it works great to sync even a large amount of data over a local network, while both devices were using a wired network connection. Unfortunately, this isn&#8217;t always the case.<\/p>\n<p>What I really needed was a server with good connectivity that was always accessible to sync with. That way, even if the computer at home was powered off, there was still a server that would pick up and seed the changes. This also provided an additional copy of your data, should for some reason both the laptop and home computer break down simultaneously.<\/p>\n<p>If you&#8217;re a Sync user, chances are you&#8217;re concerned about where and how you store your data. You should be, and so am I.\u00a0 Yet, it&#8217;s hard to overlook the benefits of putting such a server in the cloud.<\/p>\n<p>There are two ways you can use a public cloud server, but still keep your data safe with Sync:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.bittorrent.com\/sync\/developers\/api\"><strong>Encryption secrets<\/strong><\/a>, which is a built-in feature in Sync. This is the easiest approach, as it doesn&#8217;t require anything particular on the server. For more information about the various key\/secret types, take a look at Aaron&#8217;s post <a href=\"http:\/\/bittorrent.gyre.wpengine.com\/2014\/07\/03\/sync-dev-a-look-into-how-keys-formerly-known-as-secrets-work\/\">A Look Into How Keys Work<\/a>.\u00a0 It does however require a bit more work, as well as a developer key for the time being.<\/li>\n<li><a href=\"https:\/\/www.cloudsigma.com\/2014\/07\/08\/securing-your-data-in-the-cloud-with-encryption\/\"><strong>Disk encryption<\/strong><\/a>, which basically means that you&#8217;re storing your data into an encrypted partition\/volume (or using Full Disk Encryption). This can of course be combined with *encrypted secrets* for additional security.<\/li>\n<\/ul>\n<p>For the initial setup, I simply added an encrypted volume to an Ubuntu server in Z\u00fcrich, Switzerland (running on <a href=\"https:\/\/www.cloudsigma.com\">CloudSigma<\/a>). I then added the shares using the web interface. This worked out pretty well, but as I configured my second *seed* server, I realized that there was room for improvement.<\/p>\n<p><strong>Enter Docker<\/strong><br \/>\nI had been playing with <a href=\"http:\/\/www.docker.com\/\">Docker<\/a> for some time. It then hit me one day that that if I compartmentalized each share into its own Docker container, it would simplify deployments a lot. That way I could easily manage them over SSH, while also rapidly deploy new shares and swiftly roll out updates.<\/p>\n<p>How to install Docker is outside the scope of this article (you&#8217;ll find a great guide <a href=\"https:\/\/docs.docker.com\/installation\/\">here<\/a>),\u00a0but we will cover how to install the Sync container.<\/p>\n<p>First, we pull down the Docker image from the repository:<\/p>\n<pre>$ docker pull vpetersson\/btsync<\/pre>\n<p>With that done, we can now start spinning up instances using the following command:<\/p>\n<pre>$ docker run -d \r\n-p 55555 \r\n-e \"SYNCKEY=YourSyncKey\" \r\n-e \"MYHOSTNAME=$HOSTNAME\" \r\n--name \"NameOfYourShare\" \r\n-v \/local\/storagepath:\/sync\/storage \r\nvpetersson\/btsync<\/pre>\n<p>As you can see, you pass on all the required parameters into Docker, which in turn will take them and spin up a &#8220;btsync&#8221; process. Given this approach, there is no need for a web interface.<\/p>\n<p>There&#8217;s also a\u00a0<a href=\"https:\/\/github.com\/vpetersson\/btsync\/blob\/master\/create_instance.sh\">script <\/a>that you can use that will simplify this a bit further.<\/p>\n<p>You can find additional information about the various parameters, as well as the full source code, in the <a href=\"https:\/\/github.com\/vpetersson\/btsync\">GitHub <\/a><a href=\"https:\/\/github.com\/vpetersson\/btsync\">repo<\/a>. If you&#8217;re having issues with the container, please open an issue on Github or submit a pull request.<\/p>\n<p>Managing your containers is easy. Starting and stopping each individual container can be done with the following commands:<\/p>\n<pre>$ docker start NameOfYourShare\r\n$ docker stop NameOfYourShare<\/pre>\n<p>You can create as many containers as you&#8217;d like. If you&#8217;d like to check in on the logs from the containers, simply run:<\/p>\n<pre>$ docker logs NameOfYourShare<\/pre>\n<p>That&#8217;s it. You now have a Dockerized Resilio Sync (formerly BitTorrent Sync) environment!<\/p>\n<p><em> After running this setup now for a few months, I&#8217;ve come across a few &#8216;gotchas&#8217;:<\/em><\/p>\n<ul>\n<li>Only use read-only and encrypted keys for *seed* nodes. This minimizes the risk, as you know that these nodes cannot send any data back to your workstation(s).<\/li>\n<li>While it might be tempting to sync your entire home directory (or perhaps &#8220;~\/Documents&#8221; on OS X), I&#8217;d discourage you from doing this. If you do this, chances are your computer will be in a constant sync state, as there will be changes written all the time. Instead, create a sync folder, such as &#8220;~\/Sync&#8221; and then store the data there and simply symlink folders (i.e. &#8220;~\/Pictures&#8221; -&gt; &#8220;~\/Sync\/Pictures&#8221;). That way, you can keep your regular folder structure, but still keep them\u00a0synced.<\/li>\n<li>On OS X, you may need to manually add a few entries to the &#8220;.SyncIgnore&#8221; files.\u00a0<a href=\"http:\/\/forum.resilio.com\/topic\/29705-default-syncignore-rules\/?p=86444\">Here<\/a> are the ones I&#8217;ve added.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This is a guest post by Viktor Petersson,\u00a0VP of Business Development at CloudSigma.<\/p>\n","protected":false},"author":1,"featured_media":4713,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[18,58,59,60,111,261,63],"class_list":["post-4684","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-api","tag-bittorrent-sync","tag-dev","tag-developer-2","tag-docker","tag-hide-in-search-results","tag-synctag"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog\" \/>\n<meta property=\"og:description\" content=\"This is a guest post by Viktor Petersson,\u00a0VP of Business Development at CloudSigma.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\" \/>\n<meta property=\"og:site_name\" content=\"Resilio Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-17T20:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-04T22:46:51+00:00\" \/>\n<meta name=\"author\" content=\"wpengine\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wpengine\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\"},\"author\":{\"name\":\"wpengine\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4\"},\"headline\":\"Sync Dev: Using Sync For Backups In The Cloud (With Docker)\",\"datePublished\":\"2014-07-17T20:00:18+00:00\",\"dateModified\":\"2022-10-04T22:46:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\"},\"wordCount\":815,\"publisher\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"api\",\"bittorrent sync\",\"dev\",\"developer\",\"docker\",\"hide in search results\",\"sync\"],\"articleSection\":[\"Tech\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\",\"url\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\",\"name\":\"Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2014-07-17T20:00:18+00:00\",\"dateModified\":\"2022-10-04T22:46:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.resilio.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sync Dev: Using Sync For Backups In The Cloud (With Docker)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#website\",\"url\":\"https:\/\/blog.resilio.com\/blog\/\",\"name\":\"Resilio Blog\",\"description\":\"Explore Common Use cases, How to&#039;s, Comparisons &amp; More\",\"publisher\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.resilio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#organization\",\"name\":\"Resilio\",\"url\":\"https:\/\/blog.resilio.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png\",\"contentUrl\":\"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png\",\"width\":512,\"height\":512,\"caption\":\"Resilio\"},\"image\":{\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/resilio-inc.\",\"https:\/\/youtube.com\/resilio\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4\",\"name\":\"wpengine\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g\",\"caption\":\"wpengine\"},\"description\":\"This is the \\\"wpengine\\\" admin user that our staff uses to gain access to your admin area to provide support and troubleshooting. It can only be accessed by a button in our secure log that auto generates a password and dumps that password after the staff member has logged in. We have taken extreme measures to ensure that our own user is not going to be misused to harm any of our clients sites.\",\"sameAs\":[\"http:\/\/wpengine.com\"],\"url\":\"https:\/\/blog.resilio.com\/blog\/author\/wpengine\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker","og_locale":"en_US","og_type":"article","og_title":"Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog","og_description":"This is a guest post by Viktor Petersson,\u00a0VP of Business Development at CloudSigma.","og_url":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker","og_site_name":"Resilio Blog","article_published_time":"2014-07-17T20:00:18+00:00","article_modified_time":"2022-10-04T22:46:51+00:00","author":"wpengine","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wpengine","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#article","isPartOf":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker"},"author":{"name":"wpengine","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4"},"headline":"Sync Dev: Using Sync For Backups In The Cloud (With Docker)","datePublished":"2014-07-17T20:00:18+00:00","dateModified":"2022-10-04T22:46:51+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker"},"wordCount":815,"publisher":{"@id":"https:\/\/blog.resilio.com\/blog\/#organization"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage"},"thumbnailUrl":"","keywords":["api","bittorrent sync","dev","developer","docker","hide in search results","sync"],"articleSection":["Tech"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker","url":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker","name":"Sync Dev: Using Sync For Backups In The Cloud (With Docker) | Resilio Blog","isPartOf":{"@id":"https:\/\/blog.resilio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage"},"thumbnailUrl":"","datePublished":"2014-07-17T20:00:18+00:00","dateModified":"2022-10-04T22:46:51+00:00","breadcrumb":{"@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/blog.resilio.com\/blog\/sync-dev-using-sync-for-backups-in-the-cloud-with-docker#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.resilio.com\/blog"},{"@type":"ListItem","position":2,"name":"Sync Dev: Using Sync For Backups In The Cloud (With Docker)"}]},{"@type":"WebSite","@id":"https:\/\/blog.resilio.com\/blog\/#website","url":"https:\/\/blog.resilio.com\/blog\/","name":"Resilio Blog","description":"Explore Common Use cases, How to&#039;s, Comparisons &amp; More","publisher":{"@id":"https:\/\/blog.resilio.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.resilio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/blog.resilio.com\/blog\/#organization","name":"Resilio","url":"https:\/\/blog.resilio.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png","contentUrl":"https:\/\/blog.resilio.com\/wp-content\/uploads\/2024\/05\/cropped-resilio-icon-digital-navy-background.png","width":512,"height":512,"caption":"Resilio"},"image":{"@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/resilio-inc.","https:\/\/youtube.com\/resilio"]},{"@type":"Person","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/e44f4c858e4528965ead5df70e0ae2a4","name":"wpengine","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.resilio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8770fe9625ca7c4601f13d9d0ab86565a6dac8cd6a77bfe2ada6d83c6837870?s=96&d=mm&r=g","caption":"wpengine"},"description":"This is the \"wpengine\" admin user that our staff uses to gain access to your admin area to provide support and troubleshooting. It can only be accessed by a button in our secure log that auto generates a password and dumps that password after the staff member has logged in. We have taken extreme measures to ensure that our own user is not going to be misused to harm any of our clients sites.","sameAs":["http:\/\/wpengine.com"],"url":"https:\/\/blog.resilio.com\/blog\/author\/wpengine"}]}},"_links":{"self":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts\/4684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/comments?post=4684"}],"version-history":[{"count":0,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/posts\/4684\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/media?parent=4684"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/categories?post=4684"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.resilio.com\/blog\/wp-json\/wp\/v2\/tags?post=4684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}