Prepare SQLite bind mount permissions

This commit is contained in:
Codex
2026-06-12 15:18:19 +00:00
parent 090333c963
commit 9c87e52dfc
3 changed files with 35 additions and 0 deletions

View File

@@ -7,6 +7,8 @@ IMAGE=sodium/kosync-rs:v2.1.1
REDIS_URL=redis://127.0.0.1:6379/1
PULL=1
FLUSH_TARGET=0
KOSYNC_UID=${KOSYNC_UID:-10001}
KOSYNC_GID=${KOSYNC_GID:-10001}
usage() {
echo "Usage: $0 [--old-container NAME] [--sqlite PATH] [--image IMAGE] [--redis-url URL] [--flush-target] [--no-pull]" >&2
@@ -65,6 +67,18 @@ SQLITE_DIR=$(dirname "$SQLITE_ABS")
SQLITE_BASE=$(basename "$SQLITE_ABS")
mkdir -p "$SQLITE_DIR"
DOCKER_USER_ARGS=
if [ "$(id -u)" -eq 0 ]; then
chown "$KOSYNC_UID:$KOSYNC_GID" "$SQLITE_DIR"
for path in "$SQLITE_ABS" "$SQLITE_ABS-wal" "$SQLITE_ABS-shm" "$SQLITE_ABS-journal"; do
if [ -e "$path" ]; then
chown "$KOSYNC_UID:$KOSYNC_GID" "$path"
fi
done
else
DOCKER_USER_ARGS="--user $(id -u):$(id -g)"
fi
if [ "$PULL" -eq 1 ]; then
docker pull "$IMAGE"
fi
@@ -80,6 +94,7 @@ if [ "$FLUSH_TARGET" -eq 1 ]; then
fi
docker run --rm \
$DOCKER_USER_ARGS \
--network "container:$OLD_CONTAINER" \
-v "$SQLITE_DIR:/data" \
"$IMAGE" \