@@ -12,30 +12,89 @@ NodePass WebUI 采用**整合架构**设计:
1212
1313## 🚀 快速开始
1414
15+ > ⚠️ ** 重要提醒:系统初始化**
16+ >
17+ > 首次部署时,系统会自动初始化并创建管理员账户。部署完成后,请立即执行以下命令查看初始登录信息:
18+ > ``` bash
19+ > # 如果使用 Docker Plugin
20+ > docker compose logs | grep -A 6 " 系统初始化完成"
21+ > # 或使用独立安装的 docker-compose
22+ > docker-compose logs | grep -A 6 " 系统初始化完成"
23+ > # 如果使用 Docker 命令
24+ > docker logs nodepass-app | grep -A 6 " 系统初始化完成"
25+ >
26+ > # 你将看到如下信息:
27+ > ================================
28+ > 🚀 NodePass 系统初始化完成!
29+ > ================================
30+ > 管理员账户信息:
31+ > 用户名: nodepass
32+ > 密码: SHqgYw7eX95w
33+ > ================================
34+ > ⚠️ 请妥善保存这些信息!
35+ > ================================
36+ > ` ` `
37+ >
38+ > ** ⚠️ 安全提示:**
39+ > - 请在首次登录后立即修改管理员密码
40+ > - 初始密码仅会显示一次,请务必及时保存
41+ > - 如果错过初始密码,需要重置数据库并重新部署
42+
1543# ## 方式一:使用预构建镜像(推荐)
1644
1745` ` ` bash
18- # 1. 下载 Docker Compose 文件
19- wget https://raw.githubusercontent.com/Mecozea/nodepass-webui/main/docker-compose.release.yml
46+ # 1. 下载 Docker Compose 文件并重命名
47+ wget https://raw.githubusercontent.com/Mecozea/nodepass-webui/main/docker-compose.release.yml -O docker-compose.yml
2048
2149# 2. 创建环境变量文件
2250cat > .env << EOF
2351POSTGRES_USER=nodepass
2452POSTGRES_PASSWORD=your_secure_password
2553POSTGRES_DB=nodepass
54+ # 可以使用以下命令生成 JWT_SECRET:
55+ # openssl rand -base64 32
56+ # 或访问 https://generate-secret.vercel.app/32 生成
2657JWT_SECRET=your_super_secret_jwt_key
2758NODE_ENV=production
2859NEXT_PUBLIC_API_BASE_URL=http://localhost:3000 # 云端部署时改为实际域名
2960EOF
3061
31- # 3. 启动服务
32- docker-compose -f docker-compose.release.yml up -d
62+ # 3. 创建日志目录并设置权限
63+ mkdir -p logs && chmod 777 logs
3364
34- # 4. 访问应用
35- # http://localhost:3000
65+ # 4. 启动服务
66+ docker compose up -d # 如果使用 Docker Plugin
67+ # 或
68+ docker-compose up -d # 如果使用独立安装的 docker-compose
3669```
3770
38- ### 方式二:本地构建
71+ ### 方式二:使用 Docker 命令启动(需要自备 PostgreSQL)
72+
73+ > ⚠️ 注意:此方式需要您已经有一个可用的 PostgreSQL 数据库实例
74+
75+ ``` bash
76+ # 1. 拉取镜像
77+ docker pull ghcr.io/mecozea/nodepass-webui:latest
78+
79+ # 2. 创建日志目录并设置权限
80+ mkdir -p logs && chmod 777 logs
81+
82+ # 3. 启动容器
83+ docker run -d \
84+ --name nodepass-webui \
85+ -p 3000:3000 \
86+ -v ./logs:/app/logs \
87+ -e POSTGRES_USER=nodepass \
88+ -e POSTGRES_PASSWORD=your_secure_password \
89+ -e POSTGRES_DB=nodepass \
90+ -e JWT_SECRET=your_super_secret_jwt_key \
91+ -e DATABASE_URL=" postgresql://nodepass:your_secure_password@your_db_host:5432/nodepass" \
92+ -e NODE_ENV=production \
93+ -e NEXT_PUBLIC_API_BASE_URL=http://localhost:3000 \
94+ ghcr.io/mecozea/nodepass-webui:latest
95+ ```
96+
97+ ### 方式三:本地构建
3998
4099``` bash
41100# 1. 克隆项目
@@ -54,6 +113,8 @@ pnpm docker:logs
54113
55114## 📋 可用脚本
56115
116+ > ⚠️ 注意:如果您使用的是 Docker Plugin 方式,请将以下命令中的 ` docker-compose ` 替换为 ` docker compose `
117+
57118``` bash
58119pnpm docker:up:integrated # 启动整合模式 (后台)
59120pnpm docker:up # 启动整合模式 (后台)
@@ -121,7 +182,7 @@ NEXT_PUBLIC_API_BASE_URL=http://localhost:3000
121182docker pull ghcr.io/mecozea/nodepass-webui:latest
122183
123184# 特定版本
124- docker pull ghcr.io/mecozea/nodepass-webui:v1.0.0
185+ docker pull ghcr.io/mecozea/nodepass-webui:v1.1.1
125186```
126187
127188## 🐛 故障排除
@@ -193,8 +254,8 @@ docker-compose logs -f postgres
193254### 使用预构建镜像(推荐)
194255
195256``` bash
196- # 1. 下载生产配置
197- wget https://raw.githubusercontent.com/Mecozea/nodepass-webui/main/docker-compose.release.yml
257+ # 1. 下载生产配置并重命名
258+ wget https://raw.githubusercontent.com/Mecozea/nodepass-webui/main/docker-compose.release.yml -O docker-compose.yml
198259
199260# 2. 设置生产环境变量
200261cat > .env << EOF
@@ -206,8 +267,13 @@ NODE_ENV=production
206267NEXT_PUBLIC_API_BASE_URL=http://localhost:3000
207268EOF
208269
209- # 3. 启动生产服务
210- docker-compose -f docker-compose.release.yml up -d
270+ # 3. 创建日志目录并设置权限
271+ mkdir -p logs && chmod 777 logs
272+
273+ # 4. 启动生产服务
274+ docker compose up -d # 如果使用 Docker Plugin
275+ # 或
276+ docker-compose up -d # 如果使用独立安装的 docker-compose
211277```
212278
213279### 自定义构建
@@ -216,10 +282,14 @@ docker-compose -f docker-compose.release.yml up -d
216282# 构建生产镜像
217283docker build --target production -t nodepass-webui:latest .
218284
285+ # 创建日志目录并设置权限
286+ mkdir -p logs && chmod 777 logs
287+
219288# 运行生产容器
220289docker run -d \
221290 --name nodepass-production \
222291 -p 3000:3000 \
292+ -v ./logs:/app/logs \
223293 -e DATABASE_URL=" your-production-db-url" \
224294 -e JWT_SECRET=" your-production-jwt-secret" \
225295 -e NODE_ENV=production \
@@ -292,20 +362,28 @@ docker-compose exec -T postgres psql -U nodepass nodepass < backup.sql
292362
293363``` bash
294364# 拉取最新镜像
295- docker-compose -f docker-compose.release.yml pull
365+ docker compose pull # 如果使用 Docker Plugin
366+ # 或
367+ docker-compose pull # 如果使用独立安装的 docker-compose
296368
297369# 重启服务
298- docker-compose -f docker-compose.release.yml up -d
370+ docker compose up -d # 如果使用 Docker Plugin
371+ # 或
372+ docker-compose up -d # 如果使用独立安装的 docker-compose
299373```
300374
301375### 清理
302376
303377``` bash
304378# 停止并删除容器
305- docker-compose down
379+ docker compose down # 如果使用 Docker Plugin
380+ # 或
381+ docker-compose down # 如果使用独立安装的 docker-compose
306382
307383# 删除数据卷 (⚠️ 注意:会丢失所有数据)
308- docker-compose down -v
384+ docker compose down -v # 如果使用 Docker Plugin
385+ # 或
386+ docker-compose down -v # 如果使用独立安装的 docker-compose
309387
310388# 清理未使用的镜像
311389docker image prune -a
0 commit comments