产品的保修跟踪器Warracker

在这里插入图片描述

简介

什么是 Warracker ?

Warracker 是一个自托管的 Web 应用程序,用于在一个集中位置管理产品保修。Warracker 设计为轻量级、安全且易于使用,可帮助您掌握购买日期、到期提醒、收据等。该工具旨在帮助用户有条理地管理保修信息,避免因保修失效而造成的损失。

主要特点

  1. 集中管理:所有产品保修信息集中在一个地方,方便用户查看和管理。
  2. 详细记录:允许用户存储购买日期、保修时长和备注等信息。
  3. 文档存储:支持上传收据、发票和手册等相关文档。
  4. 主动提醒:提供到期提醒通知,确保用户及时了解保修状态。
  5. 快速搜索和过滤:根据产品名称、序列号、供应商、标签或备注等进行快速查找。
  6. 多用户支持:支持多个用户账户和管理员控制,适合团队使用。
  7. 数据导入导出:支持将数据导出为 CSV 格式,或从 CSV 文件导入数据。
  8. 电子邮件通知:提供到期提醒的电子邮件通知功能。
  9. 可定制设置:用户可以调整货币符号和日期格式等设置。
  10. 单点登录 (SSO):支持通过身份提供者(如 GoogleGitHubKeycloak)进行无缝登录。

应用场景

  • 个人保修管理:用户可以跟踪家庭中各种产品的保修状态,确保不遗漏任何保修。
  • 团队合作:团队可以使用 Warracker 来管理共同使用的设备和产品的保修信息。
  • 商家与客户服务:商家可以利用该工具帮助客户管理购买的产品保修,提升客户满意度。
  • 高效的保修跟踪:适合任何需要跟踪多个产品保修的用户,避免因遗忘保修而造成的经济损失。

Warracker 是一款功能强大的保修管理工具,旨在简化保修信息的管理。

安装

在群晖上以 Docker 方式安装。

本文写作时, latest 版本对应为 0.10.0.0

env.txt

env.txt 修改自 .env.example,源文件地址:https://github.com/sassanix/Warracker/blob/main/Docker/.env.example

### ** Database Configuration**

# Database connection settings
DB_HOST=warrackerdb
DB_NAME=warranty_db
DB_USER=warranty_user
DB_PASSWORD=warranty_password

# PostgreSQL-specific settings (for the database container)
POSTGRES_DB=warranty_db
POSTGRES_USER=warranty_user
POSTGRES_PASSWORD=warranty_password

###  Security Configuration**

# Application secret key for JWT tokens and Flask sessions
# IMPORTANT: Generate a strong, unique secret key for production!
SECRET_KEY=sSGw55bt92HEgZoeGs6bfBpUFFwdvgZ6

# JWT token expiration time (in hours)
JWT_EXPIRATION_HOURS=24

### Email/SMTP Configuration**

# SMTP server settings for sending notifications and password resets
SMTP_HOST=smtp.88.com
SMTP_PORT=465
SMTP_USERNAME=wbsu2003@88.com
SMTP_PASSWORD=<your_email_password>

# Optional SMTP settings
SMTP_USE_TLS=false
SMTP_USE_SSL=true
SMTP_SENDER_EMAIL=wbsu2003@88.com

### **URL Configuration**

# Frontend URL (used for redirects and email links)
# IMPORTANT: Must match your public-facing URL for OIDC and email links to work
FRONTEND_URL=http://192.168.0.197:8005

# Application base URL (used for links in emails and redirects)
APP_BASE_URL=http://192.168.0.197:8005

### **File Upload Configuration**

# Maximum file upload size in megabytes
MAX_UPLOAD_MB=32

# Nginx maximum body size (should match or exceed MAX_UPLOAD_MB)
NGINX_MAX_BODY_SIZE_VALUE=32M

下面是老苏使用的环境变量的简单说明

其中 192.168.0.197 是老苏群晖主机的 IP

