services: echo: image: localhost:5000/arutera-docker/echo:v1.5.3 container_name: "${CONTAINER_NAME}" restart: always networks: - 1panel-network ports: - "${PANEL_APP_PORT_HTTP}:3002" environment: # ----- 运行时 ----- NODE_ENV: production PORT: 3002 HOSTNAME: 0.0.0.0 NEXT_TELEMETRY_DISABLED: 1 # ----- 数据库(v1.5.1:由 1Panel 数据库服务字段自动注入) ----- # PANEL_DB_TYPE:1Panel type:apps 字段选中的数据库类型(必为 postgresql); # PANEL_DB_PORT:由 1Panel 依据所选数据库应用自动派生,无需在表单声明。 # entrypoint.sh 会检测 PANEL_DB_* 是否齐全;缺则要求显式 DATABASE_URL。 # 应用代码 src/lib/db/index.ts 的 assembleDatabaseUrl() 也会兜底拼装。 PANEL_DB_TYPE: "${PANEL_DB_TYPE}" PANEL_DB_HOST: "${PANEL_DB_HOST}" PANEL_DB_PORT: "${PANEL_DB_PORT}" PANEL_DB_NAME: "${PANEL_DB_NAME}" PANEL_DB_USER: "${PANEL_DB_USER}" PANEL_DB_USER_PASSWORD: "${PANEL_DB_USER_PASSWORD}" # ----- 认证(v1.5.1:明文密码,entrypoint 自动 bcrypt 后 unset) ----- ECHO_STATIC_PASSWORD: "${ECHO_STATIC_PASSWORD}" ECHO_API_TOKEN: "${ECHO_API_TOKEN}" # ----- AI 向量服务(可选;留空则搜索降级为关键词 ILIKE) ----- DASHSCOPE_API_KEY: "${DASHSCOPE_API_KEY}" DASHSCOPE_EMBEDDING_MODEL: qwen3.7-text-embedding DASHSCOPE_EMBEDDING_API_URL: https://dashscope.aliyuncs.com/api/v1/services/embeddings/text-embedding/text-embedding EMBEDDING_DIMENSION: 2560 SEARCH_MATCH_THRESHOLD: 0.35 # ----- 回收站(v1.4.1) ----- RECYCLE_BIN_RETENTION_DAYS: 30 labels: createdBy: Apps networks: 1panel-network: external: true