From dcf7a31c09c14d5732580d308f5773f98dae088a Mon Sep 17 00:00:00 2001 From: skycurtain Date: Tue, 15 Sep 2026 00:03:46 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9C=AC=E5=9C=B0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=20PostgreSQL=EF=BC=88docker-compose=EF=BC=89=E4=B8=8E=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E6=A0=B7=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - docker-compose.yml:postgres:17-alpine,宿主端口 5433(避开常见 5432 占用),含 healthcheck - .env.example:DATABASE_URL 默认指向本地 compose;KEYS_MASTER_KEY 补生成提示 --- .env.example | 5 ++++- docker-compose.yml | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example index 4098463..28016f9 100644 --- a/.env.example +++ b/.env.example @@ -6,12 +6,15 @@ PORT=3000 # PostgreSQL 连接串 -DATABASE_URL=postgres://user:password@localhost:5432/new_api_key_usage +# 本地开发:与仓库根 docker-compose.yml 配套(宿主端口 5433) +# 生产:改为实例运营方提供的连接串 +DATABASE_URL=postgres://naku:naku-dev@localhost:5433/naku # 管理面口令(请求头 X-Manage-Token;见 API 契约 约定 6) MANAGE_TOKEN=change-me # 凭证主密钥(HKDF 派生 hmac / aes 子密钥;丢失 = 全部 key 需重新登记) +# 生成示例:openssl rand -base64 32 KEYS_MASTER_KEY=change-me-32-bytes-base64 # 上游 NewAPI 站点地址(同步引擎调用的 BaseURL,不带尾部斜杠) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e267037 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +# 本地开发用 PostgreSQL(仅开发;生产用实例运营方的 PG 实例) +# 起库:docker compose up -d 查看:docker compose logs -f db +services: + db: + image: postgres:17-alpine + container_name: naku-db + environment: + POSTGRES_USER: naku + POSTGRES_PASSWORD: naku-dev + POSTGRES_DB: naku + ports: + # 宿主端口用 5433,避开本机可能已有的 5432 + - '5433:5432' + volumes: + - naku-db-data:/var/lib/postgresql/data + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U naku -d naku'] + interval: 5s + timeout: 3s + retries: 10 + +volumes: + naku-db-data: