public

zettelkasten-sync

This is a tool that keeps the git repository for my Zettelkasten in sync with the current state in the iCloud.

Requirements

  • the procedure is containerized with a docker container
  • the container must have rclone and git preinstalled
  • The procedure pulls the current git repo
  • All (temp) data is stored inside the container (can be stored to PV in the future)
  • Uses rclone to fetch the current state from the icloud (different folder than repo)
  • Copies the fetched data from icloud to the git repo (inside the container)
  • Uses git to commit the changes
  • all credentials are provided as env vars to the container
  • There is a .env file where all env vars are declared.
  • There is a file .env_template where the variables are declared, but not set
  • .env is set to gitignore
  • there is a script, that builds the docker image
  • there is a script, that builds the helm chart.

Information provided via env vars in .env

  • icloud credentials
  • git credentials
  • git repo
graph TD
A[iCloud vault] -->|"1) rclone sync"| B[local vault]
C[remote git repo] -->|"2) pull"| D[local git repo]
B -->|"3) copy"| D
D -->|"4) git commit/push"| C