# Supabase 部署信息汇总 ## 🌐 访问地址 ### HTTPS 域名访问(推荐用于 API) ``` API Base URL: https://amiap.hzau.edu.cn/supa ``` ### 内网访问(用于 Dashboard) ``` Dashboard: http://100.64.0.2:18000 API Base: http://100.64.0.2:18000 ``` --- ## 🔑 认证信息 ### Dashboard 登录 ``` URL: http://100.64.0.2:18000 用户名: lab-admin 密码: 017b7076cfb25bd18410d1e5f4f7ec5a ``` ### API Keys(用于前端/后端开发) ```javascript // ✅ 公开密钥 - 可以在前端使用 ANON_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzYzODAyNjY5LCJleHAiOjIwNzkxNjI2Njl9.ltGXvQKpguLaf8Vzomn310hLgOZbrjqZT-F3rR00ulg" // ⚠️ 私密密钥 - 仅后端使用,不要暴露 SERVICE_ROLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2VydmljZV9yb2xlIiwiaXNzIjoic3VwYWJhc2UiLCJpYXQiOjE3NjM4MDI2NjksImV4cCI6MjA3OTE2MjY2OX0.gQWUaTkZ6mjjlv2TED0cODp2meqqWuCGKZR1ptIbovg" ``` ### 数据库连接 ``` 主机: 100.64.0.2 或 db (容器内) 端口: 5432 数据库: postgres 用户: postgres 密码: a837234b952ad7aa9ab4852f47021660c038209a71fce027cec8bab37ad82ae5 ``` --- ## 📡 API 端点 ### ✅ 可用的服务端点 | 服务 | HTTPS 端点 | 内网端点 | 用途 | |------|-----------|----------|------| | REST API | `https://amiap.hzau.edu.cn/supa/rest/v1/` | `http://100.64.0.2:18000/rest/v1/` | 数据库 CRUD 操作 | | Auth API | `https://amiap.hzau.edu.cn/supa/auth/v1/` | `http://100.64.0.2:18000/auth/v1/` | 用户认证 | | Storage API | `https://amiap.hzau.edu.cn/supa/storage/v1/` | `http://100.64.0.2:18000/storage/v1/` | 文件存储 | | Realtime | `wss://amiap.hzau.edu.cn/supa/realtime/v1/websocket` | `ws://100.64.0.2:18000/realtime/v1/websocket` | 实时订阅 | | Dashboard | ❌ 不可用 | `http://100.64.0.2:18000/` | 管理界面 | --- ## 🐳 Docker 服务状态 ### 核心服务 ```bash # 查看所有服务状态 docker compose ps # 核心服务列表 supabase-db # PostgreSQL 数据库 supabase-kong # API 网关(端口: 18000) supabase-auth # 用户认证服务 supabase-rest # REST API 服务 supabase-storage # 文件存储服务 supabase-realtime # 实时订阅服务 supabase-studio # Dashboard supabase-meta # 数据库元数据 supabase-analytics # 日志分析 ``` ### 常用命令 ```bash # 进入 supabase-stack 目录 cd /vol1/1000/docker_server/traefik/supabase-stack # 启动所有服务 docker compose up -d # 停止所有服务 docker compose down # 查看服务日志 docker compose logs -f kong docker compose logs -f rest docker compose logs -f auth # 重启特定服务 docker compose restart kong docker compose restart rest ``` --- ## 🔧 配置文件 ### 重要文件位置 ``` /vol1/1000/docker_server/traefik/supabase-stack/ ├── .env # 环境变量配置 ├── docker-compose.yml # Docker Compose 配置 ├── VUE_API_INTEGRATION.md # Vue 集成文档(已创建) ├── DEPLOYMENT_INFO.md # 本文件 ├── volumes/ │ ├── api/kong.yml # Kong 网关配置 │ ├── db/ # 数据库数据目录 │ └── storage/ # 文件存储目录 ``` ### .env 关键配置 ```bash # 数据库 POSTGRES_PASSWORD=a837234b952ad7aa9ab4852f47021660c038209a71fce027cec8bab37ad82ae5 POSTGRES_HOST=db POSTGRES_PORT=5432 # JWT JWT_SECRET=7a264228051ad10724934342ce62dce584161c248841061de0d0a56e92d9bb1a # API Keys ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Dashboard DASHBOARD_USERNAME=lab-admin DASHBOARD_PASSWORD=017b7076cfb25bd18410d1e5f4f7ec5a # 域名配置 SITE_URL=https://amiap.hzau.edu.cn API_EXTERNAL_URL=https://amiap.hzau.edu.cn/supa SUPABASE_PUBLIC_URL=https://amiap.hzau.edu.cn/supa ``` --- ## 🚀 快速开始(前端集成) ### 1. 安装依赖 ```bash npm install @supabase/supabase-js ``` ### 2. 创建 Supabase 客户端 ```javascript // src/lib/supabaseClient.js import { createClient } from '@supabase/supabase-js' const supabaseUrl = 'https://amiap.hzau.edu.cn/supa' const supabaseAnonKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlIiwiaWF0IjoxNzYzODAyNjY5LCJleHAiOjIwNzkxNjI2Njl9.ltGXvQKpguLaf8Vzomn310hLgOZbrjqZT-F3rR00ulg' export const supabase = createClient(supabaseUrl, supabaseAnonKey) ``` ### 3. 使用示例 ```javascript // 查询数据 const { data, error } = await supabase .from('users') .select('*') // 插入数据 const { data, error } = await supabase .from('users') .insert([{ name: 'John', email: 'john@example.com' }]) // 用户登录 const { data, error } = await supabase.auth.signInWithPassword({ email: 'user@example.com', password: 'password' }) ``` --- ## 🔍 测试 API ### 快速测试脚本 ```bash cd /vol1/1000/docker_server/traefik/supabase-stack # 测试 REST API curl -H "apikey: ANON_KEY" \ -H "Authorization: Bearer ANON_KEY" \ https://amiap.hzau.edu.cn/supa/rest/v1/ # 测试 Auth API curl https://amiap.hzau.edu.cn/supa/auth/v1/health # 测试 Storage API curl https://amiap.hzau.edu.cn/supa/storage/v1/version ``` ### 在浏览器中测试 ``` 1. 访问 Dashboard: http://100.64.0.2:18000 2. 使用用户名/密码登录 3. 创建测试表 4. 在 Vue 应用中调用 API ``` --- ## ⚠️ 已知问题 ### 1. Dashboard 子路径问题 - **问题**: `https://amiap.hzau.edu.cn/supa` 无法访问 Dashboard - **原因**: Supabase Studio 是 SPA,不支持子路径部署 - **解决**: 使用内网地址 `http://100.64.0.2:18000` ### 2. Pooler 服务重启 - **问题**: `supabase-pooler` 一直重启 - **影响**: 无影响,这是连接池优化组件,非必需 - **解决**: 可忽略或停止该服务 `docker stop supabase-pooler` ### 3. REST API 缓存重试 - **问题**: 首次访问可能看到 "schema cache retrying" - **原因**: PostgreSQL schema 缓存加载 - **解决**: 等待几秒自动恢复,或重启 `docker compose restart rest` --- ## 📚 开发文档 | 文档 | 位置 | 说明 | |------|------|------| | Vue 集成指南 | `VUE_API_INTEGRATION.md` | 详细的前端集成教程 | | 部署信息 | `DEPLOYMENT_INFO.md` | 本文件 | | 官方文档 | https://supabase.com/docs | Supabase 官方文档 | --- ## 🛠️ 故障排查 ### 服务无法启动 ```bash # 查看日志 docker compose logs kong docker compose logs rest # 重启服务 docker compose restart # 完全重建 docker compose down docker compose up -d ``` ### API 无法访问 ```bash # 检查 Kong 状态 docker compose ps kong # 检查端口 netstat -tlnp | grep 18000 # 测试内网连接 curl http://100.64.0.2:18000/rest/v1/ ``` ### 数据库连接问题 ```bash # 进入数据库容器 docker exec -it supabase-db psql -U postgres # 查看数据库 \l # 查看 schema \dn ``` --- ## 📞 支持 如有问题,请检查: 1. 所有容器是否正常运行: `docker compose ps` 2. 查看服务日志: `docker compose logs [service]` 3. 参考 `VUE_API_INTEGRATION.md` 了解详细用法 4. 访问 Dashboard 管理数据库: `http://100.64.0.2:18000` --- **最后更新**: 2025-11-22 **版本**: Supabase Self-Hosted Stack