| x-shared-env: &shared-api-worker-env | |||||
| x-shared-env: &shared-api-worker-env | |||||
| services: | services: | ||||
| # API service | # API service | ||||
| api: | api: | ||||
| NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0} | NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0} | ||||
| TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} | TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} | ||||
| CSP_WHITELIST: ${CSP_WHITELIST:-} | CSP_WHITELIST: ${CSP_WHITELIST:-} | ||||
| TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-} | |||||
| # The postgres database. | # The postgres database. | ||||
| db: | db: | ||||
| volumes: | volumes: | ||||
| - ./volumes/db/data:/var/lib/postgresql/data | - ./volumes/db/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| # Set the redis password when startup redis server. | # Set the redis password when startup redis server. | ||||
| command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456} | command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456} | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'redis-cli', 'ping'] | |||||
| test: [ 'CMD', 'redis-cli', 'ping' ] | |||||
| # The DifySandbox | # The DifySandbox | ||||
| sandbox: | sandbox: | ||||
| volumes: | volumes: | ||||
| - ./volumes/sandbox/dependencies:/dependencies | - ./volumes/sandbox/dependencies:/dependencies | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:8194/health'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:8194/health' ] | |||||
| networks: | networks: | ||||
| - ssrf_proxy_network | - ssrf_proxy_network | ||||
| volumes: | volumes: | ||||
| - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template | - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template | ||||
| - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh | - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh | ||||
| entrypoint: | |||||
| [ | |||||
| 'sh', | |||||
| '-c', | |||||
| "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh", | |||||
| ] | |||||
| entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] | |||||
| environment: | environment: | ||||
| # pls clearly modify the squid env vars to fit your network environment. | # pls clearly modify the squid env vars to fit your network environment. | ||||
| HTTP_PORT: ${SSRF_HTTP_PORT:-3128} | HTTP_PORT: ${SSRF_HTTP_PORT:-3128} | ||||
| - CERTBOT_EMAIL=${CERTBOT_EMAIL} | - CERTBOT_EMAIL=${CERTBOT_EMAIL} | ||||
| - CERTBOT_DOMAIN=${CERTBOT_DOMAIN} | - CERTBOT_DOMAIN=${CERTBOT_DOMAIN} | ||||
| - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-} | - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-} | ||||
| entrypoint: ['/docker-entrypoint.sh'] | |||||
| command: ['tail', '-f', '/dev/null'] | |||||
| entrypoint: [ '/docker-entrypoint.sh' ] | |||||
| command: [ 'tail', '-f', '/dev/null' ] | |||||
| # The nginx reverse proxy. | # The nginx reverse proxy. | ||||
| # used for reverse proxying the API service and Web service. | # used for reverse proxying the API service and Web service. | ||||
| - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container) | - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container) | ||||
| - ./volumes/certbot/conf:/etc/letsencrypt | - ./volumes/certbot/conf:/etc/letsencrypt | ||||
| - ./volumes/certbot/www:/var/www/html | - ./volumes/certbot/www:/var/www/html | ||||
| entrypoint: | |||||
| [ | |||||
| 'sh', | |||||
| '-c', | |||||
| "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh", | |||||
| ] | |||||
| entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] | |||||
| environment: | environment: | ||||
| NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} | NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} | ||||
| NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} | NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} | ||||
| working_dir: /opt/couchbase | working_dir: /opt/couchbase | ||||
| stdin_open: true | stdin_open: true | ||||
| tty: true | tty: true | ||||
| entrypoint: [""] | |||||
| entrypoint: [ "" ] | |||||
| command: sh -c "/opt/couchbase/init/init-cbserver.sh" | command: sh -c "/opt/couchbase/init/init-cbserver.sh" | ||||
| volumes: | volumes: | ||||
| - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data | - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data | ||||
| volumes: | volumes: | ||||
| - ./volumes/pgvector/data:/var/lib/postgresql/data | - ./volumes/pgvector/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| volumes: | volumes: | ||||
| - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data | - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| - ./volumes/milvus/etcd:/etcd | - ./volumes/milvus/etcd:/etcd | ||||
| command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd | command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'etcdctl', 'endpoint', 'health'] | |||||
| test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 20s | timeout: 20s | ||||
| retries: 3 | retries: 3 | ||||
| - ./volumes/milvus/minio:/minio_data | - ./volumes/milvus/minio:/minio_data | ||||
| command: minio server /minio_data --console-address ":9001" | command: minio server /minio_data --console-address ":9001" | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 20s | timeout: 20s | ||||
| retries: 3 | retries: 3 | ||||
| image: milvusdb/milvus:v2.3.1 | image: milvusdb/milvus:v2.3.1 | ||||
| profiles: | profiles: | ||||
| - milvus | - milvus | ||||
| command: ['milvus', 'run', 'standalone'] | |||||
| command: [ 'milvus', 'run', 'standalone' ] | |||||
| environment: | environment: | ||||
| ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} | ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} | ||||
| MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} | MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} | ||||
| volumes: | volumes: | ||||
| - ./volumes/milvus/milvus:/var/lib/milvus | - ./volumes/milvus/milvus:/var/lib/milvus | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ] | |||||
| interval: 30s | interval: 30s | ||||
| start_period: 90s | start_period: 90s | ||||
| timeout: 20s | timeout: 20s | ||||
| ports: | ports: | ||||
| - ${ELASTICSEARCH_PORT:-9200}:9200 | - ${ELASTICSEARCH_PORT:-9200}:9200 | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty'] | |||||
| test: [ 'CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 10s | timeout: 10s | ||||
| retries: 50 | retries: 50 | ||||
| ports: | ports: | ||||
| - ${KIBANA_PORT:-5601}:5601 | - ${KIBANA_PORT:-5601}:5601 | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1'] | |||||
| test: [ 'CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 10s | timeout: 10s | ||||
| retries: 3 | retries: 3 |
| NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0} | NEXT_TELEMETRY_DISABLED: ${NEXT_TELEMETRY_DISABLED:-0} | ||||
| TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} | TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000} | ||||
| CSP_WHITELIST: ${CSP_WHITELIST:-} | CSP_WHITELIST: ${CSP_WHITELIST:-} | ||||
| TOP_K_MAX_VALUE: ${TOP_K_MAX_VALUE:-} | |||||
| # The postgres database. | # The postgres database. | ||||
| db: | db: | ||||
| volumes: | volumes: | ||||
| - ./volumes/db/data:/var/lib/postgresql/data | - ./volumes/db/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| # Set the redis password when startup redis server. | # Set the redis password when startup redis server. | ||||
| command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456} | command: redis-server --requirepass ${REDIS_PASSWORD:-difyai123456} | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'redis-cli', 'ping'] | |||||
| test: [ 'CMD', 'redis-cli', 'ping' ] | |||||
| # The DifySandbox | # The DifySandbox | ||||
| sandbox: | sandbox: | ||||
| volumes: | volumes: | ||||
| - ./volumes/sandbox/dependencies:/dependencies | - ./volumes/sandbox/dependencies:/dependencies | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:8194/health'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:8194/health' ] | |||||
| networks: | networks: | ||||
| - ssrf_proxy_network | - ssrf_proxy_network | ||||
| volumes: | volumes: | ||||
| - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template | - ./ssrf_proxy/squid.conf.template:/etc/squid/squid.conf.template | ||||
| - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh | - ./ssrf_proxy/docker-entrypoint.sh:/docker-entrypoint-mount.sh | ||||
| entrypoint: | |||||
| [ | |||||
| 'sh', | |||||
| '-c', | |||||
| "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh", | |||||
| ] | |||||
| entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] | |||||
| environment: | environment: | ||||
| # pls clearly modify the squid env vars to fit your network environment. | # pls clearly modify the squid env vars to fit your network environment. | ||||
| HTTP_PORT: ${SSRF_HTTP_PORT:-3128} | HTTP_PORT: ${SSRF_HTTP_PORT:-3128} | ||||
| - CERTBOT_EMAIL=${CERTBOT_EMAIL} | - CERTBOT_EMAIL=${CERTBOT_EMAIL} | ||||
| - CERTBOT_DOMAIN=${CERTBOT_DOMAIN} | - CERTBOT_DOMAIN=${CERTBOT_DOMAIN} | ||||
| - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-} | - CERTBOT_OPTIONS=${CERTBOT_OPTIONS:-} | ||||
| entrypoint: ['/docker-entrypoint.sh'] | |||||
| command: ['tail', '-f', '/dev/null'] | |||||
| entrypoint: [ '/docker-entrypoint.sh' ] | |||||
| command: [ 'tail', '-f', '/dev/null' ] | |||||
| # The nginx reverse proxy. | # The nginx reverse proxy. | ||||
| # used for reverse proxying the API service and Web service. | # used for reverse proxying the API service and Web service. | ||||
| - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container) | - ./volumes/certbot/conf/live:/etc/letsencrypt/live # cert dir (with certbot container) | ||||
| - ./volumes/certbot/conf:/etc/letsencrypt | - ./volumes/certbot/conf:/etc/letsencrypt | ||||
| - ./volumes/certbot/www:/var/www/html | - ./volumes/certbot/www:/var/www/html | ||||
| entrypoint: | |||||
| [ | |||||
| 'sh', | |||||
| '-c', | |||||
| "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh", | |||||
| ] | |||||
| entrypoint: [ 'sh', '-c', "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ] | |||||
| environment: | environment: | ||||
| NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} | NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_} | ||||
| NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} | NGINX_HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false} | ||||
| working_dir: /opt/couchbase | working_dir: /opt/couchbase | ||||
| stdin_open: true | stdin_open: true | ||||
| tty: true | tty: true | ||||
| entrypoint: [""] | |||||
| entrypoint: [ "" ] | |||||
| command: sh -c "/opt/couchbase/init/init-cbserver.sh" | command: sh -c "/opt/couchbase/init/init-cbserver.sh" | ||||
| volumes: | volumes: | ||||
| - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data | - ./volumes/couchbase/data:/opt/couchbase/var/lib/couchbase/data | ||||
| volumes: | volumes: | ||||
| - ./volumes/pgvector/data:/var/lib/postgresql/data | - ./volumes/pgvector/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| volumes: | volumes: | ||||
| - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data | - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'pg_isready'] | |||||
| test: [ 'CMD', 'pg_isready' ] | |||||
| interval: 1s | interval: 1s | ||||
| timeout: 3s | timeout: 3s | ||||
| retries: 30 | retries: 30 | ||||
| - ./volumes/milvus/etcd:/etcd | - ./volumes/milvus/etcd:/etcd | ||||
| command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd | command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'etcdctl', 'endpoint', 'health'] | |||||
| test: [ 'CMD', 'etcdctl', 'endpoint', 'health' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 20s | timeout: 20s | ||||
| retries: 3 | retries: 3 | ||||
| - ./volumes/milvus/minio:/minio_data | - ./volumes/milvus/minio:/minio_data | ||||
| command: minio server /minio_data --console-address ":9001" | command: minio server /minio_data --console-address ":9001" | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 20s | timeout: 20s | ||||
| retries: 3 | retries: 3 | ||||
| image: milvusdb/milvus:v2.3.1 | image: milvusdb/milvus:v2.3.1 | ||||
| profiles: | profiles: | ||||
| - milvus | - milvus | ||||
| command: ['milvus', 'run', 'standalone'] | |||||
| command: [ 'milvus', 'run', 'standalone' ] | |||||
| environment: | environment: | ||||
| ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} | ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379} | ||||
| MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} | MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000} | ||||
| volumes: | volumes: | ||||
| - ./volumes/milvus/milvus:/var/lib/milvus | - ./volumes/milvus/milvus:/var/lib/milvus | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-f', 'http://localhost:9091/healthz'] | |||||
| test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ] | |||||
| interval: 30s | interval: 30s | ||||
| start_period: 90s | start_period: 90s | ||||
| timeout: 20s | timeout: 20s | ||||
| ports: | ports: | ||||
| - ${ELASTICSEARCH_PORT:-9200}:9200 | - ${ELASTICSEARCH_PORT:-9200}:9200 | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty'] | |||||
| test: [ 'CMD', 'curl', '-s', 'http://localhost:9200/_cluster/health?pretty' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 10s | timeout: 10s | ||||
| retries: 50 | retries: 50 | ||||
| ports: | ports: | ||||
| - ${KIBANA_PORT:-5601}:5601 | - ${KIBANA_PORT:-5601}:5601 | ||||
| healthcheck: | healthcheck: | ||||
| test: ['CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1'] | |||||
| test: [ 'CMD-SHELL', 'curl -s http://localhost:5601 >/dev/null || exit 1' ] | |||||
| interval: 30s | interval: 30s | ||||
| timeout: 10s | timeout: 10s | ||||
| retries: 3 | retries: 3 |
| # CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | # CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | ||||
| NEXT_PUBLIC_CSP_WHITELIST= | NEXT_PUBLIC_CSP_WHITELIST= | ||||
| # The maximum number of top-k value for RAG. | |||||
| NEXT_PUBLIC_TOP_K_MAX_VALUE=10 |
| enable: boolean | enable: boolean | ||||
| } | } | ||||
| const maxTopK = (() => { | |||||
| const configValue = parseInt(globalThis.document?.body?.getAttribute('data-public-top-k-max-value') || '', 10) | |||||
| if (configValue && !isNaN(configValue)) | |||||
| return configValue | |||||
| return 10 | |||||
| })() | |||||
| const VALUE_LIMIT = { | const VALUE_LIMIT = { | ||||
| default: 2, | default: 2, | ||||
| step: 1, | step: 1, | ||||
| min: 1, | min: 1, | ||||
| max: 10, | |||||
| max: maxTopK, | |||||
| } | } | ||||
| const key = 'top_k' | const key = 'top_k' |
| data-public-maintenance-notice={process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE} | data-public-maintenance-notice={process.env.NEXT_PUBLIC_MAINTENANCE_NOTICE} | ||||
| data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT} | data-public-site-about={process.env.NEXT_PUBLIC_SITE_ABOUT} | ||||
| data-public-text-generation-timeout-ms={process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS} | data-public-text-generation-timeout-ms={process.env.NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS} | ||||
| data-public-top-k-max-value={process.env.NEXT_PUBLIC_TOP_K_MAX_VALUE} | |||||
| > | > | ||||
| <BrowserInitor> | <BrowserInitor> | ||||
| <SentryInitor> | <SentryInitor> |
| export NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS=${TEXT_GENERATION_TIMEOUT_MS} | export NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS=${TEXT_GENERATION_TIMEOUT_MS} | ||||
| export NEXT_PUBLIC_CSP_WHITELIST=${CSP_WHITELIST} | export NEXT_PUBLIC_CSP_WHITELIST=${CSP_WHITELIST} | ||||
| export NEXT_PUBLIC_TOP_K_MAX_VALUE=${TOP_K_MAX_VALUE} | |||||
| pm2 start ./pm2.json --no-daemon | pm2 start ./pm2.json --no-daemon |