https://github.com/Kaiyuan/CarNote
2.1K

一个功能完整的车辆记录管理系统,支持油耗、电耗追踪、保养管理、配件跟踪和数据分析。
# CarNote Docker Compose 配置
# 包含后端 API 服务和可选的 PostgreSQL 数据库
version: '3.8'
services:
# 主应用服务 (包含前后端)
app:
image: kaiyuan/carnote:latest
build:
context: .
dockerfile: Dockerfile
container_name: carnote
ports:
- "53300:53300"
environment:
- NODE_ENV=production
- PORT=53300
- DB_TYPE=sqlite
- SQLITE_PATH=/app/data/carnote.db
# - DB_TYPE=postgresql
# - PG_HOST=172.20.0.1
# - PG_PORT=5432
# - PG_DATABASE=carnote
# - PG_USER=carnote
# - PG_PASSWORD=postgresqlPassword
- UPLOAD_PATH=/app/uploads
# JWT 密钥
- JWT_SECRET=${JWT_SECRET}
# 跨域资源共享
- CORS_ORIGIN=http://localhost
# SMTP 配置 (可选)
# - SMTP_HOST=smtp.example.com
# - SMTP_PORT=465
# - [email protected]
# - SMTP_PASS=password
# - SMTP_SECURE=true
# - SMTP_FROM=CarNote <[email protected]>
volumes:
# SQList 数据库目录及数据库备份目录
- ${carnote_data}:/app/data
# 上传文件目录
- ${carnote_uploads}:/app/uploads
restart: unless-stopped
healthcheck:
test: [ "CMD", "node", "-e", "require('http').get('http://localhost:53300/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})" ]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
networks:
- carnote-network
# 数据卷
volumes:
carnote_data:
driver: local
carnote_uploads:
driver: local
# postgres_data:
# driver: local
# 网络
networks:
carnote-network:
driver: bridge
修改环境变量
编辑 docker-compose.yml,修改 environment 部分:
environment:
- NODE_ENV=production
- PORT=53300
- DB_TYPE=postgresql # 切换为 postgresql
- PG_HOST=your_pg_host # 数据库地址 (如宿主机IP或db容器名)
- PG_PORT=5432
- PG_DATABASE=carnote
- PG_USER=your_username
- PG_PASSWORD=your_password
# 其他配置保持不变...
| 变量名 | 说明 | 默认值 |
|---|---|---|
DB_TYPE | 数据库类型 (sqlite / postgresql) | sqlite |
SQLITE_PATH | SQLite 文件路径 | /app/data/carnote.db |
PG_* | PostgreSQL 连接参数 | (空) |
UPLOAD_PATH | 图片上传存储路径 | /app/uploads |
JWT_SECRET | JWT 签名密钥 (建议修改) | carnote-production-secret... |
CORS_ORIGIN | 允许跨域的前端地址 | http://localhost |
SMTP_HOST | SMTP 服务器地址 (可选,不配置则跳过邮箱验证) | (空) |
SMTP_PORT | SMTP 端口 (默认 465/587) | (空) |
SMTP_USER | SMTP 用户名 | (空) |
SMTP_PASS | SMTP 密码 | (空) |
SMTP_SECURE | 是否启用安全连接 (true / false) | true |
SMTP_FROM | 邮件发送者名称 | CarNote <[email protected]> |
提示:如果使用端口
465,通常需要设置SMTP_SECURE=true;如果使用587或25,通常应设置SMTP_SECURE=false(STARTTLS)。如果连接出现wrong version number错误,请尝试切换此设置。
Content type
Image
Digest
sha256:6830f1f29…
Size
181.8 MB
Last updated
about 2 months ago
docker pull kaiyuan/carnote