feat: .env 기반 ADMIN_TOKEN 관리
- docker-compose가 .env 자동 로드 - .env는 gitignore (token 노출 방지) - .env.example 템플릿 추가 - README 절차 업데이트 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2
.env.example
Normal file
2
.env.example
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
ADMIN_TOKEN=강한-랜덤-토큰-여기-넣기
|
||||||
|
PORT=8501
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,4 +5,5 @@ venv/
|
|||||||
*.db
|
*.db
|
||||||
*.sqlite
|
*.sqlite
|
||||||
.env
|
.env
|
||||||
|
!.env.example
|
||||||
.streamlit/secrets.toml
|
.streamlit/secrets.toml
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -14,8 +14,12 @@
|
|||||||
# 1. 팀 배정 (호스트에서 1회, participants.json 생성)
|
# 1. 팀 배정 (호스트에서 1회, participants.json 생성)
|
||||||
python3 assign_teams.py
|
python3 assign_teams.py
|
||||||
|
|
||||||
# 2. 컨테이너 실행
|
# 2. .env 작성 (1회)
|
||||||
export ADMIN_TOKEN="강한-토큰-아무거나"
|
cp .env.example .env
|
||||||
|
# .env 파일을 열어 ADMIN_TOKEN을 강한 랜덤 토큰으로 변경
|
||||||
|
# 빠르게: python3 -c "import secrets; print(secrets.token_urlsafe(16))"
|
||||||
|
|
||||||
|
# 3. 컨테이너 실행
|
||||||
docker compose up -d --build
|
docker compose up -d --build
|
||||||
|
|
||||||
# 로그
|
# 로그
|
||||||
@@ -28,6 +32,8 @@ docker compose down
|
|||||||
docker compose down -v
|
docker compose down -v
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`.env`는 git ignore. token 노출 방지.
|
||||||
|
|
||||||
- 투표 DB는 docker volume `vote-data`에 영속 → 컨테이너 재시작해도 유지
|
- 투표 DB는 docker volume `vote-data`에 영속 → 컨테이너 재시작해도 유지
|
||||||
- `participants.json`은 호스트→컨테이너 read-only mount → 재배정 시 호스트에서 변경하고 컨테이너만 재시작
|
- `participants.json`은 호스트→컨테이너 read-only mount → 재배정 시 호스트에서 변경하고 컨테이너만 재시작
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user