Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
66 lines (60 loc) · 3.53 KB
/
Copy path.env.example
File metadata and controls
66 lines (60 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# 复制该文件为 .env,然后填写真实值再启动 docker compose
#
# cp .env.example .env
# # 编辑 .env,替换下面的占位符(至少填 JWT_SECRET / POSTGRES_PASSWORD / RABBITMQ_PASSWORD)
# docker compose -f deploy/docker-compose.prod.yml -p blog pull # 拉取 CI 构建的镜像
# docker compose -f deploy/docker-compose.prod.yml -p blog up -d --wait
#
# 也可以这样生成强密钥:
# openssl rand -base64 48 # 用于 JWT_SECRET
# openssl rand -base64 24 # 用于 *_PASSWORD
# ======================================================================
# 【必填】JWT 签名密钥
# ----------------------------------------------------------------------
# 至少 32 个字符,推荐使用随机字符串(示例生成命令:openssl rand -base64 48)
# 切勿在公共仓库中提交真实密钥
# ======================================================================
JWT_SECRET=change-me-at-least-32-chars-random-xxxxxxxxxxxx
# ======================================================================
# 【可选】是否在后端服务启动时执行 AutoMigrate
# ----------------------------------------------------------------------
# true — 方便首次本地启动(默认)
# false — 生产/多副本环境,改为通过 deploy workflow 里的 `migrate` step 手动迁移
# ======================================================================
AUTO_MIGRATE_ON_STARTUP=false
# ======================================================================
# 【必填】PostgreSQL(docker-compose.prod.yml 用 :? 强校验)
# ----------------------------------------------------------------------
# 部署前必须填:POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DB
# ======================================================================
POSTGRES_USER=blog
POSTGRES_PASSWORD=change-me-to-strong-password
POSTGRES_DB=blog
# ======================================================================
# 【必填】RabbitMQ(强烈建议填,否则会用空密码,警告日志刷屏)
# ======================================================================
RABBITMQ_USER=blog
RABBITMQ_PASSWORD=change-me-to-strong-password
# ======================================================================
# 【仅 seed 使用】首次部署创建管理员账号
# ----------------------------------------------------------------------
# 仅在执行 `go run ./cmd/seed` 时读取
# 密码至少 8 位
# ----------------------------------------------------------------------
# 生产部署流水线每次都会调用 seed,但默认只在账号不存在时创建;
# 已存在时不会修改密码 / 不会让已登录用户失效。
# 忘记管理员密码时,临时设为 true 重新部署(或手动执行 seed)即可重置:
# ======================================================================
SEED_ADMIN_EMAIL=admin@example.com
SEED_ADMIN_PASSWORD=change-me-min-8-chars
SEED_ADMIN_RESET_PASSWORD=false
# ======================================================================
# 【生产镜像】CI 构建并推送到 GHCR 的镜像前缀(生产 compose 使用)
# ----------------------------------------------------------------------
# 例如 GitHub 用户名为 octocat:
# IMAGE_PREFIX=ghcr.io/octocat/moon
# 实际镜像为 ${IMAGE_PREFIX}-backend:${IMAGE_TAG} 和 -frontend:${IMAGE_TAG}。
# IMAGE_TAG 由 deploy workflow 自动注入;手动部署时可填 commit sha 或 latest。
# ======================================================================
IMAGE_PREFIX=ghcr.io/your-github-owner/moon
IMAGE_TAG=latest