Symlinks and syncs browser profile dirs to RAM thus reducing HDD/SDD calls and speeding-up browsers.


Profile-sync-daemon (psd) is a tiny pseudo-daemon designed to manage your browser's profile in tmpfs and to periodically sync it back to your physical disc (HDD/SSD). This is accomplished via a symlinking step and an innovative use of rsync to maintain back-up and synchronization between the two. One of the major design goals of psd is a completely transparent user experience.

Good Advice

Always backup your browser profile(s) before using psd for the first time.

Users of eCryptFS

User of eCryptFS are encouraged not to use psd unless willing to help troubleshoot suspected browser corruption. See #158.

Supported Browsers


Consult the man page or the wiki page:

Installation from Source

To build from source, see the included INSTALL text document.

Installation from Distro Packages

Officially Packaged

  • logoAntergos: in the official repos.
  • logoDebian jesse+: in the official repos.
  • logoExherbo: in the official repos.
  • logoFedora: in the official repos.
  • logoGentoo: in the official repos.
  • logoVoid: in the official repos.
  • logoUbuntu 16.10+: in the universe repo.

User Packaged

Debian Users

Since June of 2016, Profile-sync-daemon is in the official repos for Users of jesse+! Reference.

sudo apt-get install profile-sync-daemon

Fedora Users

Since June of 2013, Profile-sync-daemon is in the official repos! Reference.

sudo yum install profile-sync-daemon

Ubuntu Users

Since June of 2016, Profile-sync-daemon is in the official repos for users of Yakkety+ (16.10+)! Reference.

Others must be using AT LEAST Ubuntu 15.04 (Vivid) or have systemd as your init system to use these packages! To add the PPA (personal package archive) to your Ubuntu system (packages available for Vivid and newer), and to install psd:

sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-sync-daemon

Other Distros

If you are interested in packaging psd for your favorite distro, please contact me.


My desktop distro (Arch) switched to systemd a while ago and other big ones (Fedora, Debian, Ubuntu) have followed suite. With the release of psd version 6.x I will no longer be supporting alternative init systems such as upstart and openrc. It is too complex for me to maintain and test multiple configurations on non-native init systems for me.

Also of note for version 6.x is that no longer does psd run in as a system service. It now runs as a user service. This is much more simple and means that:

  • There is no more need for /etc/psd.conf and the USERS array therein.
  • Different users can have their own config files that THEY own (~/.psd/psd.conf).
  • Encrypted $HOME should be supported under this model (NOT yet implemented).

Update instructions from version 5.x:

  • Stop psd v5.7x and close your browsers.
  • Build the package linked above and install it.
  • Run psd to create your ~/.config/psd/psd.conf and then edit it as you normally would.
  • Check it in parse mode psd p and if happy with the output, run it via systemd usermode: systemctl --user start psd (and optionally enable it).

Note that if you're using overlayfs mode, your user needs to have sudo right to /usr/bin/psd-overlay-helper or else psd will refuse to run in overlayfs mode.