PhotoTrove and the EasyPhotoTrove installer are now updated to work with Debian GNU/Linux 9.x “Stretch” through 12.x “Bookworm” as well as Ubuntu 18.10 “Cosmic Cuttlefish” through 24.04 “Noble Numbat” with all features working properly. |
Overview
PhotoTrove is a GPL application for managing
large collections of photos and videos. Since it makes sense to
dedicate a computer—real or virtual
[A virtual machine with PhotoTrove is already built for you; simply download the Trovester “appliance”, which will run on most recent computers under VirtualBox.]
—for this purpose, I’ve
developed an installer to make this as easy as possible:
-
Install an operating system on a bare machine
-
Install PhotoTrove and all its supporting software, mostly automatically, from the Internet.
The installer currently works only with the
Debian GNU/Linux operating system, beginning
with version 9.x, and its
Ubuntu/Kubuntu derivatives,
beginning with version 18.10. This shouldn’t be a problem since it’s a
dedicated box and most users won’t need to do much else with it except
run the security updates once in a while. If the machine you have in
mind is running something else, install PhotoTrove on a virtual
machine within it
[trovester]
.
If you really need the box to run some other Debian derivative
(anything that uses apt
for package management), modifying the
scripts should be simple; just let me know and I’ll help. With other
GNU/Linux or Unix versions, it’s still doable but much more
work. Again, consider a virtual machine!
Recommended Hardware
A machine (whether physical or virtual) to run PhotoTrove should have:
-
At least half a gigabyte of memory. Give it more memory if you can, and it will run faster. Memory is cheap.
-
Disk space adequate to hold your entire photo collection twice (since PhotoTrove lets you keep a separate archive of original photos unaffected by subsequent editing). As a guide, 3-megapixel images average around 700 KB with typical JPEG compression; 8 Mpx images approach 3 MB. Video files are generally much larger. Compared to the images themselves, the software and the database take up trivial amounts of space. A few tens of gigabytes should do it until your collection grows huge. Bear in mind that you’ll probably be shooting at higher resolutions with each new camera, that you’ll probably be taking more videos, and that disk space has become very cheap these days.
-
A CPU speed of at least a gigahertz. Multiple processors or cores will definitely speed things up.
-
Some means of copying albums to a CD, DVD or flash drive (or a network connection to a machine that can do that).
-
A local network connection so client web browsers can access it.
-
An Internet connection, at least long enough for the installer to fetch required packages and the PhotoTrove software, but also handy afterward for keeping the operating system and software up to date.
Skill Requirements
If I’ve done my job right, setting up a dedicated machine for PhotoTrove should be a simple matter of executing some install scripts. If you find any of the steps difficult or confusing, please let me know.
Installing the Operating System
-
Download the Debian “small CD” iso image (available via direct download or bittorrent).
-
If your target machine is a physical one, copy the iso to a flash drive or burn it to a CD/DVD depending on the machine’s boot options, and boot. If it’s a virtual machine, just boot from the iso file directly.
-
After some questions about language, timezone, etc, it will ask how you want to set up the disk. I recommend erasing the entire disk and using it all.
-
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 your personal account.
I’ll call that personal user account xyzzy in the remainder of these instructions, but feel free to give it any name you wish.
-
At some point it will ask what packages to install. If you’re planning to access PhotoTrove from a web browser on this machine, select your favorite desktop environment, plus “Standard system utilities”. If you’re planning to run it only as a server, browsing from other machines on the network, select only “Standard system utilities”. If you’re planning to run the setup remotely, also select “SSH Server”.
The packages needed for PhotoTrove will be installed later. And, of course, you can always install anything you wish later, using Debian’s phenomenal package management system.
-
When the installation finishes, restart so it ejects the installation medium and boots the newly-installed Debian GNU/Linux system.
Installing PhotoTrove
-
Log in as xyzzy. If you installed a graphic desktop, open a terminal window.
-
Download the installer by typing:
wget http://toyrus.ngrok.io/~ted/easyphototrove/install.sh
-
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 your password. When it finishes, you’ll have a working PhotoTrove.
Avoid heartbreak: Don’t lose your photo collection! If you don’t already have some reliable backup system in place, set it up soon, making sure to back up the database properly as described in the PhotoTrove User’s Manual. |
Using PhotoTrove
Change the Default Passwords
Using a web browser:
-
Open
https://localhost/trove/
(or, if you’re browsing from another machine, openhttps://hostname/trove/
wherehostname
is the name or IP address of the machine running PhotoTrove).You’ll see the front page with a Log in link at top right.
Your browser must accept cookies and allow Javascript from the server. -
Click Log in, then use your chosen username (what I’ve been calling xyzzy) and the one-time password
phototrove
. Change your password when prompted. -
The two built-in accounts, admin and useradmin use the same default password
phototrove
. Log out, then log in as each one and change those passwords as well. Then log out.
Collect Photos
Got a camera memory full of photos? Depending on the camera and client
computer (the one from which you’re connecting to PhotoTrove, not the
server
[Client: As noted previously, the client and server
could be the same machine.]
) platform, there are several ways to
access the photos. Most cameras have a folder named dcim
or DCIM
,
per the
Digital
Camera IMages specification, containing one or more
subfolders with images.
-
You can remove the flash memory from your camera (typically an SD or micro-SD card) and connect it to your client computer via a USB adapter or directly into a memory card socket, if your computer has one.
-
You can connect your camera to your client computer via a USB cable; some cameras will connect immediately, some need to be turned on.
-
Some cameras or smart phones may connect via Bluetooth or even directly to a wireless network.
Whatever you do, verify that your computer sees a dcim
folder,
preferably as the top of the mounted flash drive.
Some phones won’t make their filesystems visible to a computer, so you’ll need to use some other method to transfer the photos. For iPhones there are several file transfer apps that let you download the photos, typically as a zipped archive, to your regular workstation. For what it’s worth, I’ve been happy with the file transfer app actually named “File Transfer App” by Evgenii Shcherbinin. The app zips up the images and sets up a simple web server on the local network. I download the zip file to my desktop via a web browser, then upload it directly into PhotoTrove. |
Newer iPhones store images in the HEIC format rather than the familiar JPEG. Alas, the rest of the world, including the tools underlying PhotoTrove, doesn’t yet support HEIC, so you’ll need to convert the files to JPEG. Somewhere in the settings you can tell the phone to do this automatically when transferring files, so you don’t have to rely on your file transfer app to get it right. |
Upload Photos
Once you’ve collected the photos you want, upload them to PhotoTrove. The simplest way to accomplish this is to upload them as a zip or tar file. Every platform can create such files easily, and there’s no need to log in directly to the server.
That said, there are many other ways to transfer photos, described in the PhotoTrove User Manual.
Don’t have any photos handy but want to try it out? I have a small set of photos just for that purpose:
-
In a web browser on your client computer, download
http://tbr.paunix.org/samplephotoset.zip
.
Assemble the Photo Set
Back in the web browser:
-
Log in with your regular user account and your new password.
The main menu appears, with lots of choices.
-
Select Import a photo set.
-
If you have a zip file of photos (e.g.,
samplephotoset.zip
), use the Browse… button to locate it. Accept the suggested folder name or edit to suit. Once uploaded, the folder will appear in the folder menu. -
From the drop-down menu, select the folder of photos you uploaded.
It displays the numbers and types of images and offers you some options; for now, let’s take the defaults.
-
Click Create Photo Set.
It will cook for a while, displaying a progress bar and statistics, until the photo set is built. It refreshes every 60 seconds, but feel free to click Refresh now if you’re impatient.
-
When it’s done, click Edit this photo set
…and there you are.
For more guidance, please refer to the PhotoTrove User Manual.
Variations
-
Since this is a web service, you can access it easily using a browser on another computer on the same network. + Just browse to
https://xxx.xxx.xxx.xxx/trove/
where the x’s stand for the photo server’s IP address (or name, if you have some sort of name resolution set up—I just usehosts
files on each machine). -
So can other people, at the same time. Handy for, say, a family organizing photos after a vacation.
You can give them all their own accounts.
-
Log in as
useradmin
to add accounts, change passwords, and do other administrative tasks.There’s also an
admin
account, but avoid experimenting with it;admin
has the power to break things. If you haven’t already done so, be sure to change the passwords foradmin
anduseradmin
.
Upgrading PhotoTrove
If you used EasyPhotoTrove to install it, you can just as easily upgrade to the latest version of PhotoTrove.
-
Log in as the same user who installed PhotoTrove originally, herein called xyzzy. If you installed a graphic desktop, open a terminal window.
-
In a console or a terminal window, download the upgrade script by typing:
rm -f upgrade.sh wget http://toyrus.ngrok.io/~ted/easyphototrove/upgrade.sh
-
When the script finishes downloading, execute it:
sh upgrade.sh
-
It will download the latest version of PhotoTrove and then:
-
Install or upgrade a copy of the entire current PhotoTrove code tree under
phototrove/
in the current folder. -
Update the web application code.
-
Update the database, if needed.
-
Look for a customization script under
/home/web/webroot-ssl/trove/local/customize.sh
and execute it if there is one.
-
License
Copyright © 2021, 2022, 2023 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.