Files
hassio-addons/browser_chromium/rootfs/etc/usr/bin/wrapped-chromium
2026-01-16 20:22:12 +01:00

52 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# shellcheck shell=bash
set -Eeuo pipefail
# Resolve chromium binary (LSIO uses this path)
if [[ -x /usr/lib/chromium/chromium ]]; then
BIN=/usr/lib/chromium/chromium
elif command -v chromium >/dev/null 2>&1; then
BIN="$(command -v chromium)"
else
echo "ERROR: chromium binary not found" >&2
exit 127
fi
# Fixed profile dir as requested
USER_DATA_DIR="/data/profile"
mkdir -p "${USER_DATA_DIR}"
# Cleanup stale locks if chromium is not already running
if ! pgrep -f 'chromium' >/dev/null 2>&1; then
rm -f "${USER_DATA_DIR}/Singleton"* || true
fi
# Detect seccomp mode (0 = disabled)
seccomp_mode="$(awk -F':' '/^Seccomp:/{gsub(/[[:space:]]/,"",$2); print $2}' /proc/1/status || echo "")"
# Base arguments (exactly what you requested + required safety flags)
args=(
--remote-debugging-address=0.0.0.0
--remote-debugging-port=9221
--user-data-dir="${USER_DATA_DIR}"
--disable-dev-shm-usage
--no-first-run
--no-default-browser-check
--disable-background-networking
--disable-sync
--password-store=basic
"--simulate-outdated-no-au=Tue, 31 Dec 2099 23:59:59 GMT"
--start-maximized
)
# Container reality: sandbox usually breaks unless seccomp is fully disabled
if [[ "${seccomp_mode}" != "0" ]]; then
args+=( --no-sandbox --test-type )
fi
# IMPORTANT:
# - no output redirection
# - exec replaces PID 1 cleanly
exec "${BIN}" "${args[@]}" "$@"