A quick note on how to encrypt a folder with encfs and then mount it on boot via a systemd startup script. In my case the folder is located on a network drive and I wanted it to happen whether I was logged in or not.
Create encfs folder:
encfs <path to encrypted folder> <path to mount decrypted folder>
Follow the prompts to create the folder and set a password.
Next create a file which will contain your decryption password
echo "YOUR_PASSWORD" > /home/user/super_secret_password_location chmod 700 /home/user/super_secret_password_location
Create a simple script to be called by systemd on startup using cat to pass your password over to encfs
#!/bin/bash cat super_secret_password_location | encfs -S path_to_encrypted_folder path_to_mount_decrypted_folder
Finally create a systemd unit to run your script on startup:
[Unit] Description=Mount encrypted folder After=network.target [Service] User=<YOUR USER> Type=oneshot ExecStartPre=/bin/sleep 20 ExecStart=PATH_TO_SCRIPT TimeoutStopSec=30 KillMode=process [Install] WantedBy=multi-user.target
Then enable the unit:
sudo systemctl daemon-reload sudo systemctl enable mount-encrypted.service