환경 변수 예시 정리

This commit is contained in:
2026-04-29 15:30:56 +09:00
parent 5ee6fcd54b
commit 237eb2990f
9 changed files with 55 additions and 18 deletions

View File

@@ -1,14 +1,14 @@
# Database
DATABASE_URL=postgres://sori_studio:change-this-password@sori-studio-db:5432/sori_studio
DATABASE_URL=postgres://sori_studio:replace-with-random-password@sori-studio-db:5432/sori_studio
DATABASE_NAME=sori_studio
POSTGRES_DB=sori_studio
POSTGRES_USER=sori_studio
POSTGRES_PASSWORD=change-this-password
POSTGRES_PASSWORD=replace-with-random-password
DB_PORT=43119
# Auth
ADMIN_EMAIL=
ADMIN_PASSWORD=
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=replace-with-random-password
# Upload
UPLOAD_DIR=/uploads

View File

@@ -1,5 +1,12 @@
# 업데이트 요약
## v0.0.6
- `.env.example`을 실제 비밀값이 없는 공유 템플릿으로 정리.
- 로컬 개발 전용 `.env.development`를 생성하고 개발 DB/관리자 비밀번호를 랜덤 값으로 분리.
- 개발/운영 환경 변수 파일 관리 기준을 문서화.
- 패키지 버전을 0.0.6으로 갱신.
## v0.0.5
- PostgreSQL 초기 스키마와 개발용 시드 데이터를 추가.

View File

@@ -32,8 +32,10 @@ cd sori.studio
npm install
# 개발 환경 변수 설정
# .env.development는 Git에 올리지 않는 로컬 전용 파일
# 새로 만들 때는 .env.example을 복사한 뒤 비밀번호를 랜덤 값으로 교체
cp .env.example .env.development
# .env.development 파일에 개발 DB 연결 정보 입력
openssl rand -hex 32
# 로컬 DB 컨테이너를 호스트에서 접근할 때는 127.0.0.1:43119 사용
# 개발 서버 실행 (127.0.0.1:43117)
@@ -70,8 +72,9 @@ git clone https://git.sori.studio/zenn/sori.studio.git
cd sori.studio
# 운영 환경 변수 설정
# .env.production은 Git에 올리지 않는 운영 전용 파일
cp .env.example .env.production
# .env.production 파일에 운영 DB 연결 정보 APP_PORT=43118 입력
# .env.production 파일에 운영 DB 연결 정보, 운영 전용 랜덤 비밀번호, APP_PORT=43118 입력
# Docker 내부 앱에서 PostgreSQL에 접근할 때는 sori-studio-db:5432 사용
# Docker 빌드 및 실행
@@ -105,6 +108,8 @@ docker run -d -p 3000:3000 sori.studio:latest
- NAS 운영: `.env.production``DATABASE_URL`
- 로컬 개발 예시: `postgres://sori_studio:비밀번호@127.0.0.1:43119/sori_studio`
- NAS Docker 예시: `postgres://sori_studio:비밀번호@sori-studio-db:5432/sori_studio`
- `.env.example`에는 실제 비밀번호나 개인 이메일을 기록하지 않음
- 개발/운영 DB 비밀번호와 관리자 비밀번호는 서로 다른 랜덤 값을 사용
- 개발 DB와 운영 DB는 반드시 별도 인스턴스 또는 별도 데이터베이스로 분리
- 운영 DB는 로컬 개발 서버에서 직접 연결하지 않음
- 관리 도구: CloudBeaver 등으로 추후 연결 가능하게 설계

View File

@@ -1,5 +1,15 @@
# 의사결정 이력
## 2026-04-29 v0.0.6
### 환경 변수 파일 보안 기준 정리
`.env.example`은 Git에 포함되는 공유 템플릿이므로 실제 개인 이메일, 관리자 비밀번호, DB 비밀번호를 기록하지 않는다. 공유 파일에는 placeholder만 두고, 실제 값은 Git에서 제외되는 `.env.development``.env.production`에서만 관리한다.
로컬 개발 환경은 `127.0.0.1:43119`로 개발 DB에 연결하고, NAS Docker 운영 환경은 `sori-studio-db:5432`로 운영 DB에 연결한다. 개발 DB와 운영 DB는 비밀번호도 분리해 한쪽 값이 노출되더라도 다른 환경으로 전파되지 않게 한다.
이미 원격 저장소에 올라간 비밀번호가 실제 사용 값이었다면 Git 이력에서 지워도 안전하다고 볼 수 없으므로, 해당 값은 폐기하고 새 랜덤 값으로 교체하는 것을 전제로 한다.
## 2026-04-29 v0.0.5
### PostgreSQL 기반 데이터 계층 결정

