initial showpiece patches
This commit is contained in:
parent
b9e30f2e0e
commit
6bdb5a72fe
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,8 +1,5 @@
|
||||
deploy/*
|
||||
work/*
|
||||
config
|
||||
postrun.sh
|
||||
SKIP
|
||||
SKIP_IMAGES
|
||||
.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
|
||||
fonts-droid-fallback
|
||||
fonts-liberation2
|
||||
fonts-noto
|
||||
fonts-noto-color-emoji
|
||||
obconf
|
||||
raindrop
|
||||
libcamera-tools
|
||||
|
@ -1,6 +1,8 @@
|
||||
xserver-xorg xinit
|
||||
x11-xserver-utils
|
||||
mousepad
|
||||
eom
|
||||
vim
|
||||
lxde lxtask menu-xdg
|
||||
zenity xdg-utils
|
||||
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
|
||||
export IMG_SUFFIX="${IMG_SUFFIX}-qemu"
|
||||
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