Skip to content
/ Flint Public

Unofficial Obsidian - Firebase vault sync plugin

License

Notifications You must be signed in to change notification settings

Andrewyx/Flint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flint

Unofficial Obsidian - Firebase vault sync plugin. Store your obsidian files on your own custom Firebase storage bucket for complete control over your cloud files! This plugin was made for those who want to solely manage their own data across their obsidian devices.

Features

  • Upload/Download data to your Firebase storage bucket with the upload icon & download.
  • Support for access to multiple remote vaults on one device.
  • Android/Mobile compatibility.

Setup

Install Procedure:

  1. Allow community plugins within the Obsidian app
  2. Create a folder titled "plugins" under the YOURVAULTNAME/.obsidian/ directory.
  3. Paste the extracted Flint plugins folder within the YOURVAULTNAME/.obsidian/plugins directory
  4. Enable the plugin under the community plugin tab in Obsidian.

Setup Procedure:

If you would like me to handle your cloud notes setup:

  1. Reach out and I can help you set this up by giving you access to my Firebase config file!
  2. Paste the config data into firebase-tools.ts script under the flint plugin folder.
  3. You're all set!

If you plan on completely managing your notes yourself via Firebase:

  1. Create a new Firebase Project with the free Spark Plan
  2. Create a WebApp and paste the firebase config data into a section labeled within the firebase-tools.ts script under the flint plugin folder.
  3. Select storage under your project and set up your preferred security rules (just choose the test option if you just want it to work for now).
  4. Create an empty folder in the root bucket named "vaults". Any children folders created inside "vaults" will be your accessible remote vaults via the plugin.
  5. You're all set!

App Info

  • The app works across devices but you will need to install the plugin on each device independently
  • Local vault names can be anything you would like as vault data is tied to the Firebase vault names instead.
  • Use the Download and Upload icons on the lefthand ribbon taskbar (PC) to get and set local changes to the remote vault (These are essentially equivalent to force pushes and pulls). On mobile, they can be accessed through the bottom right pull-up box (three lines).

Screenshot 2023-08-26 212644

You must connect to a remote vault before you can use the plugin. This can be done either in the Flint plugin settings menu or you can bind a hotkey to "Import Flint Vault from Cloud" to quickly swap between target remote vaults.

Screenshot 2023-08-26 132612

Troubleshooting

Since this is a prototype project, there are quite a few bugs that I am aware of already but here are a few solutions to some problems if you run into them.

  • "NO REMOTE VAULT" Notice: This means that you or I have not configured the Firebase storage directory properly and the plugin can not see available vaults. Remember, the directory should look something like root-->vaults-->YOURREMOTEVAULTNAME.
  • If you are experiencing denied access to the Firebase storage, take a look at your Firebase storage bucket rules and make sure you are allowing external reads and writes to the bucket.
  • There is no plugins folder: If this is your first obsidian plugin, you will have to create a plugins folder under the .obsidian folder of your vault! Also, make sure you have enabled community plugins in your obsidian settings as well! If you discover any bugs, please let me know and I will try to get back to you as soon as possible.

Roadmap/WIP

  • Autogenerated buckets: I would like to streamline the custom setup process as right now it requires the user to have a knowledge base of using Firebase buckets and directory structures. This would allow for easier multi-user collaboration.
  • Security: I am currently working on adding user Auth to make the data transfers more secure.
  • Changelogs: ie. Instead of force push and pulls, allow for merges and similar version control abilities. My plan is to implement the Google diff-match-patch API
  • Autosync: Pretty self-explanatory but a method of autosaving vaults with the ability to revert in a timeline.
  • I am also figuring out a way to generate the whole Firebase vault remote directories automatically (possible with an initialization popup in the plugin upon first start).
  • I am aware that the code is not completely clean and there are bits of unused code still drifting around. I will clean those up in a future update.

About

Unofficial Obsidian - Firebase vault sync plugin

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages