Installation 🔧
The application is available as a PyPI package. Follow this guide to install.
Still need a box? Check out the 3d printed photobooth box!
Let's go...
Prerequisites
- Python 3.10 or later.
- System: Raspberry Pi 4 or 5 recommended with latest 64bit OS. Also, more performant hardware is fine using a generic Debian/Windows. Raspberry Pi 3 could work but might be slow.
- Screen: A touchscreen is highly recommended. Recommended minimum resolution is 1024x600.
- Camera. You can use one or two cameras. Using two cameras allows to dedicate one camera to stills and one to livepreview/videos. Supported cameras:
- DSLR via gphoto2 on Linux
- Raspberry Pi camera modules via picamera2.
- USB-webcameras via linuxpy or PyAV/ffmpeg.
Raspberry Pi OS
System Preparation
On a fresh Raspberry Pi OS Bookworm/Trixie 64bit system, run following commands:
Update System
sudo apt update
sudo apt upgradeInstall system dependencies
The following dependencies need to be installed for Raspberry Pi OS 64bit. Customize for debian/ubuntu. Picamera2 is only available for Raspberry Pi.
sudo apt -y install ffmpeg libturbojpeg0 libgl1 libgphoto2-dev fonts-noto-color-emoji
sudo apt -y install libexif12 libgphoto2-6 libgphoto2-port12 libltdl7
sudo apt -y install python3-devTweak system settings
Touchscreen
Depending on which display server (X, Wayland) and input (labwc) is used, you might run into touch screen issues. If scrolling doesn't work, consider to switch back to multitouch instead mouse emulation.
WiFi
By default, the Pi OS has a power-save mode enabled for the WiFi adapter. This causes the WiFi do disconnect after some time and leads to unreliable connectivity. It's recommended to disable the power-save mode. Add the following line to /etc/rc.local right before the exit line:
iw dev wlan0 set power_save offAfterwards confirm the power management is off by checking the output of iwconfig in the terminal for the wifi adapter.
Install using pipx
It's preferred to install pypi packages in virtual environments. The latest Linux operating systems are starting to implement externally managed base environments. The easiest way to install it is to use pipx.
Use the following commands to install pipx in a virtual environment.
sudo apt -y install pipx
pipx ensurepathNow check if you can run pipx. If not, you may need to logout/login or reboot.
pipxRun the photobooth installation. Allow the import of system-site packages, as picamera2 is installed globally via apt in system-site.
pipx install --system-site-packages photobooth-app --pip-args='--prefer-binary'First start
Create data folder
The photobooth application automatically uses the current folder as the data folder. All images, logs, and configuration files are stored in this folder.
mkdir ~/photobooth-data && cd ~/photobooth-dataStart the app
Launch the application. The current directory will be used as the working directory. If you start the application again later, make sure you start it from the same directory.
photoboothBrowse to http://localhost:8000 and see if the application works properly. By default, the application uses a generated image and streams a demonstration video. No camera is started at this time. You will need to continue setting up the cameras.
INFO
Having trouble accessing the website or seeing error messages during installation and application launch? Check the troubleshooting guide.
Setup Kiosk Mode
To set up the kiosk mode, you will need to install the Photobooth application as a service and set up the browser to start automatically at boot time. The following advice is intended as a general guide, but since the OS changes from time to time, the guide may be outdated.
Service Setup
Automatic Service Setup
Once the Photobooth application has been launched, the service can be installed automatically on Linux systems. Select Admin Center -> Dashboard -> Server Control -> Install Service. After confirmation the service will be installed as described below for manual setup. If the setup fails, please install the service manually.
Manual Service Setup
Now that you have made sure that the photobooth application is working properly, it's time to set up the application as a service. If you installed the application according to the instructions above, the template .service file will work for you.
Create the following file in the specified location:
[Unit]
Description=photobooth-app
After=default.target
[Service]
Type=simple
Restart=always
#you might want to adjust following lines
WorkingDirectory=%h/photobooth-data/
ExecStart=python -O -m photobooth
[Install]
WantedBy=default.targetNow reload systemctl and enable the service:
systemctl --user daemon-reload
systemctl --user enable photobooth-app.serviceStart/Stop the Service
Independent if automatic or manual installation of the service, the app can be started using the service as follows.
systemctl --user start photobooth-app.serviceIf you want to check the service started properly, invoke systemctl with the status parameter:
systemctl --user status photobooth-app.serviceINFO
The app does not start? It could be helpful to stop the service and start the app manually. Check the troubleshooting guide.
Desktop shortcut and autostart
Desktop Icon
Create the following file in the specified location:
[Desktop Entry]
Terminal=false
Type=Application
Name=Photobooth-App
# for older Debian systems, the browser is "chromium-browser", since Trixie it's "chromium"
Exec=chromium --kiosk --password-store=basic --disable-pinch --disable-features=Translate,OverscrollHistoryNavigation --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximized http://localhost:8000/
StartupNotify=falseAutostart on system startup
To autostart the app, chromium needs to start automatically after boot. The latest Raspberry Pi OS has several window manager - the most recent is labwc. Prior wayland was used, both are described below.
Create the file below as indicated. The file autostart may not exist yet, so you need to create it.
until curl -s http://localhost:8000 >/dev/null; do sleep 1; done; chromium --kiosk --password-store=basic --disable-pinch --disable-features=Translate --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --enable-features=OverlayScrollbar --start-maximized http://localhost:8000/Other Debian/Ubuntu Systems
There is no dedicated installation guide. It should work similar to a Raspberry Pi installation, so please use the Pi installation method as reference.
Windows
Install Python including the development headers (tick the box during the installation).
NOTE
Digicamcontrol is integrated to support DSLR cameras on Windows platform. The Digicamcontrol is not maintained any more, so if the software fails to work in the future, the backend is removed from the app. Until then you can use it to use it, but it will not receive new features.
Of course, you can use Webcams on Windows any time.
System Preparation
- Ensure the system has standby disabled and the monitor is not turned off.
- Consider using autologin to windows desktop.
Install system dependencies
To use the photobooth first install following system dependencies:
- Latest stable Python Please use the link, the Microsoft Store version is not recommended.
- That's it ✔️
Install using pip
On Windows, using a global installation is most conventient. The global installation is described below. Of course, you can install the app using pipx or venvs on Windows also.
pip install --prefer-binary photobooth-appFirst start
Create data folder
The photobooth application automatically uses the current folder as the data folder. All images, logs, and configuration files are stored in this folder.
mkdir ~/photobooth-data && cd ~/photobooth-dataStart the app
Launch the application. The current directory will be used as the working directory. If you start the application again later, make sure you start it from the same directory.
photoboothBrowse to http://localhost:8000 and see if the application works properly. By default, the application uses a generated image and streams a demonstration video. No camera is started at this time. You will need to continue setting up the cameras.
INFO
Having trouble accessing the website or seeing error messages during installation and application launch? Check the troubleshooting guide.
Setup Kiosk Mode
There is no dedicated description to setup a kiosk mode on, yet.
