The following instructions were tested on Raspberry OS ARM64 (Debian 11 Bullseye)
-
Install Docker and Docker Compose plugin using the official instructions for Debian
-
Enable and start docker service:
sudo systemctl enable --now docker
- Create
docker-compose.yml
version: "3.3"
services:
cpm-camera:
container_name: cpm-camera
image: ghcr.io/ametis70/cpm-camera:latest
ports:
- "4000:4000"
volumes:
- ./storage:/app/storage
restart: always
- Create and start container:
sudo docker compose up -d
To update to a new image, run:
sudo docker compose pull
sudo docker compose up -d
- Clone repo
- After bringing service up, from the root of the repository run:
curl -F photo=@process/test_single.jpg http://$SERVER_IP/photo
- Enable console autologin on
raspi-config
- Install LÖVE with:
sudo apt update && sudo apt install love
- (Optional) Rotate console by 90 degrees clockwise adding
fbcon=rotate:1
at the end of/boot/cmdline.txt
- Add the following to the bottom of
.bashrc
:
echo "Waiting 5 seconds"
sleep 5
SERVER_ADDRESS="http://localhost:4000" IMAGE_DURATION=5 WIDTH=1920 HEIGHT=1080 love cpm-display
Warning: don't use this, as it's painfully slow
- Enable console autologin on
raspi-config
- Add the following to the bottom of
.bashrc
:
echo "Waiting 5 seconds"
sleep 5
startx
- Add specific driver settings:
- Select driver on
raspi-config
(Advanced -> GL Driver -> GL (Full KMS)
) - Create
$HOME/.xinitrc
with the following content:
xset s off
xset -dpms
xset s noblank
xrandr --output $X_OUTPUT --auto --rotate right
exec chromium-browser --window-size=1080,1920 --window-position=0,0 --kiosk --incognito http://localhost:4000
- Select driver on
raspi-config
(Advanced -> GL Driver -> Legacy
) - Create
$HOME/.xinitrc
with the following content:
xset s off
xset -dpms
xset s noblank
exec chromium-browser --window-size=1080,1920 --window-position=0,0 --kiosk --incognito http://localhost:4000
- Rotate screen adding
display_hdmi_rotate=1
(90 deegrees) to/boot/config.txt
: