#!/bin/bash # DevMonk Connect Installer # curl -fsSL https://get.devops-monk.com | bash set -euo pipefail GREEN="\033[0;32m"; YELLOW="\033[1;33m"; RED="\033[0;31m"; NC="\033[0m" info() { echo -e "${GREEN}[DevMonk]${NC} $*"; } warn() { echo -e "${YELLOW}[DevMonk]${NC} $*"; } error() { echo -e "${RED}[DevMonk]${NC} $*" >&2; exit 1; } BASE="https://get.devops-monk.com" OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m) case "$ARCH" in x86_64) ARCH="amd64" ;; aarch64|arm64) ARCH="arm64" ;; armv7l) ARCH="armv7" ;; *) error "Unsupported architecture: $ARCH" ;; esac info "Platform: ${OS}/${ARCH}" URL="${BASE}/devmonk-agent-${OS}-${ARCH}" info "Downloading DevMonk Connect v0.7.0..." curl -fsSL "$URL" -o /tmp/devmonk-agent || error "Download failed — binary not available for ${OS}/${ARCH} yet" chmod +x /tmp/devmonk-agent # Install binary sudo mv /tmp/devmonk-agent /usr/local/bin/devmonk-agent # Linux: install as systemd service if [ "$OS" = "linux" ] && command -v systemctl &>/dev/null; then sudo mkdir -p /var/lib/devmonk-agent # Write config if it doesn't exist if [ ! -f /etc/devmonk-agent.yaml ]; then sudo tee /etc/devmonk-agent.yaml > /dev/null << 'CONFIG' agent: listen_addr: "0.0.0.0:7474" data_dir: "/var/lib/devmonk-agent" log_level: "info" ddns: enabled: false CONFIG fi sudo tee /etc/systemd/system/devmonk-agent.service > /dev/null << 'SERVICE' [Unit] Description=DevMonk Connect Agent After=network.target Wants=network.target [Service] Type=simple ExecStart=/usr/local/bin/devmonk-agent --config /etc/devmonk-agent.yaml Restart=on-failure RestartSec=5 User=root WorkingDirectory=/var/lib/devmonk-agent StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target SERVICE sudo systemctl daemon-reload sudo systemctl enable devmonk-agent sudo systemctl restart devmonk-agent sleep 2 if systemctl is-active --quiet devmonk-agent; then info "DevMonk Connect is running!" info "Open http://$(hostname -I | awk '{print $1}'):7474 to set up your account" else warn "Service may not have started — check: journalctl -u devmonk-agent -f" fi else info "DevMonk Connect installed to /usr/local/bin/devmonk-agent" info "Run: devmonk-agent" info "Then open http://localhost:7474" fi