Skip to content

About

Build a photobooth for your party!

Resources

Stars

27 stars

Watchers

1 watching

Forks

Repository files navigation

Master Status Coverage Status Dependabot Updates

Photobooth

This application is supposed to run on a Linux machine which is connected to a gphoto supported camera (list).

I've build it to run on a Raspberry Pi with openSUSE/Raspbian (Debian), connected to a DSLR camera. Any tablet or notebook with a web browser in the same Wi-Fi as the Raspberry Pi works as a screen. See below for more details of my setup and how to run your own.

The app is a Ruby on Rails server with a Hotwire (Turbo and Stimulus) frontend.

Hardware Setup

The general hardware setup looks like this:

                                      +--------------+
                                      |              |
                                      |    Camera    |
                                      |              |
                                      +------^-------+
                                             |
                                   USB Cable |
                                             | gphoto library
+--------------------+               +-------v------------+
|                    |               |                    |
|  Tablet /Notebook  |     Wifi      | Photobooth server  |
|    with Browser    +-------------> | (eg. Raspberry Pi) |
|                    |               |                    |
+--------------------+               +-------+------------+
                                             | gpio ports
                                       Wires |
                                             |
                                      +------v--------+
                                      |  o o o o o o  |
                                      |  Status LEDs  |
                                      |               |
                                      +---------------+

Deploy

The recommended setup to run a portable photo booth is a Raspberry Pi.

From SD card to photo booth in three steps:

  1. Write the image of the latest release to an SD card: xzcat photobox-<version>.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync,nocreat
  2. Put the SD card into the Pi, connect the camera and boot.
  3. Connect the tablet to the WLAN Photobox (no password), then open http://10.42.0.1.

deploy/README.md explains the ready SD card image for the Raspberry Pi, how the image is built, updates and network commands.

Usage

The app has these pages:

  • /: The gallery for the guests.
  • /?kiosk=1: The gallery with the record button for the tablet.
  • /sets/<id>: One set with the GIF, the 4 single pictures and the downloads.

Add ?locale=de to any page to show the UI in German. The browser keeps the language. ?locale=en switches back to English, the default. The texts are in locale/de/app.po. After a change of the texts in the code, run bin/rails gettext:find to update the po files.

Development

DEVELOPMENT.md explains the local development setup.

Anything is not working when following this manual? Please open an issue in the github project!

My Photobooth:

My current photobox setup is a Raspberry Pi 3B, a Canon M50 with a 22mm lens and power adapter. As display I use an Ipad Air 4. To power all of it without a power plug, I use a 22mAh power bank with 3 USB ports. All build into an old wooden suitcase. It can run completely from battery for the whole evening.

It was already used at multiple parties and weddings.

party_box

wedding_box

Images licensed by https://creativecommons.org/licenses/by/4.0/

About

Build a photobooth for your party!

Resources

Stars

27 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages