七千二百袋水泥
七千二百袋水泥
Published on 2025-10-25 / 4 Visits

Docker Compose部署开源IT资产管理系统Chemex完整教程:一步步教你搭建免费高效的企业级资产管理平台

  • 项目源码地址:https://github.com/celaraze/chemex
  • 项目中文名称:咖啡壶

项目概述

Chemex,中文名称为“咖啡壶”,是一款完全免费、开源、高效且用户界面美观的IT资产管理平台。该平台提供完整的资产管理功能,包括资产全生命周期管理、归属和使用者追踪、库存盘点以及可靠的服务器状态监控面板。整个系统基于优雅的Laravel框架进行开发,确保了代码的可维护性和扩展性。

部署步骤详解

目前在整个互联网范围内,Chemex项目的部署方案尚未出现简单易用的标准化方法。网络上常见的部署方式都是将Chemex应用程序与MySQL数据库服务分开独立安装,由于Chemex对MySQL数据库的强依赖性,这种分离部署方式需要进行大量固化配置,额外增加了许多操作步骤,从而显著提升了整个项目的部署难度和复杂程度。

经过长时间的深入研究和实践测试,我终于成功实现了整个项目的Docker Compose容器化部署方案。有相关需求的用户可以直接使用以下配置进行快速部署。

Docker Compose配置文件:

services:  
  db:  
    image: docker.1ms.run/library/mariadb:11.1.2  
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW  
    restart: unless-stopped  
    volumes:  
      - ./data/db:/var/lib/mysql  # 请根据实际需求修改此路径  
    environment:  
      - TZ=Asia/Shanghai  
      - MARIADB_USER=chemex  
      - MARIADB_PASSWORD=chemex  
      - MARIADB_DATABASE=chemex  
      - MARIADB_ROOT_PASSWORD=jfzui666  
  
  redis:  
    image: redis:6.2-alpine  
    restart: unless-stopped  
  
  chemex:  
    image: docker.1ms.run/celaraze/chemex:latest  
    restart: unless-stopped  
    stdin_open: true   # stdin_open和tty两个参数必须设置,否则容器启动后会立即退出  
    tty: true  
    ports:  
      - 8112:8000  
    volumes:  
      - ./data/.env:/var/www/html/laravel/.env  # 请根据实际的.env文件路径进行修改  
    links:  
      - db  
      - redis  
    environment:  
      - TZ=Asia/Shanghai  
      - INSTALL=true

环境配置文件内容:

DB_CONNECTION=mysql  
DB_HOST=db    # 特别注意此处的配置值,必须与docker-compose文件中的服务名称保持一致  
DB_PORT=3306  
DB_DATABASE=chemex  
DB_USERNAME=chemex  
DB_PASSWORD=chemex  
  
ADMIN_HTTPS=false  
  
APP_NAME=chemex  
APP_ENV=local  
APP_URL=http://192.168.31.30:8112  # 请根据docker-compose文件中设置的端口映射进行相应修改  
  
  
APP_KEY=base64:Hq8LO6cGmnK1jjgCvPxI/vWGIAkssR9bwkYEPo1YDhk=  
  
APP_DEBUG=true  # 此参数必须设置为true,否则无法正常访问系统  
  
LOG_CHANNEL=stack  
  
BROADCAST_DRIVER=log  
CACHE_DRIVER=file  
QUEUE_CONNECTION=sync  
SESSION_DRIVER=file  
SESSION_LIFETIME=120  
  
REDIS_HOST=redis  
REDIS_PASSWORD=null  
REDIS_PORT=6379  
  
MAIL_MAILER=smtp  
MAIL_HOST=smtp.mailtrap.io  
MAIL_PORT=2525  
MAIL_USERNAME=null  
MAIL_PASSWORD=null  
MAIL_ENCRYPTION=null  
MAIL_FROM_ADDRESS=null  
MAIL_FROM_NAME="${APP_NAME}"  
  
AWS_ACCESS_KEY_ID=  
AWS_SECRET_ACCESS_KEY=  
AWS_DEFAULT_REGION=us-east-1  
AWS_BUCKET=  
  
PUSHER_APP_ID=  
PUSHER_APP_KEY=  
PUSHER_APP_SECRET=  
PUSHER_APP_CLUSTER=mt1  
  
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"  
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"  
  
ADMIN_DEMO=false  
  
JWT_SECRET=0ZlvqZweCor4ICyRQp14hcFsEeWiRIJYBDvJCs7HvWnogwvfX6LzXRJGD20cda66

完成上述配置文件设置后,执行容器启动命令:docker compose up -d

首次安装并启动容器后,系统还不能立即通过浏览器访问,需要先完成数据库的初始化工作。执行命令:docker ps -f name=chemex-chemex查找正在运行的chemex容器名称,通常命名为chemex-chemex-1,接着执行命令:docker exec -it chemex-chemex-1 bash进入容器内部环境,在容器内部执行安装命令:php artisan chemex:install,此时会看到如下输出内容:

![Image](data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='1px' height='1px' viewBox='0 0 1 1' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0'%3E%3Cg transform='translate(-249.000000, -126.000000)' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

请特别注意图中红色框标注的位置,系统会要求手动输入yes并按回车键确认,安装流程将继续执行。当看到如下输出内容时:

Image

表示系统安装已成功完成,此时输入exit命令退出容器内部环境。然后通过浏览器访问http://<nas-ip>:8112,正常情况下应该能够看到登录页面。如果出现异常情况,则可能会显示如下错误信息:

Image

此时需要再次进入容器内部环境,执行命令:docker exec -it chemex-chemex-1 bash,然后运行命令:php artisan cache:clear清理系统缓存。缓存清理完成后,返回浏览器重新访问http://<nas-ip>:8112,现在应该能够正常显示登录页面:

Image

使用默认账号admin和密码admin登录后,即可进入系统全局首页:

Image

该系统完全中文化,用户界面布局简洁明了,功能分区清晰合理,相信用户能够快速掌握操作方法。

系统特点总结

  • Chemex资产管理平台功能非常强大,涵盖了企业IT资产管理的各个方面,非常适合各类企业组织使用
  • 本文主要目的是将Chemex项目的部署过程进行Docker Compose容器化改造,从而显著简化用户的安装配置流程