Home Download Docs Code Community


go get perkeep.org/cmd/pk-mount


The pk-mount tool mounts a root directory blob onto the given mountpoint. The blobref can be given directly or through a share blob URL. If no root blobref is given, an automatic root is created instead.


Execute the following commands in a shell to mount a Perkeep directory in your home directory.

mkdir ~/Perkeep
pk-mount ~/Perkeep
cd ~/Perkeep
ls -C1


Creating a Root Node

Files and directories are anchored in a root node. You can view and create Root nodes in the roots directory. For example to create a Photos root node execute the following commands:

cd ~/Perkeep
mkdir roots/Photos
cd roots/Photos
cp -R ~/Photos/* .

Accessing Recent Items

A list of recently accessed items are visible in the recent directory.

cd ~/Perkeep/recent
ls -C1


Accessing Content at a specific Point in Time

The at directory contains full instructions in the README.txt file contained within.

Accessing a specific Node

You can directly access a specific directory by using the full sha224 identifier.

cd ~/Perkeep
cd sha224-xxx # where xxx is the full 56 character identifier

Understanding the schema

As there are various ways to model parent/child relationships in Perkeep, and as they are represented differently in the FUSE interface and in the web user interface, here is a summary of the schema used by the FUSE interface.

A directory is a permanode with a camliRoot set to the name of the directory, or a permanode with a camliNodeType set to the "directory" value, and its title set to the name of the directory.

A file is a permanode with a camliContent set to the blobRef of a file schema (a fileRef).

The child of a directory can be, as expected, another directory or file, as defined above.

Permanode X, representing the file or directory "foo", is the child of permanode Y, representing the directory "bar", if on permanode Y the attribute "camliPath:foo" is set with the blobRef of permanode X as value.

Full Command Line Usage

pk-mount [opts] [<mountpoint> [<root-blobref>|<share URL>|<root-name>]]
      print debugging messages.
      print usage
      show licenses
      Open a GUI window
-secret-keyring string
      GnuPG secret keyring file to use.
-server string
      Perkeep server prefix.
      If blank, the default from the "server" field of the default
      config is used. Acceptable forms:
         example.com:1345 (https assumed), or
      Open a terminal window. Doesn't shut down when exited. Mostly for demos.
      extra debug logging
      show version
      Run an xterm in the mounted directory. Shut down when xterm ends.
Website layout inspired by memcached.
Content by the authors.