Banner

InvenTree

2026-09-15

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 自动证书。

23