部署指南
推荐将 Xiaomi EV Mate 部署在私有环境,例如 NAS、家庭服务器或个人云主机。
项目会保存车辆和账号相关配置,不建议直接暴露在公网。
方式一:脚本一键部署
这是推荐方式。脚本会启动服务,并等待 db-init 容器完成数据库初始化或升级。
git clone git@github.com:Ponyix/xiaomiev-mate-public.git
cd xiaomiev-mate-public
cp .env.example .env
chmod +x deploy.sh
./deploy.sh
首次部署前,请修改 .env 中的数据库密码:
DB_PASSWORD=your_password
默认会拉取:
ponyix/xiaomiev-mate:backend-latestponyix/xiaomiev-mate:web-latest
方式二:手动使用 Docker Compose
如果你希望自己控制 Compose 配置,可以直接创建 docker-compose.yml 部署,不需要额外创建 .env。
如果你使用的是极空间 NAS,也可以直接阅读 极空间安装教程。
创建 docker-compose.yml:
services:
postgres:
image: postgres:15-alpine
container_name: xiaomiev-postgres
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: your_strong_password
POSTGRES_DB: xiaomi_ev
TZ: Asia/Shanghai
ports:
- "15432:5432"
volumes:
- ./pgdata:/var/lib/postgresql/data
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 5s
timeout: 5s
retries: 5
xiaomiev-mate:
container_name: xiaomiev-mate
image: ponyix/xiaomiev-mate:backend-latest
pull_policy: always
volumes:
- ./logs:/var/log/xiaomiev
environment:
- TZ=Asia/Shanghai
- SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/xiaomi_ev?stringtype=unspecified
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=your_strong_password
restart: always
depends_on:
db-init:
condition: service_completed_successfully
xiaomiev-mate-web:
container_name: xiaomiev-mate-web
image: ponyix/xiaomiev-mate:web-latest
pull_policy: always
ports:
- "18080:80"
restart: always
depends_on:
- xiaomiev-mate
按需修改:
your_strong_password:数据库密码,必须替换成自己的强密码,两处要保持一致。backend-latest:后端镜像版本。如果要固定版本,可以改成backend-v1.0.x。web-latest:前端镜像版本。如果要固定版本,可以改成web-v1.0.x。- 获取项目最新版本号更新日志。
15432:5432:数据库端口映射。如果宿主机15432被占用,可以改成其他端口,例如25432:5432。18080:80:前端访问端口。如果宿主机18080被占用,可以改成其他端口,例如8080:80。
启动服务:
docker compose -f docker-compose.yml up -d
前端默认访问地址:
http://localhost:18080
固定版本部署
如果不想使用 latest,可以固定前后端镜像版本:
BACKEND_IMAGE_TAG=v1.0.x WEB_IMAGE_TAG=v1.0.x DB_INIT_IMAGE_TAG=v1.0.x ./deploy.sh
也可以在 .env 中配置:
BACKEND_IMAGE_TAG=v1.0.5
WEB_IMAGE_TAG=v1.0.5
DB_INIT_IMAGE_TAG=v1.0.5
如果只想分别升级后端或前端,也可以指定不同版本 获取项目最新版本号更新日志。
部署建议
- 推荐部署在私有网络中。
- 首次登录后立即修改默认管理员密码。
- 不要把
.env、数据库数据和账号参数公开提交。 - 临时体验后可删除容器和数据,避免敏感信息残留。
问题反馈
部署过程中遇到问题,可以在这里反馈: