diff --git a/.github/workflows/deploy-vps.yml b/.github/workflows/deploy-vps.yml new file mode 100644 index 0000000000..96fc0691f9 --- /dev/null +++ b/.github/workflows/deploy-vps.yml @@ -0,0 +1,44 @@ +name: Deploy to VPS + +on: + workflow_run: + workflows: ["Publish to Docker Hub"] + types: [completed] + workflow_dispatch: + +jobs: + deploy: + if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} + name: Deploy OmniRoute to VPS + runs-on: ubuntu-latest + steps: + - name: Install Tailscale + uses: tailscale/github-action@v3 + with: + oauth-client-id: "" + oauth-secret: "" + tags: tag:ci-deploy + continue-on-error: true + + - name: Deploy via SSH + uses: appleboy/ssh-action@v1 + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USER }} + key: ${{ secrets.VPS_SSH_KEY }} + port: 22 + timeout: 30s + script: | + echo "=== Updating OmniRoute ===" + npm install -g omniroute@latest 2>&1 + INSTALLED_VERSION=$(omniroute --version 2>/dev/null || echo "unknown") + echo "Installed version: $INSTALLED_VERSION" + + echo "=== Restarting PM2 ===" + pm2 restart omniroute || pm2 start omniroute --name omniroute -- --port 20128 + pm2 save + + echo "=== Health Check ===" + sleep 3 + curl -sf http://localhost:20128/api/settings > /dev/null && echo "✅ OmniRoute is healthy" || echo "❌ Health check failed" + echo "=== Deploy complete ===" diff --git a/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx b/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx index 329c6d0cbe..b908003849 100644 --- a/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx +++ b/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx @@ -5,7 +5,6 @@ import PropTypes from "prop-types"; import { Card, Button, Input, Modal, CardSkeleton } from "@/shared/components"; import { useCopyToClipboard } from "@/shared/hooks/useCopyToClipboard"; import { AI_PROVIDERS, getProviderByAlias } from "@/shared/constants/providers"; -import Link from "next/link"; const CLOUD_URL = process.env.NEXT_PUBLIC_CLOUD_URL; const CLOUD_ACTION_TIMEOUT_MS = 15000; @@ -395,24 +394,6 @@ export default function APIPageClient({ machineId }) { {copied === "endpoint_url" ? "Copied!" : "Copy"} - - {/* Link to API Manager */} -
-
- vpn_key -
-
-

API Key Management

-

- Create and manage API keys for authenticating requests -

-
- - - -
{/* Available Endpoints */}