accounts/docs/getting-started/installation.md

2.0 KiB
Raw Blame History

安装方式

本项目支持本地编译运行、Docker 容器运行,以及 Cloud Run 部署。以下步骤基于仓库现有脚本与配置。

一键初始化脚本支持按部署模式选择:

# 进程部署模式
curl -fsSL "https://raw.githubusercontent.com/cloud-neutral-toolkit/accounts.svc.plus/main/scripts/setup.sh?$(date +%s)" \
  | bash -s -- accounts.svc.plus --mode process

# Docker 部署模式
curl -fsSL "https://raw.githubusercontent.com/cloud-neutral-toolkit/accounts.svc.plus/main/scripts/setup.sh?$(date +%s)" \
  | bash -s -- accounts.svc.plus --mode docker

# Cloud Run 部署模式
curl -fsSL "https://raw.githubusercontent.com/cloud-neutral-toolkit/accounts.svc.plus/main/scripts/setup.sh?$(date +%s)" \
  | bash -s -- accounts.svc.plus --mode cloudrun

本地安装Go

前置条件:

  • Go 1.25.1(见 go.mod
  • PostgreSQL若使用 store.driver=postgres

编译与运行:

make build
./xcontrol-account --config config/account.yaml

或直接运行:

go run ./cmd/accountsvc/main.go --config config/account.yaml

Docker

仓库包含多阶段 Dockerfile运行时使用 entrypoint.sh 生成配置:

docker build -t accounts-svc-plus .

docker run --rm -p 8080:8080 \
  -e CONFIG_TEMPLATE=/app/config/account.yaml \
  -e CONFIG_PATH=/etc/xcontrol/account.yaml \
  accounts-svc-plus

说明:

  • entrypoint.sh 会将 CONFIG_TEMPLATE 通过 envsubst 渲染成 CONFIG_PATH
  • 若设置了 PORT 环境变量,脚本会自动修改 server.addr

Cloud Run

参考文件:

  • deploy/gcp/cloud-run/prod-service.yaml
  • deploy/gcp/cloud-run/preview-service.yaml
  • deploy/gcp/cloud-run/stunnel.conf
  • config/account.cloudrun.yaml

构建与部署脚本:

GCP_PROJECT=your-project make cloudrun-build
GCP_PROJECT=your-project make cloudrun-deploy

Cloud Run 部署模板已包含:

  • 主应用容器Account API
  • Stunnel Sidecar用于数据库安全隧道
  • SMTP Secret 环境变量注入示例