ElizaOS项目中的TEE模式Docker Compose部署指南
2025-07-06 00:59:20作者:卓炯娓
前言
ElizaOS是一个集成了多种AI服务和区块链功能的创新性操作系统项目。本文将深入解析项目中的tee-docker-compose.yaml文件,帮助开发者理解如何部署ElizaOS的TEE(可信执行环境)模式。
核心服务架构
ElizaOS的TEE模式部署主要包含两个核心服务:
- PostgreSQL数据库服务:使用pgvector扩展支持向量搜索功能
- ElizaOS主服务:运行在TEE环境中的核心应用
PostgreSQL服务配置详解
PostgreSQL服务使用了ankane/pgvector镜像,这是一个集成了向量搜索功能的PostgreSQL版本,非常适合AI应用场景:
postgres:
image: ankane/pgvector:latest
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=eliza
- PGDATA=/var/lib/postgresql/data/pgdata
volumes:
- postgres-data:/var/lib/postgresql/data:rw
ports:
- '127.0.0.1:5432:5432'
关键配置说明:
- 使用命名卷
postgres-data
持久化数据库数据 - 仅绑定到本地回环地址(127.0.0.1),确保数据库安全
- 配置了健康检查,确保服务完全启动后才继续依赖它的服务
ElizaOS主服务配置
ElizaOS主服务配置体现了项目对多种AI服务和区块链功能的集成:
elizaos:
image: ${DOCKER_IMAGE_FULL_NAME}
command: bun run start
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- POSTGRES_URL=${POSTGRES_URL}
- TEE_MODE=${TEE_MODE}
- WALLET_SECRET_SALT=${WALLET_SECRET_SALT}
- TEE_VENDOR=${TEE_VENDOR}
ports:
- '3000:3000'
- '50000-50100:50000-50100/udp'
关键特性:
- 多AI服务集成:支持OpenAI、Anthropic等多种AI服务API
- TEE支持:通过TEE_MODE和TEE_VENDOR环境变量配置可信执行环境
- 区块链功能:包含EVM_CHAINS等区块链相关配置
- 多媒体支持:通过ELEVENLABS_API_KEY等配置语音合成功能
网络与存储设计
项目采用桥接网络模式,确保服务间隔离与通信:
networks:
eliza-network:
driver: bridge
volumes:
postgres-data:
- 自定义桥接网络
eliza-network
连接所有服务 - 专用卷
postgres-data
确保数据库持久化
部署实践建议
- 环境变量准备:部署前需准备好所有必要的环境变量,特别是各种API密钥
- TEE配置:根据实际硬件选择适当的TEE_VENDOR并正确配置
- 端口管理:注意UDP端口50000-50100范围较大,确保主机端口可用
- 安全考虑:数据库仅暴露给本地网络,生产环境应考虑更严格的安全措施
常见问题排查
- 服务启动顺序:利用depends_on确保数据库健康后才启动主服务
- 健康检查:PostgreSQL的健康检查配置可帮助自动恢复
- 资源限制:生产环境应考虑添加资源限制(resources配置)
结语
ElizaOS的TEE模式Docker Compose配置展示了现代AI应用与区块链技术结合的典型架构。通过理解这份配置文件,开发者可以更好地部署和定制自己的ElizaOS实例,同时也能从中学习到如何设计类似的复杂系统架构。