2026-04-13 07:47:23 +00:00
|
|
|
# Public exposed port (only nginx is exposed)
|
|
|
|
|
NGINX_PORT=8080
|
|
|
|
|
|
2026-04-13 08:36:58 +00:00
|
|
|
# Project data is always mounted from the repository root `./data`.
|
|
|
|
|
# Only workspace root still needs an absolute host path.
|
2026-04-13 07:47:23 +00:00
|
|
|
HOST_BOTS_WORKSPACE_ROOT=/opt/dashboard-nanobot/workspace/bots
|
|
|
|
|
|
|
|
|
|
# Optional custom image tags
|
|
|
|
|
BACKEND_IMAGE_TAG=latest
|
|
|
|
|
FRONTEND_IMAGE_TAG=latest
|
|
|
|
|
|
|
|
|
|
# Optional base images / mirrors
|
|
|
|
|
PYTHON_BASE_IMAGE=python:3.12-slim
|
|
|
|
|
NODE_BASE_IMAGE=node:22-alpine
|
|
|
|
|
NGINX_BASE_IMAGE=nginx:alpine
|
|
|
|
|
POSTGRES_IMAGE=postgres:16-alpine
|
|
|
|
|
REDIS_IMAGE=redis:7-alpine
|
|
|
|
|
|
|
|
|
|
# Python package index mirror (recommended in CN)
|
|
|
|
|
PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple
|
|
|
|
|
PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn
|
|
|
|
|
|
|
|
|
|
# Frontend package registry mirror (used by yarn, recommended in CN)
|
|
|
|
|
NPM_REGISTRY=https://registry.npmmirror.com
|
|
|
|
|
|
|
|
|
|
# Container timezone
|
|
|
|
|
TZ=Asia/Shanghai
|
|
|
|
|
|
|
|
|
|
# PostgreSQL bootstrap account.
|
|
|
|
|
# These values are used by the postgres container itself.
|
|
|
|
|
POSTGRES_SUPERUSER=postgres
|
|
|
|
|
POSTGRES_SUPERPASSWORD=change_me_pg_super_password
|
|
|
|
|
POSTGRES_BOOTSTRAP_DB=postgres
|
|
|
|
|
|
|
|
|
|
# Dashboard application database account.
|
|
|
|
|
# deploy-full.sh will call scripts/init-full-db.sh to create/update these idempotently.
|
2026-04-13 07:54:26 +00:00
|
|
|
POSTGRES_APP_DB=nanobot
|
|
|
|
|
POSTGRES_APP_USER=nanobot
|
|
|
|
|
POSTGRES_APP_PASSWORD=change_me_nanobot_password
|
2026-04-13 07:47:23 +00:00
|
|
|
DATABASE_POOL_SIZE=20
|
|
|
|
|
DATABASE_MAX_OVERFLOW=40
|
|
|
|
|
DATABASE_POOL_TIMEOUT=30
|
|
|
|
|
DATABASE_POOL_RECYCLE=1800
|
|
|
|
|
|
|
|
|
|
# Redis cache (managed by docker-compose.full.yml)
|
|
|
|
|
REDIS_ENABLED=true
|
|
|
|
|
REDIS_DB=8
|
|
|
|
|
REDIS_PREFIX=nanobot
|
|
|
|
|
REDIS_DEFAULT_TTL=60
|
|
|
|
|
|
2026-04-13 11:28:36 +00:00
|
|
|
# Default timezone injected into newly created bot runtime env (`TZ`).
|
|
|
|
|
# If unset, backend falls back to `TZ` and then `Asia/Shanghai`.
|
2026-04-13 07:47:23 +00:00
|
|
|
DEFAULT_BOT_SYSTEM_TIMEZONE=Asia/Shanghai
|
|
|
|
|
|
2026-04-13 11:28:36 +00:00
|
|
|
# Panel access protection (deployment secret, not stored in sys_setting)
|
2026-04-13 07:47:23 +00:00
|
|
|
PANEL_ACCESS_PASSWORD=change_me_panel_password
|
|
|
|
|
|
2026-04-13 11:28:36 +00:00
|
|
|
# Browser credential requests must use an explicit CORS allowlist (deployment security setting).
|
2026-04-13 07:47:23 +00:00
|
|
|
# If frontend and backend are served under the same origin via nginx `/api` proxy,
|
|
|
|
|
# this can usually stay unset. Otherwise set the real dashboard origin(s).
|
|
|
|
|
# Example:
|
|
|
|
|
# CORS_ALLOWED_ORIGINS=https://dashboard.example.com
|
|
|
|
|
|
2026-04-13 11:28:36 +00:00
|
|
|
# Nginx upload entry limit (MB).
|
|
|
|
|
# The backend business limit is stored in `sys_setting.upload_max_mb`;
|
|
|
|
|
# for full deployment this value is also used as the initial DB seed.
|
2026-04-13 07:47:23 +00:00
|
|
|
UPLOAD_MAX_MB=200
|
|
|
|
|
|
|
|
|
|
# Local speech-to-text (Whisper via whisper.cpp model file)
|
|
|
|
|
STT_ENABLED=true
|
|
|
|
|
STT_MODEL=ggml-small-q8_0.bin
|
2026-04-13 08:36:58 +00:00
|
|
|
STT_MODEL_DIR=/app/data/model
|
2026-04-13 07:47:23 +00:00
|
|
|
STT_DEVICE=cpu
|
|
|
|
|
STT_MAX_AUDIO_SECONDS=20
|
|
|
|
|
STT_DEFAULT_LANGUAGE=zh
|
|
|
|
|
STT_FORCE_SIMPLIFIED=true
|
|
|
|
|
STT_AUDIO_PREPROCESS=true
|
|
|
|
|
STT_AUDIO_FILTER=highpass=f=120,lowpass=f=7600,afftdn=nf=-20
|
|
|
|
|
STT_INITIAL_PROMPT=以下内容可能包含简体中文和英文术语。请优先输出简体中文,英文单词、缩写、品牌名和数字保持原文,不要翻译。
|