Open source Ruby on Rails photo gallery
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Denis Knauf fe63f11068 header-anchor-test 11 years ago
app visible true for all photos after create 11 years ago
assets ratings, home slider etc. 12 years ago
config bootstrap to forms 11 years ago
db upd 11 years ago
lib big update 12 years ago
public to rails assets pipeline style 12 years ago
resources/DummyHTML added dummyhtml 15 years ago
script i can haz railz 3 13 years ago
spec acts as permissible 15 years ago
test upd 11 years ago
vendor/assets/javascripts upd 11 years ago
.gitignore added new files to precompile list 11 years ago
Gemfile update gems 11 years ago
Gemfile.lock update gems 11 years ago
LICENSE MIT License 12 years ago header-anchor-test 11 years ago
Rakefile big update 12 years ago big update 12 years ago

Welcome to Balder photo gallery

Made by Espen Antonsen.

Version 1.2.3 for Rails 3.2. See the rails2 branch for previous version.


  • Stores photos to disk in folders or on S3 (can run from Heroku...yay)
  • Create multiple thumbnails of custom sizes
  • Read and writes EXIF/IPTC title, description and keywords
  • Organize in albums (as events in iPhoto)
  • Combine albums in collections (as albums in iPhoto)
  • Upload multiple photos
  • Tag photos. Can also tag albums (actually all photos in album is tagged)
  • User management with roles and permissions
  • Geo-location of albums & photos with Google Maps integration.


Rails 3.2



  • ExifTool (required for Mini_EfixTool). Can be disabled. Default is to read EXIF tags but not write them to the file when database is updated as writing EXIF is slow. To enable just uncomment exif_write in photo.rb
  • ImageMagicK. Carrierwave can use either RMagicK or MiniMagicK (default). To change resize option the correct gem must be used (specified in Gemfile) and change included setting for Carrierwave in file_uploader.rb Optional:
  • ImageScience which requires FreeImage.

Ruby Gems: See Gemfile



config/balder.rb has the following adjustable settings:

Relative path to where the photos are stored. Default: uploads Under the specified path two folders are used. "files" for original files and "thumbs" for generated thumbnails. This can be adjusted in app/uploaders/file_uploader.rb PRIVATE

Require visitors to have a user and authenticate before viewing photos.

Title of site
To be used on This will adjust carrierwave to save to Heroku's tmp area.
For saving files to Amazon S3 (required for Heroku)
For saving files to Amazon S3 (required for Heroku)
For saving files to Amazon S3 (required for Heroku)

As these are environment variables you can easily add them to Heroku: For a brief introduction to how to set up Balder on Heroku see:


  1. Clone the project from GitHub or Gitorious:

     git clone git:// # GitHup
  2. Install required software listed above

  3. bundle install to install required gems.

  4. Adjust the settings in balder.rb or as Heroku config variables (See configuration above)

  5. Copy database file (not needed when hosting on Heroku):

     cp config/database.example.yml config/database.yml
  6. Create database user and edit database file. (unless on Heroku or using SQLite3)

  7. Create database:

     rake db:create
  8. Migrate database schema:

     rake db:migrate
  9. Start up the project with your preferred web-server For example:

     rails start # or:
     passenger start

Optional: add photos directly to disk

The gallery has a web-based upload tool. Alternatively you can upload files directly to the upload folder. This means you can import an existing folder based photo collection to Balder.

Put photos in containing folders(albums) in the specified gallery folder. Hierarchy of folders is not fully supported.

This format is recommended:

./ski weekend in hemsedal/snow.jpg
./ski weekend in hemsedal/afterski.jpg
./trip to iran/beautiful girls in tehran.jpg
./trip to iran/mosque in yazd.jpg
./trip to iran/powder snow in dizin.jpg

Every time you manually add photos to disk you must scan by visiting /photos/scan or run ScanFiles.Scan(false) from the console.

Version history

Rails 1.2.3
Rails 3.1
Using plupupload instead of uploadify for non-flash upload options. Can now use html5, normal form, silverlight, gears and browserplus for photo upload.
New storage path: /uploads/files/ instead of /uploads/. Make sure you move your photos or adjust the storage path.


  • Testing...


  • Themes
  • Improved UX
  • Mobile/Tablet friendly display using CSS media queries Patches welcome!

Copyright and license info

This code is copyrighted by Espen Antonsen. The source code is available free under the MIT License.