A Photobooth web interface for Linux and Windows.
Photobooth was initially developped by Andre Rinas to use on a Raspberry Pi, you can find his source here. In 2019 Andreas Blaesius picked up the work and continued to work on the source. With the help of the community Photobooth grew to a powerfull Photobooth software with a lot of features and possibilities.
(The full changelog can be found on https://photoboothproject.github.io.)
Hardware-Platform | Software-Platform | Supported Cameras |
---|---|---|
Raspberry Pi 3 / 4 / 5 | Raspberry Pi OS 64bit Bullseye / Bookworm | Camera Modules, gphoto2 DSLR, webcam *2 |
Raspberry Pi 3 / 4 / 5 | Raspberry Pi OS 32bit Bullseye / Bookworm *1 | Camera Modules, gphoto2 DSLR, webcam *2 |
Generic PC | Debian/Ubuntu | gphoto2 DSLR, webcam *2 |
Generic PC | Windows | digiCamControl, wsl + Debian/Ubuntu subsystem, webcam *2 |
*1 On Raspberry Pi OS 32bit Bullseye you must add arm_64bit=0
to your /boot/config.txt
and reboot once before installing Photobooth.
The Raspberry Pi foundation uses a 64bit kernel while the system is 32bit. The Installation fails because the v4l2loopback module can't be compiled for a 32bit OS while using a 64bit kernel.
*2 Capture from webcam is possible e.g. using fswebcam, else it only works on access via http://localhost
Software | Required version | Note |
---|---|---|
Node.js | >=v20.15.0 | Currently only v20 is tested. Our installer will check your Node.js version and suggest an update/downgrade if needed. Versions below v20 aren't supported anymore. |
npm | >=v10.7.0 | |
php | >=v8.3 | |
Webserver | Apache or Nginx is needed. By default Apache webserver is installed by our installer. |
- Works on Windows and Linux.
- Images are processed with GD.
- Gallery based on PhotoSwipe v5
- Standalone Gallery based on PhotoSwipe v5 (localhost/gallery).
- Standalone Slideshow based on PhotoSwipe v5 (localhost/slideshow).
- Access login via localhost/login.
- Offline manual with settings explained at localhost/manual.
- Offline FAQ at localhost/manual/faq.
- Disk usage page, access via admin panel or directly at localhost/admin/diskusage.
- Settings can be changed via Admin Panel at (localhost/admin):
- Multi-language support:
- Login to protect Admin Panel, Start page and/or Manual & FAQ can be enabled.
- Hardware Button functionality, supports two separate modes of operation (select via admin panel):
- Button Mode: Distinct hardware buttons can be connected to distinct GPIOs. Each button will trigger a separate functionality (i.e. take photo).
- Rotary Mode: A rotary encoder connected to GPIOs will drive the input on the screen. This enables to use the rotary to scroll through the Photobooth UI buttons, and click to select actions.
- Gallery: allow to adjust the look and feel (settings explained inside the manual).
- Choose between date-formatted or random image names.
- Choose an image filter after taking a picture.
- QR-Code to allow downloading pictures from your Photobooth.
- Pictures can be directly downloaded from the gallery.
- Print feature:
- Optional: Print a frame on your picture
- Optional: Print text on your picture.
- Optional: Print QR-Code on the right side of your picture.
- Optional: Auto print function
- Optional: allow to delay auto print
- Optional: allow to adjust time "Started printing! Please wait..." is visible
- Optional: allow to trigger print via defined key
- Optional: options to show the print button independent (e.g. can be only visible on gallery)
- Pictures can be sent via e-mail.
- Different Live Preview options
- Event specific (e.g. wedding, birthday) config to show a symbol (e.g. heart) between some text on the start page.
- Chroma keying
- Photo collage function: take pictures in a row with or without interruption and let it generate a collage out of it. Choose between different collage layouts!
- Save pictures with a Polaroid effect.
- Adjust take picture and print commands.
- Adjust the style of Photobooth via admin panel.
- ... And many more options to adjust and style Photobooth for your personal needs
Please follow the installation instructions here to setup Photobooth.
If you're having trouble or questions please take a look at our FAQ before opening a new issue.
For local testing and development, the docker setup can be used with docker-compose up --build
.
Please take a look at the changelog available on https://photoboothproject.github.io.
Photobooth is not hardened against any kind of targeted attacks. It uses user defined commands for tasks like taking photos and is allowed to replace its own files for easy updating. Because of this it's not advised to operate Photobooth in an untrusted network and you should absolutely not make Photobooth accessible through the internet without heavy modifications!
Photobooth source is licensed under the MIT license.
Once build, Photobooth incorporates several parts and optimizations that are covered by a different license which could apply to Photobooth as well. All dependencies include their respective LICENSE files.
If you like our work and consider a donation, we have to tell you that we don't accept any money. We're happy about every contribution to this project and strive to make it better every day. Just get in touch with us on Telegram to say thank you or help us find ways to improve.
If you still want to donate money to make us happy: consider a donation to the seal station Norddeich (donate via Paypal).
Thanks for reading!
Raspberry Pi Weddingphotobooth (german) Raspberry Pi Fotobox fΓΌr Hochzeiten und Geburtstage (German) Raspberry Pi Photobooth in a classic vintage plate camera
- dimsemenov
- t0k4rt
- nihilor
- vrs01
- F4bsi
- got-x
- RaphaelKunis
- andi34
- Norman-Sch
- marcogracklauer
- dnks23
- tobiashaas
- Martin Kaiser-Kaplaner
- MoJou90
- Reinhard Reberning
- Steffen Musch
- flighter18
- thymon13
- vdubuk
- msmedien
- sualko
- rawbertp
- jacques42
- poldixd
- TheVaan
- Andreas Remdt
- philippselle
- Natalie Stroud
- jarettrude
- alzo425
- KH404
- joiyco
- EccoB
- couz74
- thatonedude3470
- Christian Tarne
- DeNeD1
- DIY89
- mhellmeier
- Uwe Pieper
- s-dinda
- Moarqi
- kreativmonkey
- Khaos66
- DJ DT-Sommer
- ledsi
- vucubcaquix
- Spike-78
- Mathias Fiege
- Guillaume Roure
- Francesco Miccolis