Перейти до вмісту

Змінні середовища

Усі вони задаються у файлі .env поруч із docker-compose.yml, який читає docker compose (повний шаблон із коментарями — .env.example). З docker run передавайте їх через -e. Порожнє значення означає «не задано».

ЗміннаПризначення
POSTGRES_PASSWORDпароль контейнера PostgreSQL
BASEDB_ENCRYPTION_KEYключ екземпляра: підписує сеанси, шифрує секрети. openssl rand -base64 32, один раз назавжди
ЗміннаТиповоПризначення
POSTGRES_USERbasedbроль PostgreSQL
POSTGRES_DBbasedbбаза PostgreSQL
POSTGRES_PORT5432порт, відкритий на 127.0.0.1
DATABASE_URLконтейнер dbваша власна база PostgreSQL 16+
ЗміннаТиповоПризначення
BASEDB_MIGRATE1застосовує каталог на порожній базі
BASEDB_BOOTSTRAP1готує першого адміністратора
BASEDB_TENANTt4z56fqідентифікатор робочого простору в URL API
BASEDB_ADMIN_EMAIL—адреса першого адміністратора, якого створюють під час запуску; якщо порожня, його створює перша людина, що відкриє інтерфейс
BASEDB_ADMIN_PASSWORDзгенерований, показується один разразом із BASEDB_ADMIN_EMAIL — його пароль; якщо задано, він повторно застосовується до адміністратора під час кожного запуску: приберіть його після входу

Вхід через Google, Microsoft… (OIDC)

Section titled “Вхід через Google, Microsoft… (OIDC)”
ЗміннаТиповоПризначення
BASEDB_OIDC_PROVIDERS—запропоновані постачальники через кому: google,microsoft
BASEDB_OIDC_<NOM>_CLIENT_ID, _CLIENT_SECRET—застосунок, зареєстрований у постачальника
BASEDB_OIDC_<NOM>_ISSUERвбудований для google, gitlabвидавець OpenID Connect
BASEDB_OIDC_<NOM>_LABEL, _SCOPESзалежно від постачальниканазва кнопки, запитувані області доступу
BASEDB_OIDC_<NOM>_SIGNUP—off: перший вхід не створює облікового запису

Див. Облікові записи та вхід.

ЗміннаТиповоПризначення
BASEDB_PORT3000порт, відкритий на 127.0.0.1: інтерфейс, /api і /mcp
BASEDB_VERSIONlatestтег образу eodia/basedb
BASEDB_PUBLIC_URL—публічна адреса basedb для повернення OIDC
BASEDB_BASE_PATHшлях BASEDB_PUBLIC_URLшлях, під яким basedb обслуговується за шлюзом, /basedb для https://passerelle.example.com/basedb/; див. Docker Compose
BASEDB_DOMAIN—домен, який обслуговує через HTTPS проксі Caddy
BASEDB_ORIGINS—інші сайти, сторінки яких звертаються до API з браузера, через кому; не потрібно для інтерфейсу basedb, що обслуговується за тією самою адресою
BASEDB_API, BASEDB_MCP/, /mcpAPI та MCP з погляду браузера; налаштовуйте лише для середовища розробки (pnpm start)
ЗміннаТиповоПризначення
BASEDB_FILES_MAX_MB25максимальний розмір файлу
BASEDB_S3_BUCKET—вмикає сховище S3
BASEDB_S3_ENDPOINT—кінцева точка S3
BASEDB_S3_REGIONus-east-1регіон
BASEDB_S3_ACCESS_KEY_ID, BASEDB_S3_SECRET_ACCESS_KEY—облікові дані
BASEDB_S3_FORCE_PATH_STYLE10 для адресації за хостом

Без сервера вихідної пошти basedb не надсилає жодного листа. З ним надсилаються сповіщення, що залишилися непрочитаними десять хвилин (кожен вибирає, які саме, у Налаштування › Сповіщення), листи кроку Надіслати електронний лист автоматизацій, а також посилання для скидання пароля. Посилання вказують на BASEDB_PUBLIC_URL; без неї лист його не містить.

ЗміннаТиповоПризначення
BASEDB_SMTP_HOST—сервер SMTP: вашої поштової служби або служби надсилання
BASEDB_SMTP_PORT587465 для одразу зашифрованого з’єднання
BASEDB_SMTP_SECUREstarttls (tls на порту 465)none лише для ретранслятора на тій самій машині: інакше пароль пройшов би у відкритому вигляді
BASEDB_SMTP_USER, BASEDB_SMTP_PASSWORD—ідентифікатор облікового запису надсилання, якщо він його вимагає
BASEDB_MAIL_FROM—обов’язкова разом із BASEDB_SMTP_HOST: відправник, basedb <no-reply@exemple.fr>

Під час запуску журнал повідомляє, що налаштовано: Courriels : SMTP smtp.exemple.fr:587 (starttls), expéditeur no-reply@exemple.fr. Лист, який сервер відхилив, повторюється через 1, 5, 30, 120, а потім 360 хвилин.

