initial showpiece patches
This commit is contained in:
parent
b9e30f2e0e
commit
6bdb5a72fe
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,8 +1,5 @@
|
|||||||
deploy/*
|
deploy/*
|
||||||
work/*
|
work/*
|
||||||
config
|
|
||||||
postrun.sh
|
postrun.sh
|
||||||
SKIP
|
|
||||||
SKIP_IMAGES
|
|
||||||
.pc
|
.pc
|
||||||
*-pc
|
*-pc
|
||||||
|
22
config
Normal file
22
config
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
IMG_NAME="showpieceos-bookworm-arm64"
|
||||||
|
PI_GEN_RELEASE="Showpiece OS Bookworm"
|
||||||
|
RELEASE="bookworm"
|
||||||
|
DEPLOY_COMPRESSION="none"
|
||||||
|
COMPRESSION_LEVEL=0
|
||||||
|
LOCALE_DEFAULT="en_US.UTF-8"
|
||||||
|
TARGET_HOSTNAME="showpiece"
|
||||||
|
KEYBOARD_KEYMAP="us"
|
||||||
|
KEYBOARD_LAYOUT="English (US)"
|
||||||
|
TIMEZONE_DEFAULT="America/Chicago"
|
||||||
|
FIRST_USER_NAME="pi"
|
||||||
|
FIRST_USER_PASS="letmein"
|
||||||
|
DISABLE_FIRST_BOOT_USER_RENAME=1
|
||||||
|
WPA_COUNTRY=US
|
||||||
|
ENABLE_SSH=0
|
||||||
|
STAGE_LIST=""
|
||||||
|
for d in stage*; do
|
||||||
|
if [ -d "$d" ] && [ ! -f "$d/SKIP" ]; then
|
||||||
|
STAGE_LIST+="$d "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
STAGE_LIST="$(echo "$STAGE_LIST" | xargs)"
|
6
runtime-patches.sh
Executable file
6
runtime-patches.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Patches to run before building showpieceos
|
||||||
|
# Allows for non-destructive deletion of files
|
||||||
|
|
||||||
|
rm stage2/EXPORT_IMAGE
|
@ -10,6 +10,8 @@ firefox rpi-firefox-mods
|
|||||||
gldriver-test
|
gldriver-test
|
||||||
fonts-droid-fallback
|
fonts-droid-fallback
|
||||||
fonts-liberation2
|
fonts-liberation2
|
||||||
|
fonts-noto
|
||||||
|
fonts-noto-color-emoji
|
||||||
obconf
|
obconf
|
||||||
raindrop
|
raindrop
|
||||||
libcamera-tools
|
libcamera-tools
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
xserver-xorg xinit
|
xserver-xorg xinit
|
||||||
|
x11-xserver-utils
|
||||||
mousepad
|
mousepad
|
||||||
eom
|
eom
|
||||||
|
vim
|
||||||
lxde lxtask menu-xdg
|
lxde lxtask menu-xdg
|
||||||
zenity xdg-utils
|
zenity xdg-utils
|
||||||
gvfs-backends gvfs-fuse
|
gvfs-backends gvfs-fuse
|
||||||
|
6
stage3/01-showpiece-browser/01-run.sh
Executable file
6
stage3/01-showpiece-browser/01-run.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
install -d -o 1000 -g 1000 "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/autostart"
|
||||||
|
install -m 644 files/kiosk.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/autostart/"
|
||||||
|
chown -R 1000:1000 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.config
|
||||||
|
mkdir -p "${ROOTFS_DIR}/tmp"
|
6
stage3/01-showpiece-browser/files/kiosk.desktop
Normal file
6
stage3/01-showpiece-browser/files/kiosk.desktop
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Chromium
|
||||||
|
Exec=chromium-browser --profile-directory="showpiece-browser" --kiosk https://showpiece.sanin.dev/
|
||||||
|
StartupNotify=false
|
||||||
|
Terminal=false
|
4
stage4/99-force-hdmi-1/00-run.sh
Executable file
4
stage4/99-force-hdmi-1/00-run.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
echo "Setting custom cmdline"
|
||||||
|
sed -i 's/$/ video=HDMI-A-1:1920x1080M@60/' "${ROOTFS_DIR}/boot/firmware/cmdline.txt"
|
@ -1,4 +1,4 @@
|
|||||||
IMG_SUFFIX=""
|
IMG_SUFFIX="-client"
|
||||||
if [ "${USE_QEMU}" = "1" ]; then
|
if [ "${USE_QEMU}" = "1" ]; then
|
||||||
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||||
fi
|
fi
|
||||||
|
0
stage5/SKIP
Normal file
0
stage5/SKIP
Normal file
3
stage9/01-docker/00-packages
Normal file
3
stage9/01-docker/00-packages
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
apt-transport-https
|
||||||
|
gnupg2
|
||||||
|
software-properties-common
|
7
stage9/01-docker/01-run-chroot.sh
Executable file
7
stage9/01-docker/01-run-chroot.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#change to "debian" if necessary:
|
||||||
|
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
|
||||||
|
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
|
||||||
|
$(lsb_release -cs) stable" | \
|
||||||
|
tee /etc/apt/sources.list.d/docker.list
|
||||||
|
apt update
|
3
stage9/01-docker/02-packages
Normal file
3
stage9/01-docker/02-packages
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
docker-ce
|
||||||
|
docker-compose-plugin
|
||||||
|
cgroupfs-mount
|
5
stage9/01-docker/03-run-chroot.sh
Executable file
5
stage9/01-docker/03-run-chroot.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
systemctl enable docker
|
||||||
|
systemctl start docker
|
||||||
|
gpasswd -a pi docker
|
||||||
|
newgrp docker
|
11
stage9/02-showpiece/01-run.sh
Executable file
11
stage9/02-showpiece/01-run.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/showpiece"
|
||||||
|
install -v -o 1000 -g 1000 -d "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/showpiece/config"
|
||||||
|
install -m 644 files/docker-compose.yml "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/showpiece/"
|
||||||
|
install -m 644 files/config.json5 "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/showpiece/config/"
|
||||||
|
install -d -o 1000 -g 1000 "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/autostart"
|
||||||
|
install -m 644 files/kiosk.desktop "${ROOTFS_DIR}/home/${FIRST_USER_NAME}/.config/autostart/"
|
||||||
|
chown -R 1000:1000 "${ROOTFS_DIR}"/home/"${FIRST_USER_NAME}"/.config
|
||||||
|
mkdir -p "${ROOTFS_DIR}/tmp"
|
||||||
|
echo "$FIRST_USER_NAME" > "${ROOTFS_DIR}/tmp/first_username"
|
12
stage9/02-showpiece/02-run-chroot.sh
Executable file
12
stage9/02-showpiece/02-run-chroot.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
USERNAME=$(cat /tmp/first_username)
|
||||||
|
COMPOSEFILE="/home/$USERNAME/.config/showpiece/docker-compose.yml"
|
||||||
|
|
||||||
|
echo "@reboot docker compose --file '$COMPOSEFILE' up -d && chromium --kiosk 'http://localhost:8080/?w=1080'" >> /tmp/user.crontab
|
||||||
|
echo "40 3 * * * docker compose --file '$COMPOSEFILE' pull && docker compose --file '$COMPOSEFILE' up -d" >> /tmp/user.crontab
|
||||||
|
|
||||||
|
crontab -u "$USERNAME" /tmp/user.crontab
|
||||||
|
|
||||||
|
rm /tmp/first_username
|
||||||
|
rm /tmp/user.crontab
|
14
stage9/02-showpiece/files/config.json5
Normal file
14
stage9/02-showpiece/files/config.json5
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
// Port for the viewer
|
||||||
|
"port": 8080,
|
||||||
|
// Port for the control panel
|
||||||
|
// (use a different port to restrict access to this interface)
|
||||||
|
"controlport": 8080,
|
||||||
|
// (optional) provide weather data to modules that support it
|
||||||
|
"weather": {
|
||||||
|
// Provide an OpenWeatherMap API key
|
||||||
|
// https://openweathermap.org/price
|
||||||
|
// "key": "not0a0real0key00281f631aef6ad3a1",
|
||||||
|
// "city": "chicago"
|
||||||
|
}
|
||||||
|
}
|
10
stage9/02-showpiece/files/docker-compose.yml
Normal file
10
stage9/02-showpiece/files/docker-compose.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
services:
|
||||||
|
showpiece:
|
||||||
|
container_name: showpiece
|
||||||
|
image: corysanin/showpiece:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8080:8080
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ./config:/usr/src/showpiece/config
|
6
stage9/02-showpiece/files/kiosk.desktop
Normal file
6
stage9/02-showpiece/files/kiosk.desktop
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Chromium
|
||||||
|
Exec=chromium-browser --profile-directory="showpiece-browser" --kiosk http://localhost:8080/?w=1080
|
||||||
|
StartupNotify=false
|
||||||
|
Terminal=false
|
4
stage9/EXPORT_IMAGE
Normal file
4
stage9/EXPORT_IMAGE
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
IMG_SUFFIX="-standalone"
|
||||||
|
if [ "${USE_QEMU}" = "1" ]; then
|
||||||
|
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||||
|
fi
|
5
stage9/prerun.sh
Executable file
5
stage9/prerun.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
if [ ! -d "${ROOTFS_DIR}" ]; then
|
||||||
|
copy_previous
|
||||||
|
fi
|
Loading…
x
Reference in New Issue
Block a user