Notes made after trying the OpenPhoto 1.3.1 release
attempted December 6, 2011 using the official Amazon EC2 AMI image in a Micro instance
tl;dr
OpenPhoto is a good start and I look forward to trying it out more thoroughly, as well as working with the API for another project.
Installation
After seeing the discussion on Hacker News and knowing some friends who were interested in replacing other photo systems, I decided to try it out with the provided Amazon AMI, as all the hosted site invitations had been used.
As the official documentation states, make sure you’ve signed up with Amazon AWS and enabled EC2, S3 and SimpleDB support.
When you create your instance, a few notes:
- A Micro instance seems to be fine if you’re going to use S3 and SimpleDB for data storage. The instance does little processing for each new page view and then all the data is offloaded to other AWS systems.
- A Micro instance is not fine if you intend to use MySQL and/or the local filesystem for data storage, because the Micro’s I/O and CPU performance is just too slow.
For maximum service portability you’ll want to use S3 and SimpleDB. Then you can switch between any OpenPhoto-compatible providers, change instance types, host the server elsewhere yourself, etc. You can even turn off your instances and your data will stick around until you fire them back up again (nice for archiving).
For maximum performance you’ll want to use MySQL and local storage (which means not EC2), or on EC2 you’ll want to use RDS, striped ephemeral storage, RAID10 EBS volumes, etc., to protect against instance failures.
The instructions for getting started are mostly correct, but there’s a bug in 1.3.1 I discovered for users who have never used any OpenPhoto versions before, which means you’ll need to log in via SSH and do something like:
ssh -i keypair.pem ubuntu@ec2-192-168-123-123.compute-1.amazonaws.com ... cd openphoto/ git pull origin master
After this, you can visit your instance’s URL and go through the setup process. The Beisel theme is nice. When you get to set up your Amazon steps, provide it with a new, uncreated bucket and database name. Don’t create them yourself. You’ll want to name your bucket and SimpleDB domain uniquely as they’re global namespaces; so, not “photos” but “openphotos_my_email_address_domain_com” or something.
Usage
Once the setup process completes, you’ll be prompted to upload photos. Drag-and-drop works, but it doesn’t upload automatically: you have to click the “Start Upload” button. Once the uploads are complete, you can check your bucket in the Amazon S3 console to make sure it worked, or your SimpleDB domain in the scratchpad. The upload controls disable; click the link that appeared at the top of the page to view your photos.
That’s it. Your photos should be there.
Functionality
- Comments and favorites are always there; there’s no way to turn them off in the UI settings.
- There’s no way to download the original image from the UI.
- Re-setting up your system just to change the theme doesn’t work; it complains that your SimpleDB domain exists already and doesn’t save the settings. You’ll have to edit the configuration file in the instance itself.
- Once you log out of the site, you’ll need to go through the BrowserID setup process to authenticate yourself to add more photos again.
- Only the original email you set up will be able to upload photos. New users will only be able to comment and favorite photos. There’s no way to change this in the stock UI.
- BrowserID is neat. When a user posts a comment, their user icon is a Gravatar.
Support
It was pretty late when I started this (9pm local time) and the IRC channel was fairly quiet, but project lead @jmathai showed up right when I started having problems, eventually logging into my instance and debugging it directly. Thanks for that!
I’m interested in seeing how the community responds to feature requests and pull requests in the future.
Valediction
I’m Vitorio, it’s December 6, 2011, thanks for reading. Tweet