Подання Мапа розміщує адресу за допомогою служби геокодування: типово — служба OpenStreetMap (Nominatim), яку запитують один раз для кожної адреси, не більше одного запиту на секунду, а кожну відповідь зберігають. Основа мапи складається з тайлів, які браузер кожного читача завантажує напряму.

ЗміннаТиповоПризначення
BASEDB_GEOCODER_URLhttps://nominatim.openstreetmap.orgінша служба, яка розмовляє тим самим протоколом (власний Nominatim); off: жодної — адреси не залишають екземпляр, і лише широта та довгота розміщують рядки
BASEDB_MAP_TILESтайли OpenStreetMapінший сервер тайлів, за шаблоном https://…/{z}/{x}/{y}.png
BASEDB_MAP_ATTRIBUTION© OpenStreetMapнапис, який вимагає цей сервер, у нижньому правому куті мапи

Під час запуску журнал повідомляє, яку службу використано: Géocodage : https://nominatim.openstreetmap.org.

ЗміннаТиповоПризначення
BASEDB_PDF_FONTSшрифти Noto з образуваша власна папка, змонтована в контейнер, що містить NotoSans-Regular.ttf, -Bold, -Italic, -BoldItalic, а для китайської, японської та корейської — NotoSansCJK-Regular.ttc і -Bold.ttc
ЗміннаТиповоПризначення
BASEDB_TEMPLATES_URLкаталог публічного сайтузвідки екземпляр читає шаблони для своєї галереї; off, щоб не читати жодного (вбудовані шаблони лишаються) — див. Шаблони
ЗміннаТиповоПризначення
BASEDB_AI_PROVIDER—openai, anthropic, mistral або openai_compatible (Azure, шлюз, локальна модель)
BASEDB_AI_MODEL—модель
BASEDB_AI_API_KEY—ключ (інакше OPENAI_API_KEY, ANTHROPIC_API_KEY, MISTRAL_API_KEY); необов’язковий для openai_compatible
BASEDB_AI_BASE_URLадреса постачальникаусе, що передує /chat/completions (/messages для anthropic), разом із параметрами; обов’язкова для openai_compatible — див. Штучний інтелект
BASEDB_AI_HEADERS—заголовки, що додаються до кожного виклику, у вигляді JSON-об’єкта: {"api-key":"…"}
BASEDB_AI_PROVIDER_SSL_VERIFYtruefalse: сертифікат TLS постачальника не перевіряється — внутрішній шлюз із самопідписаним сертифікатом; див. Штучний інтелект
BASEDB_AI_QUOTA120інтерактивних викликів на годину для кожного робочого простору
BASEDB_AI_FIELD_QUOTA300обчислень полів ШІ на годину для кожного робочого простору
BASEDB_AI_WORKER10: без фонових обчислень у цьому процесі

Вебхуки у внутрішню мережу

Section titled “Вебхуки у внутрішню мережу”
ЗміннаТиповоПризначення
BASEDB_WEBHOOK_ALLOW—ваші внутрішні сервери, розділені комами: ім’я (chat.intra.example.com), домен і його піддомени (*.intra.example.com), адреса або діапазон (10.12.0.0/16)

Вебхуки, HTTP-запити автоматизацій і синхронізовані таблиці йдуть лише на публічні адреси HTTPS. Додатково приймається ціль зі списку, хоч би якими були її адреса, порт і схема — включно з HTTP. Запис, який не вдається прочитати, блокує запуск. Див. Вебхуки.

Екземпляр, відкритий для всіх, як-от demo.basedb.eodia.com: екран входу заповнює спільний обліковий запис, відвідувач читає все й змінює те, що існує, але нічого не створює й не видаляє — базу, таблицю, рядок, файл, коментар, обліковий запис, токен, посилання, — а ШІ відповідає, що не бере участі в демоверсії. Консоль SQL тут лише читає. Повернення бази до початкового стану щоночі лишається на вашій відповідальності.

ЗміннаТиповоПризначення
BASEDB_DEMO—1: екземпляр стає публічною демоверсією
BASEDB_DEMO_ACCOUNTS—один обліковий запис на мову, розділені комами: fr=demo@demo.com,en=demo-en@demo.com; екран входу заповнює той, що відповідає його мові, інакше — англійський, інакше — перший, і пропонує інші. Створіть ці облікові записи, кожен зі своїм проєктом, перш ніж вмикати демоверсію: вона відхиляє створення для всіх, зокрема для адміністратора
BASEDB_DEMO_PASSWORD—разом із BASEDB_DEMO_ACCOUNTS — їхній пароль, однаковий для всіх, опублікований разом із ними

Без BASEDB_DEMO_ACCOUNTS спільним обліковим записом є адміністратор, якого визначають BASEDB_ADMIN_EMAIL і BASEDB_ADMIN_PASSWORD. Адреса демоверсії входить з опублікованим паролем, хоч би що ввели: невдалі спроби не блокують її для всіх.

ЗміннаПризначення
BASEDB_DEV_MAIL=1показує електронні листи в журналах замість надсилання
BASEDB_WEBHOOK_DEV=1дозволяє вебхуки на HTTP і локальні адреси

basedb — вільне програмне забезпечення від Eodia, студії ШІ-орієнтованого програмного забезпечення.