Files
ARTEX/docker-compose.yml
T

45 lines
1.6 KiB
YAML

services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: ${POSTGRES_USER:-artex}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?请在 .env 设置 POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB:-artex}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-artex} -d ${POSTGRES_DB:-artex}"]
interval: 5s
timeout: 3s
retries: 10
restart: unless-stopped
artex:
image: autumn27/artex:${ARTEX_TAG:-latest}
depends_on:
postgres:
condition: service_healthy
environment:
ARTEX_PG_DSN: postgres://${POSTGRES_USER:-artex}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-artex}?sslmode=disable
ARTEX_UPDATE_GITHUB_TOKEN: ${ARTEX_UPDATE_GITHUB_TOKEN:-}
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
ARTEX_LLM_PROVIDER: ${ARTEX_LLM_PROVIDER:-}
ARTEX_LLM_MODEL: ${ARTEX_LLM_MODEL:-}
ARTEX_LLM_BASE_URL: ${ARTEX_LLM_BASE_URL:-}
ARTEX_LLM_PROXY: ${ARTEX_LLM_PROXY:-}
ports:
- "8787:8787"
- "127.0.0.1:8788:8788"
volumes:
# 把数据目录(含 jwt.key、SQLite 等)绑定到项目根目录的 data/,
# 方便在宿主机直接查看/备份,容器重建也不丢。
- ./data:/app/data
# 把项目根目录的 skills 挂进容器(覆盖镜像内置的 /app/skills);
# 改 skill 无需重建镜像,容器读的就是宿主机这份。
- ./skills:/app/skills
restart: unless-stopped
volumes:
pgdata: