/photo-store

Simple self-managed photo library application

Primary LanguageRubyMIT LicenseMIT

Photo Store

Web application for storing and managing photo libraries that are stored using cloud computing services.

It's intended to be deployed to Heroku and use [Amazon Web Services] (https://aws.amazon.com/) for data storage. A library of about 10GB can be stored for about $10/month. This provides storage that is very safe from hardware failure (much safer than storage on a hard disk drive in your house, for example). It can be securely accessed from any Internet connection.

Privacy Considerations

When used with Heroku/Amazon, the administrators of those systems will also be able to access your photo library, but since these are infrastructure/platform services privacy intrusions are probably less likely than services like Facebook.

Risks

  • Heroku or Amazon price increases.

Setup

Heroku / Amazon S3

  1. Create AWS account:
  2. Visit Amazon Web Services.
  3. Click "Create an AWS Account".
  4. Follow steps to create an account.
  5. Create AWS S3 bucket:
  6. From AWS Console
  7. Click "S3".
  8. Click "Create Bucket".
  9. Enter bucket name. Suggest name that is the same as your Heroku application. Remember the name for later.
  10. Region: select region that matches the region of your Heroku application (US: "US Standard", Euro: "Ireland"). Remember the region for later.
  11. Click "Create".
  12. Create AWS IAM User to allow application to access your S3 storage:
  13. From AWS Console
  14. Click "Identity & Access Management".
  15. Click "Users".
  16. Click "Create New Users".
  17. Enter name "S3".
  18. Click "Create".
  19. Click "Show User Security Credentials".
  20. Remember "Access Key ID" and "Secret Access Key" for later.
  21. Click "Close".
  22. Click your new user.
  23. Click "Attach Policy".
  24. Check "AmazonS3FullAccess".
  25. Click "Attach Policy".
  26. Create Heroku Application:
  27. Click Deploy
  28. Enter an app name, use lower case letters and hyphens only.
  29. Select region that matches your S3 configuration (US or EU).
  30. Enter HOST, use ".herokuapp.com". (Can be changed later).
  31. Enter AWS and S3 options using values obtained from AWS configuration in previous steps. (Can be changed later).
  32. Click "Deploy for Free".
  33. Wait for app to deploy.
  34. Press "View".

TODO add admin account TODO add user account

Self Hosted

It should be possible to configure the application to run on your own hardware without too much effort, instructions for doing so are not written. Feel free to contribute some.

Backup

Heroku PGBackups

TODO

Amazon Glacier

TODO