Synchronize your vaults via Firebase. This is the UNOFFICIAL plugin for obsidian in order to synchronize your vaults on various devices via Firebase.
- If you would like to get easy access to consistent, reliable and stable synchronization, please check out the Obsidain official synchronization feature.
- Please be sure to back up your vault, as Firesync may break it at any moment. Currently, Firesync does not provide the ability to restore your original vault.
- Simultaneously using another synchronization solutions can cause data loss, corruption, or duplication.
- Real-time synchronization across your devices using Firebase.
- All functionalities work with Firebase's free plan.
- Temporary offline use is available.
To set up Firesync, please prepare the following in advance.
1. Back up your vault.
-
Backups can be done any way you like; it would be very easy to make a copy of the Vault and store it in a Zip file. I am a cautious person, so I back up to the cloud. I use
gstuil rsync
command by Google Cloud Storage like below.gsutil -m rsync -x "\.git" -r ./my-example-vault gs://my-example-vault.appspot.com/backups/my-example-vault
-
2. Create an authenticated user via Firebase Authentication.
3. Update CORS settings of Google Cloud Storage.
-
Obsidian applications cannot access Google Cloud Storage by default due to CORS restrictions. Therefore, the CORS settings for Google Cloud Storage must be changed. This repository contains a simple command to do so, which can be executed as follows. The environment variable
BUCKET
is the name of the Google Cloud Storage bucket you wish to use.BUCKET=your-project.appspot.com npm run cors:set
The following commands can be used to check if CORS has been set up correctly.
BUCKET=your-project.appspot.com npm run cors
-
4. Deploy rules to Cloud Storage.
-
To protect your data, we recommend that you set up security rules for Firestore and Cloud Storage. Please execute the following commands.
npm run deploy:rules
-
5. Install this plugin into your Obisidian vault.
-
Currently, Firesync is not listed on the community plugin list, so please install it manually from the GitHub Release. Download Firesync zip archive, and then extract into
${VAULT}/.obsidian/plugins/obsidian-firesync
. If you do not have that folder, please create it.
-
6. Enable this plugin in Community plugins section of Obsidian's preferences.
7. Open Firesync section and configure.
-
Please enter the following options. These configuration items can be obtained from the Firebase Console.
- API Key
- Auth Domain
- Project ID
- Storage Bucket
- App ID
Then enter the email address and password of the previously created authenticated user.
- Password
After entering all the above items, please turn on the
Sync Files & Folders
switch.
-
If you would like to setup another device, please setup with same vault name in order to enable bidirectional synchronization.
- TBD.
Firesync: Show synchronization status
Open the status view to show progresses of synchronization with Firebase. If you have errors during synchronization, you can retry or discard in this view.
- Q. Firesync has prevented Obsidian from starting. What should I do?
-
Make sure Obsidian is quited and open the file .obisidan/obisidian-firesync/data.json in an editor. Change
sync: true
tosync:false
and save the file. Start Obsidian again.
TBD.