#!/bin/sh set -eu OLD_CONTAINER=kosync SQLITE=./data/kosync.sqlite3 IMAGE=sodium/kosync-rs:v2.1.1 REDIS_URL=redis://127.0.0.1:6379/1 PULL=1 usage() { echo "Usage: $0 [--old-container NAME] [--sqlite PATH] [--image IMAGE] [--redis-url URL] [--no-pull]" >&2 } while [ "$#" -gt 0 ]; do case "$1" in --old-container) OLD_CONTAINER=$2 shift 2 ;; --sqlite) SQLITE=$2 shift 2 ;; --image) IMAGE=$2 shift 2 ;; --redis-url) REDIS_URL=$2 shift 2 ;; --no-pull) PULL=0 shift ;; -h|--help) usage exit 0 ;; *) usage exit 2 ;; esac done case "$SQLITE" in /*) SQLITE_ABS=$SQLITE ;; *) SQLITE_ABS=$(pwd)/$SQLITE ;; esac SQLITE_DIR=$(dirname "$SQLITE_ABS") SQLITE_BASE=$(basename "$SQLITE_ABS") mkdir -p "$SQLITE_DIR" if [ "$PULL" -eq 1 ]; then docker pull "$IMAGE" fi echo "image: $IMAGE" echo "old container: $OLD_CONTAINER" echo "redis url: $REDIS_URL" echo "sqlite: $SQLITE_ABS" docker run --rm \ --network "container:$OLD_CONTAINER" \ -v "$SQLITE_DIR:/data" \ "$IMAGE" \ import-redis \ --redis-url "$REDIS_URL" \ --db "/data/$SQLITE_BASE"