Your Own Cloud Drive
Module 5 put the vault in git and moved it to a server. Git carries five megabytes. The vault is nineteen gigabytes. Today the other 18.99 GB gets somewhere to live, and both agents get a way to reach it.
You need the setup from Module 5: a private vault repository and a server running your agent. The Module 5 page rebuilds it. Module 6 is optional and only affects the last segment.
Three categories, not two
One 19 GB vault, measured on 2026-08-26. You will run the same commands on your own and read your numbers into chat. The ratio is what decides the design.
Notes, code and skills
Needs history and merges. Git has done this for twenty years.
Goes to: GitHub, private
Video, audio, images, PDFs
Needs durability, not history. Nothing merges an MP4.
Goes to: Backblaze B2
node_modules, caches, build output
Rebuildable. Reinstalling is faster than restoring, so it is not data.
Goes to: Nowhere
The vault is roughly 3,800 times bigger than the part git carries. That is not an argument for a bigger git. It is an argument for two systems, and one file that decides which is which.
The ideas that carry the session
There are three categories, not two
Everyone splits a folder into small and large, then wonders why the sync is still enormous. The third category is rebuildable, and a thousand copies of node_modules belong in none of the systems you are paying for.
Git is for things that merge, object storage is for things that do not
Git has merged text for twenty years. Nothing merges an MP4. Picking the tool by file size is the wrong instinct; pick it by whether a conflict has a sensible resolution.
Never let two sync systems own the same file
One line in the filter file excludes markdown from the bucket, because git already owns it. Without that line a pull and a sync race each other, and the loser is overwritten with no error.
The safety default is not enough on its own
The built-in guard aborts above 50 percent deleted. Losing 40 percent of a vault proceeds silently. The access check is the guard that fires on the real failure mode: a path that is empty or mistyped.
A script must never answer a resync request on its own
The sync asks for one when it has lost track of what changed. That is the system asking for a human, and a resync means one side wins. A script that answers automatically will flatten the other side.
Scope the key, not the trust
The server needs to read the archive and has never needed to delete it. A read only key makes that structural rather than a promise you are relying on an unattended machine to keep.
A backup nobody has restored from is not a backup
The first homework item is a restore, for exactly this reason. Old versions also accumulate quietly and bill forever unless a lifecycle rule removes them.
Object storage is not automatically cheaper
At 2 TB it costs more than a consumer sync plan. The win is paying for the 13 GB you actually have instead of buying a 2 TB plan to hold it, and reaching it from any machine with one command.
The 60-minute session
Part one defines the split and runs the first sync. Part two is the loop. The access check is protected: a sync that refuses to run when one side is missing is the deliverable.
Open with the payoff
Ask the server agent for a video that exists only on the laptop. It fails. One command later it fetches the file out of object storage and answers.
Measure three categories
Not two. Everyone splits a folder into small and large, then wonders why the sync is still enormous. The third category is the one filling the disk.
Audit what git is carrying
Four commands with a pass mark each: pack size, tracked count, tracked total, and the ten largest tracked files. A committed video is a homework problem, not a live one.
The bucket and two keys
A private bucket, then two application keys scoped to it: read and write for the laptop, read only for the server. The server has never needed to delete your archive.
The filter file, and the first sync
One file defines the split, and it is the exact complement of .gitignore. Excluding markdown is the load bearing line. Dry run first, then resync once.
The guard that stops a wipe
A mistyped path makes bisync read one empty side as a mass deletion. Marker files on both ends, then rename one on camera and watch the sync refuse to run.
The server side, without a second copy
A 25 GB disk does not hold a 13 GB library that keeps growing. It fetches on demand into the git checkout, where the ignore list already covers what arrives.
Versions, and the bill that grows quietly
Every overwrite keeps the old version and nothing ever leaves. Two commands return two different numbers, and one lifecycle rule stops the second one climbing.
Automate it
A sync script on a schedule, silent on success. It must never answer a resync request on its own, because that is the system asking for a human.
The build, step by step
Every command and every copy-pasteable brief is in the student guide.
What it costs
- Object storage, first 10 GB
- Free
- Above that, per TB per month
- 6.95 USD
- A 13 GB media library
- About 2 cents a month
- Uploads, and downloads up to 3x stored
- Free
Figures checked against the Backblaze pricing page on 2026-08-26. You still need a payment method on file even though the first 10 GB is free.
The honest part
Two way sync is the sharpest tool in this course. rclone's own manual calls bisync an advanced command and says data loss can result if you have not read the whole thing. Every guard set in this session, the dry run, the access check, the delete ceiling, the refusal to auto resync, exists because the failure mode is not an error message. It is a folder that is quietly emptier than it was.
Knowledge check
Five quick questions to check your understanding, then four to answer in your own words for peer review.
1.Your vault is 19 GB. The markdown in it is 5 MB. Roughly 3 GB is node_modules spread across a thousand directories. Where should node_modules go?
2.Why does the rclone filter exclude *.md when markdown is the most valuable thing in the vault?
3.You run rclone bisync with --resync on every scheduled run. What breaks?
4.What does --check-access actually protect you from?
5.You put your Backblaze account ID in the rclone account field along with a bucket restricted application key. What happens?
Explain in your own words
Answer these in your own words. Explaining a concept is the best test that you understand it. You can check your results now; sign in when you save to keep them in your account.
Where this sits in the course
Each module is a standalone hands-on session, though the later ones build on what the earlier ones left running.
Join us live
Register on Luma to get the student guide and the livestream link. Read the guide before you arrive; the session moves at the speed of someone who already has the accounts open.