init
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
DB_DIR="/simplex/data"
|
||||
DB_PREFIX="simplex"
|
||||
BOT_NAME="${SIMPLEX_BOT_DISPLAY_NAME}"
|
||||
BOT_DESCRIPTION="${SIMPLEX_BOT_DESCRIPTION}"
|
||||
BOT_AVATAR="/simplex/bot_avatar.jpeg"
|
||||
INTERNAL_PORT=5226
|
||||
EXTERNAL_PORT=5225
|
||||
|
||||
has_chat_db() {
|
||||
find "$DB_DIR" -maxdepth 1 -type f -name '*.db' 2>/dev/null | grep -q .
|
||||
}
|
||||
|
||||
mkdir -p "$DB_DIR"
|
||||
cd "$DB_DIR"
|
||||
|
||||
echo "Starting socat proxy (0.0.0.0:$EXTERNAL_PORT -> 127.0.0.1:$INTERNAL_PORT)..."
|
||||
socat TCP-LISTEN:$EXTERNAL_PORT,fork,reuseaddr TCP:127.0.0.1:$INTERNAL_PORT &
|
||||
|
||||
DB_ARGS=(-d "$DB_PREFIX")
|
||||
ARGS=("${DB_ARGS[@]}" -p "$INTERNAL_PORT")
|
||||
|
||||
if ! has_chat_db; then
|
||||
echo "First run detected. Creating bot profile: $BOT_NAME"
|
||||
AVATAR_DATA="$(base64 -w 0 "$BOT_AVATAR")"
|
||||
|
||||
simplex-chat \
|
||||
--create-bot-display-name "$BOT_NAME" \
|
||||
"${DB_ARGS[@]}" \
|
||||
-e "/_profile 1 {\"displayName\":\"$BOT_NAME\",\"fullName\":\"$BOT_NAME\",\"shortDescr\":\"$BOT_DESCRIPTION\",\"image\":\"$AVATAR_DATA\"}"
|
||||
fi
|
||||
|
||||
echo "Starting SimpleX CLI in API mode on internal port $INTERNAL_PORT..."
|
||||
exec simplex-chat "${ARGS[@]}"
|
||||
Reference in New Issue
Block a user