View File

@@ -6,7 +6,7 @@
- **유형**: 커스텀 블로그/CMS
- **목표**: 개인 블로그 중심 운영, 기존 포털성 링크와 서비스 진입점은 블로그 내부 구조에 통합
- **참조**: Ghost(관리자 UX/글쓰기), Thred 테마(사용자 화면)
- **현재 상태**: Nuxt 3 초기 스캐폴딩 완료
- **현재 상태**: Nuxt 3 초기 스캐폴딩과 PostgreSQL 저장소 계층 구성 완료
- **원격 저장소**: https://git.sori.studio/zenn/sori.studio.git
---
@@ -209,16 +209,16 @@ components/content/
```env
# Database
DATABASE_URL=postgres://sori_studio:change-this-password@sori-studio-db:5432/sori_studio
DATABASE_URL=postgres://sori_studio:replace-with-random-password@sori-studio-db:5432/sori_studio
DATABASE_NAME=sori_studio
POSTGRES_DB=sori_studio
POSTGRES_USER=sori_studio
POSTGRES_PASSWORD=change-this-password
POSTGRES_PASSWORD=replace-with-random-password
DB_PORT=43119
# Auth
ADMIN_EMAIL=
ADMIN_PASSWORD=
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=replace-with-random-password
# Upload
UPLOAD_DIR=/uploads
@@ -236,9 +236,14 @@ APP_PORT=43118
| 파일 | 용도 | DB |
|------|------|----|
| `.env.development` | 로컬 개발 | 개발 DB |
| `.env.production` | NAS 운영 | 운영 DB |
| `.env.example` | 공유 예시 | 실제 접속 정보 없음 |
| `.env.development` | 로컬 개발, Git 제외 | 개발 DB |
| `.env.production` | NAS 운영, Git 제외 | 운영 DB |
| `.env.example` | 공유 예시, Git 포함 | 실제 접속 정보 없음 |
- `.env.example`에는 실제 이메일, 비밀번호, 토큰, 운영 서버 주소를 기록하지 않음
- `.env.development``.env.production`의 DB 비밀번호와 관리자 비밀번호는 서로 다른 랜덤 값을 사용
- 로컬 개발 `DATABASE_URL`은 호스트 기준 `127.0.0.1:43119`를 사용
- NAS Docker 내부 `DATABASE_URL`은 서비스명 기준 `sori-studio-db:5432`를 사용
### 포트 기준
@@ -253,6 +258,6 @@ APP_PORT=43118
## 버전 관리
- 현재 버전: v0.0.5
- 현재 버전: v0.0.6
- 첫 커밋 이후 변경사항을 커밋할 때마다 패치 버전 증가
- 메이저/마이너 버전은 구조 변경 또는 기능 묶음 단위로 결정

View File

@@ -56,6 +56,7 @@
- [ ] NAS 운영 DB 연결 설정 실제 값 작성
- [ ] 개발 DB와 운영 DB 분리 검증 절차 작성
- [ ] CloudBeaver PostgreSQL 연결 방식 확정
- [ ] 이전에 원격에 올라간 관리자 비밀번호가 실제 사용 값이면 즉시 폐기 및 변경
## 배포

View File

@@ -1,5 +1,14 @@
# 업데이트 이력
## v0.0.6
- `.env.example`의 실제 계정/비밀번호 값을 예시 전용 placeholder로 교체.
- 로컬 개발 전용 `.env.development` 파일 생성.
- 개발 DB 비밀번호와 관리자 비밀번호를 랜덤 값으로 분리.
- 환경 변수 파일 관리 기준 문서 정리.
- 패키지 버전을 0.0.6으로 갱신.
- 이미 원격에 올라간 비밀번호 사용 여부 점검 항목 추가.
## v0.0.5
- PostgreSQL 초기 스키마 마이그레이션 추가.

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "sori.studio",
"version": "0.0.5",
"version": "0.0.6",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "sori.studio",
"version": "0.0.5",
"version": "0.0.6",
"hasInstallScript": true,
"dependencies": {
"@nuxtjs/tailwindcss": "^6.14.0",

View File

@@ -1,6 +1,6 @@
{
"name": "sori.studio",
"version": "0.0.5",
"version": "0.0.6",
"private": true,
"type": "module",
"scripts": {