diff --git a/ct/agentgateway.sh b/ct/agentgateway.sh new file mode 100644 index 0000000000..e4c1ec5ebf --- /dev/null +++ b/ct/agentgateway.sh @@ -0,0 +1,68 @@ +#!/usr/bin/env bash +_CS_DEFAULT_URL="https://raw.githubusercontent.com/community-scripts/DevScripts/main" +_cs_boot="${COMMUNITY_SCRIPTS_CORE_DIR:-$(dirname "${BASH_SOURCE[0]}")/../../core}/core/build.func" +source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_URL:-https://raw.githubusercontent.com/community-scripts/core/main}/core/build.func") + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: andy-vdg +# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE +# Source: https://agentgateway.dev/ + +APP="agentgateway" +var_tags="${var_tags:-ai;proxy;mcp}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-2}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_arm64="${var_arm64:-yes}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -f /etc/agentgateway/config.yaml ]]; then + msg_error "No agentgateway Installation Found!" + exit + fi + + if check_for_gh_release "agentgateway" "agentgateway/agentgateway"; then + msg_info "Stopping Service" + systemctl stop agentgateway + msg_ok "Stopped Service" + + create_backup /etc/agentgateway /opt/agentgateway_data + + fetch_and_deploy_gh_release "agentgateway" "agentgateway/agentgateway" "singlefile" "latest" "/opt/agentgateway" "agentgateway-linux-$(arch_resolve "amd64" "arm64")" + + restore_backup + + msg_info "Verifying agentgateway Checksum" + AGW_SUM=$(curl -fsSL "https://github.com/agentgateway/agentgateway/releases/download/v$(cat ~/.agentgateway)/agentgateway-linux-$(arch_resolve "amd64" "arm64").sha256" | awk '{print $1}') || AGW_SUM="" + echo "${AGW_SUM} /opt/agentgateway/agentgateway" | sha256sum -c --status || { rm -f /opt/agentgateway/agentgateway ~/.agentgateway; msg_error "agentgateway checksum missing or wrong - removed the downloaded binary"; exit 1; } + chmod +x /opt/agentgateway/agentgateway + msg_ok "Verified agentgateway Checksum" + + msg_info "Starting Service" + systemctl start agentgateway + msg_ok "Started Service" + msg_ok "Updated successfully!" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW}Access it using the following URL:${CL}" +echo -e "${GATEWAY}${BGN}http://${IP}:4000/ui${CL}" diff --git a/install/agentgateway-install.sh b/install/agentgateway-install.sh new file mode 100644 index 0000000000..71da7909d3 --- /dev/null +++ b/install/agentgateway-install.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: andy-vdg +# License: MIT | https://github.com/community-scripts/DevScripts/raw/main/LICENSE +# Source: https://agentgateway.dev/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +fetch_and_deploy_gh_release "agentgateway" "agentgateway/agentgateway" "singlefile" "latest" "/opt/agentgateway" "agentgateway-linux-$(arch_resolve "amd64" "arm64")" + +msg_info "Verifying agentgateway Checksum" +AGW_SUM=$(curl -fsSL "https://github.com/agentgateway/agentgateway/releases/download/v$(cat ~/.agentgateway)/agentgateway-linux-$(arch_resolve "amd64" "arm64").sha256" | awk '{print $1}') || AGW_SUM="" +echo "${AGW_SUM} /opt/agentgateway/agentgateway" | sha256sum -c --status || { rm -f /opt/agentgateway/agentgateway ~/.agentgateway; msg_error "agentgateway checksum missing or wrong - removed the downloaded binary"; exit 1; } +chmod +x /opt/agentgateway/agentgateway +msg_ok "Verified agentgateway Checksum" + +msg_info "Configuring agentgateway" +mkdir -p /etc/agentgateway /opt/agentgateway_data +cat </etc/agentgateway/config.yaml +# yaml-language-server: \$schema=https://agentgateway.dev/schema/config +# The config agentgateway bootstraps on first run: traffic and the UI on port 4000, +# state in SQLite. The UI has no login until you add policies: +# https://agentgateway.dev/docs/standalone/latest/documentation/setup/ui/secure-ui/ +config: + database: + url: sqlite:///opt/agentgateway_data/data.db +gateways: + default: + port: 4000 +ui: + gateways: default +EOF +chmod 600 /etc/agentgateway/config.yaml +msg_ok "Configured agentgateway" + +msg_info "Creating Service" +cat </etc/systemd/system/agentgateway.service +[Unit] +Description=agentgateway +After=network-online.target +Wants=network-online.target + +[Service] +Type=simple +User=root +ExecStart=/opt/agentgateway/agentgateway -f /etc/agentgateway/config.yaml +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now agentgateway +msg_ok "Created Service" + +motd_ssh +customize +cleanup_lxc diff --git a/json/agentgateway.json b/json/agentgateway.json new file mode 100644 index 0000000000..5d5dd44959 --- /dev/null +++ b/json/agentgateway.json @@ -0,0 +1,54 @@ +{ + "name": "agentgateway", + "slug": "agentgateway", + "categories": [ + 20, + 21 + ], + "date_created": "2026-10-23", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 4000, + "documentation": "https://agentgateway.dev/docs/", + "website": "https://agentgateway.dev/", + "repository": "https://github.com/agentgateway/agentgateway", + "architectures": [ + "amd64", + "arm64" + ], + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/agentgateway.webp", + "description": "agentgateway is an open-source proxy for AI agents, from the Linux Foundation. It sits in front of MCP servers, LLM providers and HTTP APIs, and adds authentication, authorization, rate limits and observability, so agents can reach tools without holding the upstream credentials.", + "install_methods": [ + { + "type": "default", + "script": "ct/agentgateway.sh", + "config_path": "/etc/agentgateway/config.yaml", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Open http://:4000/ui and the Welcome to Agentgateway wizard guides the first setup.", + "type": "info" + }, + { + "text": "The UI and gateway on port 4000 have no login until you add policies (ui.policies: basicAuth, OIDC, JWT). See https://agentgateway.dev/docs/standalone/latest/documentation/setup/ui/secure-ui/", + "type": "warning" + }, + { + "text": "Config: /etc/agentgateway/config.yaml, data: /opt/agentgateway_data. The admin interface stays on 127.0.0.1:15000, as upstream ships it.", + "type": "info" + } + ] +}