PhotoTrove is a GPL application for managing large collections of photos and videos. EasyPhotoTrove is an installer that builds a working PhotoTrove server. Trovester is an “appliance” which will run on most recent computers under VirtualBox.

Herein are instructions for building the Trovester appliance and some automation for the final steps so that Trovester will use shared folders for easy file transfer with the host machine.

Build Instructions

Installing the Operating System

  1. Download from http://www.debian.org/CD/netinst/ the Debian “small CD” iso image for the target architecture, typically i386 (32 bit) or amd64 (64 bit), either debian-xxx-i386-netinst.iso or debian-xxx-amd64-netinst.iso.

  2. Under VirtualBox, create a new virtual machine:

    • Name: trovester

    • OS: Debian GNU/Linux

    • One CPU (adjustable later, in service
      [Feel free to give the machine more processors and memory while building it, but set them down to the nominal values before exporting.]

    • 512 MB RAM (adjustable later, in service

    • 8GB VDI virtual hard drive, dynamic (it’ll end up about 4GB)

    • Attach the Debian iso file as the CD.

    • Audio disabled

    • Bridged network adapter

    • Shared folder named mytrovester pointing to a folder on host

  3. Boot from the Debian iso file and run the installation script. Let it set up the entire virtual disk.

  4. Leave the password for the root account blank so that the installation script lets you create a non-root user account with sudo privilege. Then, when prompted, create the xyzzy account, password xyZZy!42.

  5. When it asks, under “Software selection”, what kind of system you want to build, uncheck all the task options except SSH Server and Standard System.

Installing PhotoTrove using EasyPhotoTrove

  1. After the installation completes it will boot the new system. Log in as xyzzy.

  2. Download the EasyPhotoTrove installer by typing:

    wget http://toyrus.ngrok.io/~ted/easyphototrove/install.sh
  3. When the installer finishes downloading, execute it:

    sh install.sh

    It will give you a long stream of progress messages. At some point it will ask you for xyzzy's password. When it finishes, you’ll have a working PhotoTrove.

Setting Up the Shared Folder

  1. Download and attach the latest VirtualBox Guest Additions iso image from the Devices menu (don’t execute it yet).

  2. Log in as xyzzy if not already logged in.

  3. Download the setup script:

    wget http://toyrus.ngrok.io/~ted/trovester/trovestersetup.sh
  4. Execute the setup script:

    sh trovestersetup.sh

    When the script finishes, the virtual machine is configured.

Exporting the Appliance

  1. Empty the package cache to recover some disk space:

    sudo apt clean
  2. Clean up any scaffolding or temporary files, then shut down trovester.

  3. If you gave the machine extra processors or memory, set them back to the nominal values to maximize portability. If the Guest Additions iso is still mounted, unmount it.

  4. Using the VirtualBox Manager, select the trovester machine, select “Export Appliance…” from the File menu and follow the prompts.

Advice to Users

Encourage users to read the PhotoTrove User’s Manual while feeling free to email questions and comments to me.

Remind them of the importance of getting reliable backups in place right from the start. Again, the User’s Manual covers this. The easiest way to start is with an external disk drive. If the host is running Windows, an excellent tool for painless automatic backups is RoboMirror. On GNU or Unix, some configuration of rsync will do it.


Copyright © 2022 Theodore B. Ruegsegger

This collection of scripts and documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This collection is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this collection; if not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Contacting the Author



Theodore B. Ruegsegger Free Software Foundation Associate Member # 33