我之前用的是腾讯的小程序,但是进去要点好多次,还要等。现在又 AI 了,直接就用 Antigravity 做了一个工具。
现在好了,点开就能记了。
我建好的加了会员功能,默认能管理 2 台车,进阶会员可以管理 5 台车,¥ 30/年,专业会员无限制车辆,可以多台车数据对比,可以修改时间范围,¥ 200/年。
自建的没有限制。
# 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
# - SMTP_USER=user@example.com
# - SMTP_PASS=password
# - SMTP_SECURE=true
# - SMTP_FROM=CarNote <noreply@example.com>
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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.