@@ -37,8 +37,7 @@ export UKC_METRO="dummy-metro-for-local-run"
3737
3838
3939# Local-friendly Chrome flags (less restrictive than cloud) + custom DevTools frontend
40- # Note: --user-data-dir will be set automatically by start-chromium.sh using CHROMIUM_DATA_DIR
41- export CHROMIUM_FLAGS=" --disable-dev-shm-usage --start-maximized --remote-allow-origins=* --no-sandbox --disable-setuid-sandbox --custom-devtools-frontend=http://localhost:8001/"
40+ export CHROMIUM_FLAGS=" --user-data-dir=/data/user-data --disable-dev-shm-usage --start-maximized --remote-allow-origins=* --no-sandbox --disable-setuid-sandbox --custom-devtools-frontend=http://localhost:8001/"
4241
4342echo " 🔧 Configuration:"
4443echo " Image: $IMAGE "
@@ -61,20 +60,31 @@ source ../../shared/ensure-common-build-run-vars.sh chromium-headful
6160HOST_RECORDINGS_DIR=" $SCRIPT_DIR /recordings"
6261mkdir -p " $HOST_RECORDINGS_DIR "
6362
64- # Optional Chromium data directory for persistence
65- # Set CHROMIUM_DATA_HOST to enable volume mounting (e.g., ./chromium-data)
66- if [[ -n " ${CHROMIUM_DATA_HOST:- } " ]]; then
67- echo " 🗂️ Using persistent Chromium data directory: $CHROMIUM_DATA_HOST "
68- mkdir -p " $CHROMIUM_DATA_HOST "
69- CHROMIUM_DATA_VOLUME=" -v $( realpath " $CHROMIUM_DATA_HOST " ) :/data"
70- else
63+ # Chromium data directory for persistence
64+ # Set CHROMIUM_DATA_HOST to customize location (default: ./chromium-data)
65+ # Set CHROMIUM_DATA_HOST="" to disable persistence (ephemeral mode)
66+ if [[ " ${CHROMIUM_DATA_HOST+set} " == " set" && -z " $CHROMIUM_DATA_HOST " ]]; then
7167 echo " 🔄 Using ephemeral Chromium data (no persistence)"
7268 CHROMIUM_DATA_VOLUME=" "
69+ else
70+ # Default to ./chromium-data if not specified
71+ CHROMIUM_DATA_HOST=" ${CHROMIUM_DATA_HOST:- $SCRIPT_DIR / chromium-data} "
72+ echo " 🗂️ Using persistent Chromium data directory: $CHROMIUM_DATA_HOST "
73+ CHROMIUM_DATA_REAL=$( realpath " $CHROMIUM_DATA_HOST " 2> /dev/null || echo " " )
74+ if [[ -z " $CHROMIUM_DATA_REAL " ]]; then
75+ # Path doesn't exist yet, try to create it first
76+ mkdir -p " $CHROMIUM_DATA_HOST "
77+ CHROMIUM_DATA_REAL=$( realpath " $CHROMIUM_DATA_HOST " 2> /dev/null || echo " " )
78+ if [[ -z " $CHROMIUM_DATA_REAL " ]]; then
79+ echo " ❌ Error: Invalid path $CHROMIUM_DATA_HOST "
80+ exit 1
81+ fi
82+ fi
83+ CHROMIUM_DATA_VOLUME=" ${CHROMIUM_DATA_REAL} :/data"
7384fi
7485
7586# Build Chromium flags file and mount
76- # Note: --user-data-dir will be set automatically by start-chromium.sh using CHROMIUM_DATA_DIR
77- CHROMIUM_FLAGS_DEFAULT=" --disable-dev-shm-usage --disable-gpu --start-maximized --disable-software-rasterizer --remote-allow-origins=*"
87+ CHROMIUM_FLAGS_DEFAULT=" --user-data-dir=/data/user-data --disable-dev-shm-usage --disable-gpu --start-maximized --disable-software-rasterizer --remote-allow-origins=*"
7888if [[ " $RUN_AS_ROOT " == " true" ]]; then
7989 CHROMIUM_FLAGS_DEFAULT=" $CHROMIUM_FLAGS_DEFAULT --no-sandbox --no-zygote"
8090fi
@@ -107,7 +117,7 @@ RUN_ARGS=(
107117
108118# Add Chromium data volume if specified
109119if [[ -n " $CHROMIUM_DATA_VOLUME " ]]; then
110- RUN_ARGS+=( $ CHROMIUM_DATA_VOLUME )
120+ RUN_ARGS+=( -v " ${ CHROMIUM_DATA_VOLUME} " )
111121fi
112122
113123# Add URLS environment variable if provided
0 commit comments