Initial public release
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
# install.sh — build and install zed-bridge on Linux Mint / Ubuntu
|
||||
set -euo pipefail
|
||||
|
||||
BINARY_NAME="zed-bridge"
|
||||
INSTALL_DIR="$HOME/.local/bin"
|
||||
CONFIG_DIR="$HOME/.config/zed-bridge"
|
||||
SERVICE_DIR="$HOME/.config/systemd/user"
|
||||
|
||||
echo "==> Checking for Rust toolchain..."
|
||||
if ! command -v cargo &>/dev/null; then
|
||||
echo " Rust not found. Install from https://rustup.rs then re-run this script."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Building release binary..."
|
||||
cargo build --release
|
||||
|
||||
echo "==> Installing binary to $INSTALL_DIR/$BINARY_NAME"
|
||||
mkdir -p "$INSTALL_DIR"
|
||||
cp "target/release/$BINARY_NAME" "$INSTALL_DIR/$BINARY_NAME"
|
||||
chmod +x "$INSTALL_DIR/$BINARY_NAME"
|
||||
|
||||
echo "==> Installing systemd user service..."
|
||||
mkdir -p "$SERVICE_DIR"
|
||||
cp "zed-bridge.service" "$SERVICE_DIR/$BINARY_NAME.service"
|
||||
|
||||
echo "==> Setting up config (if not already present)..."
|
||||
mkdir -p "$CONFIG_DIR"
|
||||
if [ ! -f "$CONFIG_DIR/config.json" ]; then
|
||||
cp config.example.json "$CONFIG_DIR/config.json"
|
||||
echo ""
|
||||
echo " *** Config created at $CONFIG_DIR/config.json ***"
|
||||
echo " Edit it to add your repo paths, then continue."
|
||||
echo ""
|
||||
else
|
||||
echo " Config already exists — not overwriting."
|
||||
fi
|
||||
|
||||
echo "==> Enabling and starting service..."
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable "$BINARY_NAME"
|
||||
systemctl --user start "$BINARY_NAME"
|
||||
|
||||
echo ""
|
||||
echo "✅ Done! Service status:"
|
||||
systemctl --user status "$BINARY_NAME" --no-pager
|
||||
|
||||
echo ""
|
||||
echo "Test it: curl 'http://localhost:7654/health'"
|
||||
echo "Logs: journalctl --user -u $BINARY_NAME -f"
|
||||
Reference in New Issue
Block a user