环境变量说明
DB_HOST数据库主机名,通常为数据库容器的名称(如 warrackerdb)。
DB_NAME数据库名称,指定要使用的数据库(如 warranty_db)。
DB_USER数据库用户,连接数据库所需的用户名(如 warranty_user)。
DB_PASSWORD数据库用户密码,用于身份验证(如 warranty_password)。
POSTGRES_DBPostgreSQL 数据库名称(如 warranty_db)。
POSTGRES_USERPostgreSQL 数据库用户名(如 warranty_user)。
POSTGRES_PASSWORDPostgreSQL 数据库用户密码(如 warranty_password)。
SECRET_KEY应用程序的秘密密钥,用于 JWT 令牌和 Flask 会话。建议在生产环境中生成强大且唯一的密钥。
JWT_EXPIRATION_HOURSJWT 令牌的过期时间,以小时为单位(如 24 小时)。
SMTP_HOSTSMTP 服务器地址,用于发送通知和密码重置邮件(如 smtp.88.com)。
SMTP_PORTSMTP 服务器端口(如 465)。
SMTP_USERNAMESMTP 服务器的用户名,用于身份验证(如 wbsu2003@88.com)。
SMTP_PASSWORDSMTP 服务器的密码,确保保密。
SMTP_USE_TLS是否使用 TLS,设置为 truefalse
SMTP_USE_SSL是否使用 SSL,设置为 truefalse
SMTP_SENDER_EMAIL发件人邮箱地址,用于发送邮件(如 wbsu2003@88.com)。
FRONTEND_URL前端 URL,用于重定向和电子邮件链接,必须与公开可访问的 URL 匹配(如 http://192.168.0.197:8005)。
APP_BASE_URL应用程序基础 URL,用于电子邮件和重定向中的链接(如 http://192.168.0.197:8005)。
MAX_UPLOAD_MB最大文件上传大小,以兆字节为单位(如 32 MB)。
NGINX_MAX_BODY_SIZE_VALUENginx 最大请求体大小,应该与 MAX_UPLOAD_MB 相匹配或超过(如 32M)。

docker-compose.yml

docker-compose.yml 基于官方的 docker-compose.yml 微调,源文件地址:https://github.com/sassanix/Warracker/blob/main/Docker/docker-compose.yml

services:
  warracker:
    image: ghcr.io/sassanix/warracker/main:latest
    container_name: warracker-app
    restart: unless-stopped
    ports:
      - "8005:80"
    volumes:
      - ./uploads:/data/uploads
    env_file:
      - env.txt
    depends_on:
      warrackerdb:
        condition: service_healthy
    
  warrackerdb:
    image: postgres:15-alpine
    container_name: warracker-db
    restart: unless-stopped
    volumes:
      - ./data:/var/lib/postgresql/data
    env_file:
      - env.txt
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
      interval: 5s
      timeout: 5s
      retries: 5

然后执行下面的命令

# 新建文件夹 warracker 和 子目录
mkdir -p /volume1/docker/warracker/{data,uploads}

# 进入 warracker 目录
cd /volume1/docker/warracker

# 将 docker-compose.yml 和 env.txt 放入当前目录

# 一键启动
docker-compose --env-file env.txt up -d

运行

在浏览器中输入 http://群晖IP:8005 就能看到登录界面

第一次需要 Create Account 注册用户

登录成功后的主界面

点右上角的名字 --> Settings

可以进入设置,根据需要修改模式、货币单位等

Add New Warranty 则可以添加新的保修

随便添加了两项

切换到状态

如果有保修快到期时(似乎是小于一个月),会收到邮件提醒

虽然不支持多语言,但使用很简单,可以看官方的动图

参考文档

sassanix/Warracker: An open-source web application to manage product warranties, track expiration dates, and store related documents.
地址:https://github.com/sassanix/Warracker

Warracker v0.9.9.9 – Self-hosted warranty tracker now with CSV import, SSO, tags, and advanced search : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1l27f6c/warracker_v0999_selfhosted_warranty_tracker_now/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值