Temps托管数据库指南:一键开通Postgres、Redis、MongoDB与S3并自动注入连接串

发布时间:2026/10/26 10:55:12
Temps托管数据库指南:一键开通Postgres、Redis、MongoDB与S3并自动注入连接串

【免费下载链接】temps

AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments, analytics, session replay, error tracking, OpenTelemetry, email, sandboxes & AI gateway in one self-hosted Rust binary.

项目地址:https://gitcode.com/gh_mirrors/temp/temps
点击查看免费下载

Temps 托管数据库(Managed Services)让你在自己的服务器上像用云数据库一样管理数据层:一条命令或几次点击,即可开通 PostgreSQL、Redis、MongoDB 和 S3 兼容存储,Temps 会自动生成密码、创建容器,并在部署时把连接串以环境变量形式注入你的项目——全程无需再注册任何第三方数据库服务商,也不用手工拼DATABASE_URL。

5种托管服务,覆盖主流数据场景

Temps 把数据库和存储都当作「服务」(Service)来管理,本质是运行在你服务器上的 Docker 容器,由 Temps 负责拉取镜像、健康检查、监控和备份。

服务默认镜像典型用途注入的环境变量
PostgreSQLgotempsh/postgres-walg:18-bookworm主数据库,支持 WAL-G 流式备份POSTGRES_URL、POSTGRES_HOST、POSTGRES_PASSWORD等
MariaDBmariadb:ltsMySQL 兼容关系型数据库DATABASE_URL、MYSQL_URL、MARIADB_URL等
Redisgotempsh/redis-walg:8-bookworm缓存、会话、Pub/Sub、队列REDIS_URL、REDIS_HOST、REDIS_DATABASE等
MongoDBgotempsh/mongodb-walg:8.0文档型数据库MONGODB_URL、MONGODB_HOST、MONGODB_PASSWORD等
S3 存储rustfs/rustfs:1.0.0(或garage)S3 兼容对象存储S3_BUCKET、S3_ENDPOINT、S3_ACCESS_KEY等

💡 一个实例可以同时运行多种服务;同一个 PostgreSQL 实例还能被多个项目共享,每个项目自动获得独立的数据库。

一键开通数据库:Dashboard 与 CLI 两种方式

方式一:Dashboard 点选(约 1 分钟)

  1. 在左侧边栏进入Services(服务)
  2. 点击Create Service,选择服务类型(PostgreSQL / MariaDB / Redis / MongoDB / S3)
  3. 输入服务名称(会成为 Docker 容器名的一部分,例如postgres-my-app-db)
  4. 按需调整端口、镜像、最大连接数等参数,点击Create

Temps 会自动拉取镜像、创建容器和持久化数据卷,并等待健康检查(如 PostgreSQL 的pg_isready)通过后状态变为Running,此时数据库即可用。

方式二:CLI 一行命令

偏好命令行的话,Temps CLI 提供完整的services命令组:

# 查看支持的服务类型及其参数 temps services types temps services types info postgres # 一键创建(密码自动生成) temps services create --type postgres --name my-db --yes temps services create --type redis --name my-cache --yes temps services create --type mongodb --name my-mongo --yes temps services create --type s3 --name my-storage --yes

用--set key=value可覆盖任意默认参数(如--set max_connections=200),适合写进 CI/CD 脚本。完整命令说明见 docs/reference/cli/page.mdx。

自动注入连接串:把服务「Link」到项目

创建服务后需要显式与项目建立关联(Link)。在项目中点击Databases → Link Service,或执行:

temps services list # 找到服务 ID temps services link --id 12 --project my-app temps services env --id 12 --project my-app # 预览将注入的变量(值已脱敏)

Link 之后,Temps 会在下次部署时自动完成三件事:

  1. 创建隔离的数据库— PostgreSQL/MariaDB 会为每个「项目 + 环境」组合自动创建{project}_{environment}命名的独立数据库(如my_app_production),Redis 分配独立数据库编号,S3 创建独立 Bucket,生产与测试数据天然互不干扰;
  2. 生成连接凭据— 连接串使用 Docker 内部容器名作为主机名,应用容器之间通过内网直连,端口仅绑定127.0.0.1,不暴露公网;
  3. 注入环境变量— 部署时自动写入POSTGRES_URL、REDIS_URL、MONGODB_URL、S3_ENDPOINT等变量,应用代码只需读取即可,无需硬编码任何地址或密码。

