InvenTree
Docker 是官方推荐的首选部署方式,适合大多数场景。以下教程假设你有一台 Linux 服务器(Ubuntu 22.04/24.04 或 Debian 11/12),已安装 Docker 和 Docker Compose。
步骤一:准备环境
确保服务器满足以下条件:
- Linux 系统(推荐 Ubuntu 22.04 或 Debian 12)
- 已安装 Docker Engine 和 Docker Compose 插件
- 至少 2GB 内存、10GB 磁盘空间
- 一个可用的域名或 IP 地址(可选,用于外部访问)
验证 Docker 是否就绪:
bash
docker --version
docker compose version步骤二:创建项目目录并下载配置
官方在源码仓库的 contrib/container/ 目录提供了 Docker 部署所需的文件。你不需要完整克隆源码,只需下载三个文件即可。
bash
mkdir -p ~/inventree-docker
cd ~/inventree-docker
# 下载 docker-compose.yml
wget https://raw.githubusercontent.com/inventree/InvenTree/stable/contrib/container/docker-compose.yml
# 下载 .env 环境变量文件
wget https://raw.githubusercontent.com/inventree/InvenTree/stable/contrib/container/.env
# 下载 Caddyfile 反向代理配置
wget https://raw.githubusercontent.com/inventree/InvenTree/stable/contrib/container/Caddyfile如果系统自动给文件加了 .txt 后缀,手动去掉即可。-5
步骤三:配置环境变量(关键步骤)
用文本编辑器打开 .env 文件:
bash
nano .env需要至少修改以下几项:
必改项:
- INVENTREE_EXT_VOLUME:设置为你服务器上的持久化数据目录,例如 /home/inventree-data
- INVENTREE_DB_USER:数据库用户名(改掉默认值)
- INVENTREE_DB_PASSWORD:数据库密码(设置一个强密码)
- INVENTREE_SITE_URL:设置为 http://你的服务器IP 或域名,例如 http://192.168.1.100
建议项:
- INVENTREE_ADMIN_USER、INVENTREE_ADMIN_PASSWORD、INVENTREE_ADMIN_EMAIL:提前设定管理员账户,省去后续手动创建步骤
示例片段:
env
INVENTREE_EXT_VOLUME=/home/inventree-data
INVENTREE_DB_USER=inventree_user
INVENTREE_DB_PASSWORD=YourStrongPassword123
INVENTREE_SITE_URL=http://192.168.1.100安全提醒:首次启动并确认管理员创建成功后,务必将 .env 文件中的管理员密码移除。
步骤四:初始化数据库
运行官方提供的初始化命令。这个命令会创建数据库、执行迁移、更新静态文件,通常需要几分钟:
bash
docker compose run --rm inventree-server invoke update步骤五:创建管理员账户
如果你没有在 .env 中预设管理员,现在手动创建:
bash
docker compose run inventree-server invoke superuser按提示输入用户名、邮箱和密码。
步骤六:启动所有容器
bash
docker compose up -d该命令会启动 5 个容器:PostgreSQL 数据库、InvenTree Web 服务器、后台工作进程、Redis 缓存、Caddy 反向代理。
步骤七:访问系统
在浏览器中访问你设置的 INVENTREE_SITE_URL(例如 http://192.168.1.100)。如果你在 .env 中配置了管理员账户,直接用该账户登录;否则使用步骤五创建的账户登录。-5
后续维护命令
更新 InvenTree 到新版本:
bash
docker compose down
docker compose pull
docker compose run --rm inventree-server invoke update
docker compose up -d查看运行状态:
bash
docker compose ps
docker compose logs -f inventree-server备份数据:你的所有持久化数据都在 INVENTREE_EXT_VOLUME 指定的目录中,直接备份该目录即可,重点是其中的数据库数据、media 文件和 config 配置。
常见问题速查
问题:inventree.localhost 只能本机访问?
将 .env 中的 INVENTREE_SITE_URL 改为服务器的局域网 IP 或公网域名,其他设备即可访问。
问题:Docker 拉取镜像慢?
可配置国内 Docker 镜像加速器,或在 .env 中指定 INVENTREE_TAG 为特定稳定版本而非 latest。
问题:想用安装脚本一键部署?
官方也提供了一键安装脚本(支持 Debian/Ubuntu),命令为 wget -qO install.sh https://get.inventree.org && bash install.sh,适合不熟悉 Docker 的用户。
问题:如何启用 HTTPS?
修改 Caddyfile 配置,将域名指向你的证书路径或启用 Let‘s Encrypt 自动证书。