-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
103 lines (89 loc) · 2.8 KB
/
docker-compose.yaml
File metadata and controls
103 lines (89 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# ███████╗██╗ ██╗███████╗██╗███████╗██╗ ██╗
# ██╔════╝██║ ██║╚══███╔╝██║██╔════╝╚██╗ ██╔╝
# █████╗ ██║ ██║ ███╔╝ ██║█████╗ ╚████╔╝
# ██╔══╝ ██║ ██║ ███╔╝ ██║██╔══╝ ╚██╔╝
# ███████╗███████╗██║███████╗██║██║ ██║
# ╚══════╝╚══════╝╚═╝╚══════╝╚═╝╚═╝ ╚═╝
#
# Deploy elizaOS anywhere
# https://github.com/bealers/elizify
#
services:
elizaos:
build:
context: .
dockerfile: Dockerfile
container_name: elizaos
ports:
- "3000:3000" # Full environment port
depends_on:
elizaos-db:
condition: service_healthy
environment:
NODE_ENV: production
LOG_LEVEL: info
# ELIZA_UI_ENABLE: unset - auto-detects from NODE_ENV
# Database connection
POSTGRES_URL: postgresql://eliza:eliza_password@elizaos-db:5432/eliza_test
# Additional configurable settings
HOST: 0.0.0.0
API_PORT: 3000
CHARACTER_FILE: /app/config/characters/server-bod.character.json
# Performance settings
MAX_MEMORY_USAGE: 1024
RATE_LIMIT_REQUESTS: 1000
RATE_LIMIT_WINDOW: 900000
volumes:
- eliza_data:/app/data
- eliza_logs:/app/logs
- ./config/characters:/app/characters:ro
networks:
- elizaos_network
deploy:
resources:
limits:
memory: 2G
cpus: '1.0'
reservations:
memory: 512M
cpus: '0.25'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/agents"]
interval: 15s
timeout: 5s
retries: 5
start_period: 45s
elizaos-db:
image: ankane/pgvector:latest
container_name: elizaos-db
restart: unless-stopped
environment:
POSTGRES_DB: eliza_test
POSTGRES_USER: eliza
POSTGRES_PASSWORD: eliza_password
POSTGRES_INITDB_ARGS: --encoding=UTF-8
POSTGRES_MAX_CONNECTIONS: 200
volumes:
- postgres_data:/var/lib/postgresql/data
- ./db/init-db.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
ports:
- "5432:5432"
networks:
- elizaos_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U eliza -d eliza_test"]
interval: 15s
timeout: 5s
retries: 5
start_period: 20s
volumes:
eliza_data:
driver: local
eliza_logs:
driver: local
postgres_data:
driver: local
networks:
elizaos_network:
name: elizaos_network
external: true