Skip to content

Commit cae8a0c

Browse files
yuchem2claude
andcommitted
chore(deploy): .env.prod.template 제거 (deploy 가 .env 를 생성하므로 불필요)
운영 .env 는 deploy 워크플로가 GitHub Secrets/Variables 로 매 배포 시 생성한다. "template 복사 후 수동 입력" 흐름이 없어졌으므로 .env.prod.template 은 drift·오해만 유발 → 제거. ec2-bootstrap 은 docker 설치 + clone 까지만, compose 주석도 갱신. (env 스키마의 단일 진실원 = deploy.yml 의 .env 생성부.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent de97961 commit cae8a0c

3 files changed

Lines changed: 12 additions & 51 deletions

File tree

‎.env.prod.template‎

Lines changed: 0 additions & 35 deletions
This file was deleted.

‎docker-compose.prod.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# backend(5000)·ai-worker(8000)·redis(6379)는 ports 를 발행하지 않아 docker 내부망에서만
55
# 접근된다. Caddy 가 backend:5000 으로 reverse_proxy(HTTP+WS)하며 TLS 를 종단한다.
66
#
7-
# 변수(${...})는 같은 디렉터리의 .env 에서 읽는다(.env.prod.template 참조).
7+
# 변수(${...})는 같은 디렉터리의 .env 에서 읽는다(deploy 워크플로가 GitHub Secrets/Variables 로 생성).
88
services:
99
caddy:
1010
image: caddy:2-alpine

‎infra/ec2-bootstrap.sh‎

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
#!/usr/bin/env bash
2-
# Convene 단일 EC2 부트스트랩 — docker/compose 설치 + repo 클론 + .env 준비.
2+
# Convene 단일 EC2 부트스트랩 — docker/compose 설치 + repo 클론까지만.
33
# Ubuntu 22.04/24.04 기준 (Amazon Linux 2023 은 아래 주석의 dnf 명령으로 대체).
44
#
5+
# .env·이미지 pull·재기동·GHCR 로그인은 모두 GitHub Actions(Deploy)가 SSH 로 수행한다.
6+
# 특히 .env 는 GitHub Secrets/Variables 로 매 배포 시 생성되므로 EC2 에 수동 .env 가 필요 없다.
7+
#
58
# 사용:
69
# 1) EC2 에 SSH 접속.
710
# 2) 스크립트 실행: REPO_URL=https://github.com/Beyond-Imagination/convene.git bash ec2-bootstrap.sh
8-
# 3) /opt/convene/.env 를 .env.prod.template 기준으로 채운다.
9-
# 4) 배포는 GitHub Actions(deploy-backend) 가 SSH 로 수행 — GHCR 로그인은 워크플로가
10-
# GITHUB_TOKEN 으로 처리하므로 EC2 에 PAT 보관 불필요. (수동 pull 시에만 docker login 필요)
11+
# 3) GitHub Secrets/Variables 등록 + DEPLOY_ENABLED=true → Deploy 워크플로 실행.
1112
set -euo pipefail
1213

1314
REPO_URL="${REPO_URL:-https://github.com/Beyond-Imagination/convene.git}"
@@ -35,18 +36,13 @@ else
3536
git -C "$APP_DIR" pull --ff-only
3637
fi
3738

38-
echo "==> .env 준비"
39-
if [ ! -f "$APP_DIR/.env" ]; then
40-
cp "$APP_DIR/.env.prod.template" "$APP_DIR/.env"
41-
echo " => $APP_DIR/.env 를 편집해 값을 채우세요(DOMAIN/ANNOUNCED_IP/CORS_ORIGIN/GEMINI/MONGO)."
42-
fi
43-
4439
cat <<'NEXT'
4540
46-
==> 부트스트랩 완료. 남은 단계:
47-
1) /opt/convene/.env 값 채우기 (DOMAIN/ANNOUNCED_IP/CORS_ORIGIN/GEMINI/MONGO)
48-
2) GitHub 에 EC2 시크릿(EC2_HOST/EC2_USER/EC2_SSH_KEY) + 변수 DEPLOY_ENABLED=true 등록
49-
3) deploy-backend 워크플로 실행 → 자동 빌드·배포 (GHCR 로그인은 워크플로가 처리)
50-
4) 보안그룹: 443/tcp, 40000-40199/udp, 40000-40199/tcp, 22/tcp(admin) 오픈.
41+
==> 부트스트랩 완료(docker + repo clone). 남은 단계는 모두 GitHub 쪽:
42+
1) Secrets: EC2_HOST / EC2_USER / EC2_SSH_KEY / GEMINI_API_KEY / MONGO_URI
43+
Variables: DOMAIN / CORS_ORIGIN / RTC_MIN_PORT / RTC_MAX_PORT / MONGO_DB_NAME
44+
(선택) GEMINI_MODEL / MEDIASOUP_WORKER_NUM / STT_MODEL_SIZE / DEPLOY_ENABLED=true
45+
2) Deploy 워크플로 실행 → .env 생성 + 빌드·배포 (GHCR 로그인·ANNOUNCED_IP 자동)
46+
3) 보안그룹: 443/tcp, 40000-40199/udp, 40000-40199/tcp, 22/tcp(admin) 오픈.
5147
5000/8000/6379 는 열지 말 것(내부망 전용).
5248
NEXT

0 commit comments

Comments
 (0)