以 PostgreSQL 为例,完整注入的变量包括:

变量示例值
POSTGRES_URLpostgresql://postgres:***@postgres-my-db:5432/my_app_production
POSTGRES_HOSTpostgres-my-db
POSTGRES_PORT5432(容器内网端口)
POSTGRES_DBmy_app_production
POSTGRES_USER/POSTGRES_PASSWORDpostgres/ 自动生成的随机密码

⚠️ 小提示:如果你习惯DATABASE_URL,注意 Temps 对 PostgreSQL 注入的是POSTGRES_URL,把应用代码指向它即可;不要让 Temps 帮你做$POSTGRES_URL这类变量引用展开。

MongoDB 与 S3:同样零配置接入

  • MongoDB:Link 后自动注入MONGODB_URL等变量,驱动直接读process.env.MONGODB_URL即可连接,无需再配 Atlas。
  • S3 存储:每个环境获得独立 Access Key 与 Bucket(命名规则<项目>-<环境>-<桶名>),并注入S3_ENDPOINT、AWS_ACCESS_KEY_ID等标准变量,AWS SDK / boto3 只需把 endpoint 指向S3_ENDPOINT即可无缝使用;还支持通过 AWS SDK 生成预签名 URL 做临时授权。

两种存储引擎可选:RustFS(默认,功能全、带 Web 控制台)与Garage(轻量、适合单节点自托管)。

备份、监控与生命周期管理

托管不只是「帮你开」,还包含持续的运维能力:

  • 备份与恢复:在服务页面的Backups卡片配置 S3 备份目的地和定时计划,支持一键恢复到新服务或时间点;CLI 提供temps backups run-service等命令,详见 docs/features/backups/page.mdx
  • 监控:查看 CPU、内存、连接数、存储用量,PostgreSQL 还能用temps services slow-queries排查慢查询
  • 启停与升级:temps services stop / start --id 12可独立启停(数据不丢);temps services upgrade升级镜像版本,PostgreSQL 主版本升级前会自动先做全量备份
  • 数据浏览:Dashboard 内置查询器,直接看表结构和执行 SQL,调试数据问题不用装 pgAdmin

已有数据库?直接导入容器

服务器上已经跑着 PostgreSQL 或 Redis 容器?不必重建。在Services → Import Container中,Temps 会扫描本机匹配的 Docker 容器,你只需补填连接凭据,就能纳入统一管理与注入体系。相关说明见 docs/howto/set-up-managed-services/page.mdx。

安全默认值,让新手也放心

  • 数据库端口只绑定127.0.0.1,应用通过 Docker 内网以容器名互访,默认不暴露公网
  • 密码全部自动生成且加密存储,建议始终使用 Temps 注入的变量,不要手动写死
  • 本地连接调试可用 SSH 隧道:ssh -L 5432:localhost:PORT user@your-server
  • 删除服务前请先备份:删除会移除容器,数据是否保留取决于 Docker 卷配置

延伸阅读

  • 托管服务完整功能文档:docs/features/managed-services/page.mdx
  • 服务开通与参数详解:docs/howto/set-up-managed-services/page.mdx
  • 15 分钟带库部署实战(PostgreSQL + Redis 全流程):docs/tutorials/deploy-with-database/page.mdx
  • CLI 全部services命令参考:docs/reference/cli/page.mdx

从开通数据库到应用连上数据,整个过程不超过 5 分钟——而这只是 Temps 把 Vercel 部署、Sentry 错误追踪、PostHog 分析等能力合并进一个自托管 Rust 二进制的其中一面。🚀

【免费下载链接】temps

AI-native open-source alternative to Vercel + Sentry + PostHog + Pingdom + Resend + E2B. 440+ CLI operations with drop-in skills for Claude Code, Codex & OpenCode — deployments, analytics, session replay, error tracking, OpenTelemetry, email, sandboxes & AI gateway in one self-hosted Rust binary.

项目地址:https://gitcode.com/gh_mirrors/temp/temps
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考