chore(docker): switch to node:22-bookworm-slim and add .env.example
- Dockerfile base now node:22-bookworm-slim (glibc) so better-sqlite3 uses prebuilt binaries and node-gyp/python build deps are no longer required. Also satisfies @discordjs/voice node>=22.12 engine req. - Drop redundant `mkdir -p dist` (build script handles it). - Add .env.example covering TOKEN, APPID, PREFIX, DBPATH, GUILDID, CHZZK_NID_AUT/SES, SIGNATURE_HOST, TTSPATH, DEV, DEBUG, REPLACETEXT. - README: update base image note.
This commit is contained in:
35
.env.example
Normal file
35
.env.example
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Discord 봇 토큰
|
||||||
|
TOKEN=
|
||||||
|
|
||||||
|
# Discord 애플리케이션 ID
|
||||||
|
APPID=
|
||||||
|
|
||||||
|
# 명령어 prefix (예: !)
|
||||||
|
PREFIX=!
|
||||||
|
|
||||||
|
# SQLite DB 파일 경로 (예: ./db/tts.db)
|
||||||
|
DBPATH=./db/tts.db
|
||||||
|
|
||||||
|
# 개발 길드 ID. DEV=true 일 때 슬래시 명령이 이 길드에만 등록되고,
|
||||||
|
# `npm run prod` 시 이 길드의 기존 명령은 먼저 wipe 된 뒤 전역 등록
|
||||||
|
GUILDID=
|
||||||
|
|
||||||
|
# 치지직(Chzzk) 인증 쿠키
|
||||||
|
CHZZK_NID_AUT=
|
||||||
|
CHZZK_NID_SES=
|
||||||
|
|
||||||
|
# 시그니처 서버 host:port (선택, 미설정 시 192.168.10.5:2967)
|
||||||
|
SIGNATURE_HOST=
|
||||||
|
|
||||||
|
# TTS 외부 경로 (선택, 현재 호출처 없음. 향후 사용 대비 환경변수만 받아둠)
|
||||||
|
TTSPATH=
|
||||||
|
|
||||||
|
# true 면 글로벌 대신 GUILDID 에만 슬래시 등록 (선택, 기본 false)
|
||||||
|
DEV=false
|
||||||
|
|
||||||
|
# true 면 명령어 오류 스택을 콘솔에 출력 (선택, 기본 false)
|
||||||
|
DEBUG=false
|
||||||
|
|
||||||
|
# 치환 사전(JSON 배열). 기본 사전(def_replaceObj)과 병합 (선택)
|
||||||
|
# 예: REPLACETEXT=[{"ㅋㅋ":"크크"}]
|
||||||
|
REPLACETEXT=[{}]
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
FROM node:20-alpine
|
FROM node:22-bookworm-slim
|
||||||
|
|
||||||
RUN apk add --no-cache ffmpeg
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y --no-install-recommends ffmpeg \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
@@ -10,8 +12,6 @@ RUN npm install
|
|||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN mkdir -p dist
|
|
||||||
|
|
||||||
RUN npm run build
|
RUN npm run build
|
||||||
|
|
||||||
CMD ["npm", "run", "start"]
|
CMD ["npm", "run", "start"]
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ docker build -t tts_bot .
|
|||||||
docker run --env-file .env -v $(pwd)/db:/app/db tts_bot
|
docker run --env-file .env -v $(pwd)/db:/app/db tts_bot
|
||||||
```
|
```
|
||||||
|
|
||||||
Dockerfile은 `node:20-alpine` 기반이며 `ffmpeg`을 설치한다.
|
Dockerfile은 `node:22-bookworm-slim` 기반이며 `ffmpeg`을 설치한다. (이전 `node:20-alpine` 은 musl 환경이라 `better-sqlite3` prebuilt 가 없어 node-gyp/python 빌드 의존성이 필요했고, `@discordjs/voice` 의 node>=22 요구도 충족하지 못해 변경했다.)
|
||||||
|
|
||||||
## 동작 흐름 요약
|
## 동작 흐름 요약
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user