Sign inSign up

kaiyuan/carnote

By kaiyuan

Updated about 2 months ago

https://github.com/Kaiyuan/CarNote

Image
Web servers
1

2.1K

kaiyuan/carnote repository overview

CarNote - 车记录

CarNote banner

一个功能完整的车辆记录管理系统,支持油耗、电耗追踪、保养管理、配件跟踪和数据分析。

# 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_PATHSQLite 文件路径/app/data/carnote.db
PG_*PostgreSQL 连接参数(空)
UPLOAD_PATH图片上传存储路径/app/uploads
JWT_SECRETJWT 签名密钥 (建议修改)carnote-production-secret...
CORS_ORIGIN允许跨域的前端地址http://localhost
SMTP_HOSTSMTP 服务器地址 (可选,不配置则跳过邮箱验证)(空)
SMTP_PORTSMTP 端口 (默认 465/587)(空)
SMTP_USERSMTP 用户名(空)
SMTP_PASSSMTP 密码(空)
SMTP_SECURE是否启用安全连接 (true / false)true
SMTP_FROM邮件发送者名称CarNote <[email protected]>

提示:如果使用端口 465,通常需要设置 SMTP_SECURE=true;如果使用 58725,通常应设置 SMTP_SECURE=false (STARTTLS)。如果连接出现 wrong version number 错误,请尝试切换此设置。

Tag summary

Content type

Image

Digest

sha256:6830f1f29

Size

181.8 MB

Last updated

about 2 months ago

docker pull kaiyuan/carnote