Beginner-Friendly Guide: Sync Your Obsidian Vault for Free Using Oracle Cloud + Git (Windows, Mac, Linux, Android, iOS, iPadOS)
Pricing Summary (as of July 2025): This tutorial uses Oracle Cloud Free Tier which gives you a free VPS (Virtual Private Server) forever (based on availability). All syncing is done via Git using your own server — no GitHub or third-party services required. You’ll use free tools like git, Termux, and Shortcuts, plus optional one-time purchases like Working Copy for iOS/iPadOS.
What You’ll Set Up
- A free Oracle Cloud server running a private Git repo
- Your Obsidian vault syncing via Git over SSH across:
- Windows, macOS, Linux (via git CLI or Obsidian Git plugin)
- Android (Termux + Tasker or manual git)
- iPhone/iPad (Working Copy + Shortcuts Automations)
- OR
- Your Obsidian vault syncing via Syncthing accross:
- Windows, macOS, Linux, Android with Syncthing
- iPad/iPhone with Mobius Sync
Git Setup Steps
Step 1: Create an Oracle Cloud Free Tier Account (in detail)
1.1 Sign Up for an Oracle Account
- Go to: https://www.oracle.com/cloud/free
- Click Start for Free
- Fill out the form:
- Use a mainstream email like Gmail or Outlook (not a privacy-focused or self-hosted email — these often get rejected)
- Use real information — Oracle may verify your identity
- Enter your phone number and verify with a text message
- Enter your credit card (required even for Free Tier)
- I used my Apple Cash card with the virtual card number and I haven’t seen a charge since I set this up for myself last night (July 4th evening).
- No charges will be made for Free Tier
- A temporary $1–$3 hold may appear and disappear in a few days
- Submit the form and wait for your account to be provisioned (may take 5–30 minutes)
1.2 Sign In and Access Oracle Cloud Console
- Go to: https://cloud.oracle.com
- Log in with your new credentials
- You’ll land on the Oracle Cloud Console
1.3 Create a Virtual Machine (VM)
- In the top search bar, type
compute
and select Compute Instances - Click Create Instance
- Name it something like
obsidian-sync-server
Under Image and Shape:
- Image:
- Click Edit > Choose Canonical Ubuntu
- Select Ubuntu Minimal 22.04
- Shape:
- Click Edit > Choose:
- VM.Standard.A1.Flex
- OCPU: 1
- Memory: 1 GB
- This combo is eligible for Always Free
- Click Edit > Choose:
1.4 Configure Networking (Allow SSH)
- Under Networking section:
- Leave default settings (Virtual Cloud Network)
- Click Create — it will take a few minutes to spin up
Once the instance is ready:
- Click the name of your instance
- Scroll down to Primary VNIC section
- Click the attached subnet name
- On the subnet page, go to Security Lists
- Click the default security list
- Add Ingress Rule:
- Source CIDR:
0.0.0.0/0
- IP Protocol:
TCP
- Destination Port Range:
22
- (Optional: also add ports
80
and443
if you want to host web services later)
- Source CIDR:
1.5 Add an SSH Key and Save It (Super Beginner Friendly)
To connect to your Oracle Cloud server, Oracle asks you for something called an SSH key. This is just a pair of special files — one is public (you give this to Oracle) and one is private (you keep this safe and never share it).
Here’s how to make those keys, based on what kind of computer you’re using:
If You’re Using a Mac or Linux Computer:
- Open your Terminal app. (Search “Terminal” in your applications.)
- Type the following command and press Enter:
ssh-keygen -t rsa -b 4096
- When it asks:
Enter file in which to save the key (/home/yourname/.ssh/id_rsa):
Just press Enter to accept the default location.
4. When it asks for a passphrase, you can press Enter to skip it.
5. You’ll see something like:
Your identification has been saved in /home/yourname/.ssh/id_rsa
Your public key has been saved in /home/yourname/.ssh/id_rsa.pub
- Now you have two files:
id_rsa
→ This is your private key (KEEP THIS SAFE — do not share it)id_rsa.pub
→ This is your public key (you will copy this into Oracle)
If You’re Using Windows:
Option A (Easy Way - Git Bash)
- Download and install Git for Windows
- Open Git Bash (search for it in the Start Menu)
- Type this and press Enter:
ssh-keygen -t rsa -b 4096
- When it asks where to save the file, just press Enter
- When it asks for a passphrase, just press Enter again
- Your key files will be saved in:
C:\Users\YourName\.ssh\id_rsa
(private key)C:\Users\YourName\.ssh\id_rsa.pub
(public key)
Option B (Alternate - PuTTYgen Tool)
- Download PuTTYgen from here: https://www.puttygen.com/
- Open it and click Generate
- Move your mouse around the blank area until the bar fills up
- Click Save private key and save it in a safe place
- Copy the long text in the box at the top — this is your public key
- Paste the public key into Oracle’s form when it asks
How to Use the Public Key
- When creating your VM on Oracle Cloud, look for the part that says:
Paste your SSH public key
- Open the
.pub
file you just made using a text editor:
- On Mac/Linux: run
cat ~/.ssh/id_rsa.pub
in Terminal - On Windows: open
id_rsa.pub
in Notepad
- Copy the entire line of text — it should start with:
ssh-rsa AAAAB3... (very long string)
- Paste that into the Oracle web form.
How to Store the Private Key
- Save the private key (
id_rsa
) somewhere safe on your computer - Do not share this file with anyone
- You’ll use it later to log in to your server
That’s it! Once your VM is created, you’ll use your private key to connect, and the server will recognize you because you gave it your public key.
Step 2: Set Up a Bare Git Repo on the Server
SSH into your server using the saved key:
ssh -i ~/.ssh/YOUR_KEY ubuntu@YOUR_SERVER_IP
Then set up Git:
sudo apt update && sudo apt install git
# Create a new user to manage the Git repo
sudo adduser git
sudo su - git
# Set up the bare repository
mkdir obsidian.git && cd obsidian.git
git init --bare
exit
Now you have a private Git repo you can push/pull to via SSH!
Step 3: Clone Your Vault to Your Devices
- Windows / macOS / Linux
- Install Git
- In Terminal or PowerShell:
git clone ubuntu@YOURSERVERIPHERE/home/ubuntu/vaultfolderonoracleserver
cd MyVault
# Copy your vault content here
git add .
git commit -m "initial commit"
git push
- You can use Obsidian normally from that folder.
- Optional: Use the Obsidian Git plugin for automatic syncing.
iOS & iPadOS Setup (No Jailbreak Needed)
Use Working Copy — a git client for iOS:
- Add your SSH Key to Working Copy
- Go to Settings > SSH Keys
- Press on the Plus
- Share the file from your Windows/Mac/Linux to your iPhone (easiest way is iCloud but emailing it to yourself and saving it to files also works - doesn’t matter how you do it, just get the file on your iPhone or iPad).
- Press on “File” in the drop down menu.
- Find the file and press on it.
- Give it a name (I recommend “My Server SSH Key” or something like that - doesn’t matter).
- Add a repo in Working Copy:
- Choose Clone Repository
- Make sure to provide the SSH Key you created in the last step.
- Use this format:
ssh://[email protected]_SERVER_IP/home/git/obsidian.git
-
Link the Working Copy repo to Obsidian:
- In Obsidian: Settings → Files & Links → Set Vault Folder → point to Working Copy folder
-
Automate with Shortcuts:
- You can use these shortcuts to automate the process of syncing your vault.
- Shortcut 1: Commit your changes, pull from your Oracle Server, push your changes up. You can set this as an automation when you open Obsidian by opening the shortcuts app, going to automation at the bottom (or left side on iPad) pressing the plus, choosing “App” making sure “is opened” is selected. Make sure “Run immediately” is checked and notify when run is off. Choose Obsidian from the app list, then press “next”. It will ask you to choose a shortcut. Choose the one you just got from this link. BOOM! Done.
- Alternate Shortcut: Only Pull from your Oracle Server. Using this means you have to manually push your changes from your phone/ipad to the server via Working Copy.
Alternatively, you can set this to run at scheduled times or when you put your phone on the charger. I have mine set to only when I put my phone and ipad on the charger. Otherwise I either sync manually or run the shortcut manually.
Note: Full push/pull automation requires the $19.99 one-time unlock in Working Copy.
Android Setup (Tasker + Termux or Manual Git)
Option 1: Termux + Tasker (Automated)
- Install Termux
- Run:
pkg update
pkg install git openssh
- Clone your vault:
git clone ssh://[email protected]_SERVER_IP/home/git/obsidian.git ~/storage/shared/ObsidianVault
- Use Tasker to:
- Run
git pull
on interval or when charging - Run
git add . && git commit -m "update" && git push
on triggers
- Run
- In Obsidian Android, open the synced folder as a vault.
Option 2: Manual Git
Just open Termux and run git pull
or git push
as needed.
Best Practices & Tips
- Add a
.gitignore
in your vault:
.obsidian/cache
.obsidian/workspace
.trash/
- Generate SSH keys on each device and add them to the server:
ssh-copy-id git@YOUR_SERVER_IP
- Use descriptive commit messages or automate with:
git commit -am "sync"
Useful Tools & Links
- Oracle Cloud: Oracle Cloud Free Tier | Oracle
- Git: https://git-scm.com/
- Working Copy: ‎Working Copy - Git client on the App Store
- Termux (via F-Droid): Termux | F-Droid - Free and Open Source Android App Repository
- Tasker: https://tasker.joaoapps.com/
- Obsidian Git plugin: GitHub - Vinzent03/obsidian-git: Integrate Git version control with automatic commit-and-sync and other advanced features in Obsidian.md
Troubleshooting
- SSH issues? → Make sure your public key is in
/home/git/.ssh/authorized_keys
- Vault won’t sync? → Check your Git remote with
git remote -v
- Working Copy error? → Confirm that SSH keys match and permissions are correct
Syncthing Setup Steps
Alternative Setup: Use Syncthing Instead of Git (Beginner-Friendly)
If Git sounds too complicated or you’d prefer something more like Dropbox or Google Drive, Syncthing is a great option. It’s free, open-source, encrypted, and works on Windows, macOS, Linux, Android, iOS (with limitations), and even your Oracle Cloud server.
With Syncthing, you can automatically sync your Obsidian vault between all your devices — no commands, no Git needed.
What You’ll Be Doing
- Install Syncthing on your Oracle Cloud VM (Linux server)
- Install Syncthing on each of your devices
- Link them together using QR codes or Device IDs
- Share your Obsidian vault folder between devices
Step-by-Step: Set Up Syncthing on Oracle Cloud VM
Do this after creating your Ubuntu VM from Step 1
- Connect to your server via SSH
From your computer (use Terminal or Git Bash):
ssh -i ~/.ssh/id_rsa ubuntu@YOUR_SERVER_IP
- Install Syncthing
Run these commands one at a time:
# Add the release key and repository
curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmor -o /usr/share/keyrings/syncthing-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
# Update and install
sudo apt update
sudo apt install syncthing
- Start Syncthing
Run:
syncthing
- You’ll see messages like “GUI available at 127.0.0.1:8384” — but this is only accessible from inside the server
- So now you need to make the interface accessible from your home computer
Step 4: Enable Web Access to Syncthing GUI
We’ll forward the web interface securely to your local machine.
On your local machine, open a new Terminal window and run:
ssh -i ~/.ssh/id_rsa -L 8384:localhost:8384 ubuntu@YOUR_SERVER_IP
- Now, visit this in your browser:
http://localhost:8384
- You’ll be seeing your server’s Syncthing interface!
- Go to Actions → Settings → GUI and:
- Set a username and password
- Change GUI Listen Address from
127.0.0.1
to0.0.0.0
if you want to access it from anywhere (optional) - Save and restart Syncthing
Install Syncthing on Your Devices
Windows / macOS / Linux:
- Download from Syncthing | Downloads
- Install and run it
- Go to
http://localhost:8384
in your browser - On first run:
- It will generate your Device ID
- Give your device a name (like “MyLaptop”)
Android:
- Download Syncthing from F-Droid or Play Store
- Open and allow permissions
- It will show your Device ID
- Keep the app running in the background to sync files
iOS / iPadOS:
There’s no official Syncthing app for iOS, but you can use Mobius Sync — limited free version available
Link Devices & Share Your Vault Folder
- On each device, go to the web interface
- Click “Add Remote Device”
- Enter the Device ID from your other machine
- Approve the connection on both ends
- Now, click “Add Folder”
- Choose your Obsidian Vault folder
- Give it a Folder ID (like obsidian-vault)
- Share it with the other device(s)
- Repeat this on each device to sync your vault
Final Notes
- Syncthing automatically encrypts all connections — no extra config needed
- No third-party servers are used — just your own devices and cloud VM
- Syncthing is realtime — changes sync instantly (unlike Git where you must push/pull)
Pros & Cons of Syncthing vs Git
Feature | Syncthing | Git |
---|---|---|
Ease of use | ![]() |
![]() |
Version control | ![]() |
![]() |
Sync Speed | ![]() |
![]() |
Conflict Res. | ![]() |
![]() |
Mobile Support | ![]() |
![]() |
Now you can enjoy fully encrypted, self-hosted, cloud-synced Obsidian vaults across all your devices — with no reliance on cloud storage providers or paid subscriptions.
Happy note-taking and stay in control!