콘텐츠로 이동

환경 변수

모든 변수는 docker-compose.yml 옆에 있는 .env 파일에 넣으며, docker compose가 이 파일을 읽습니다(주석이 달린 전체 예시는 .env.example에 있습니다). docker run을 쓴다면 -e로 전달하세요. 빈 값은 “설정되지 않음”으로 처리됩니다.

변수역할
POSTGRES_PASSWORDPostgreSQL 컨테이너의 비밀번호
BASEDB_ENCRYPTION_KEY인스턴스 키: 세션에 서명하고 비밀 정보를 암호화합니다. openssl rand -base64 32로 한 번만 생성
변수기본값역할
POSTGRES_USERbasedbPostgreSQL 역할
POSTGRES_DBbasedbPostgreSQL 데이터베이스
POSTGRES_PORT5432127.0.0.1에 공개되는 포트
DATABASE_URLdb 컨테이너직접 운영하는 PostgreSQL 16 이상 데이터베이스
변수기본값역할
BASEDB_MIGRATE1빈 데이터베이스에 카탈로그 적용
BASEDB_BOOTSTRAP1첫 관리자 준비
BASEDB_TENANTt4z56fqAPI URL에 들어가는 워크스페이스(테넌트) 식별자
BASEDB_ADMIN_EMAIL—시작할 때 만들어지는 첫 관리자의 주소. 비어 있으면 인터페이스를 처음 여는 사람이 관리자를 만듦
BASEDB_ADMIN_PASSWORD생성되어 한 번 표시됨BASEDB_ADMIN_EMAIL과 함께 쓰는 관리자 비밀번호. 설정되어 있으면 시작할 때마다 관리자에게 다시 적용되므로, 로그인한 뒤에는 제거할 것

Google, Microsoft 등으로 로그인(OIDC)

섹션 제목: “Google, Microsoft 등으로 로그인(OIDC)”
변수기본값역할
BASEDB_OIDC_PROVIDERS—제공할 공급자, 쉼표로 구분: google,microsoft
BASEDB_OIDC_<NOM>_CLIENT_ID, _CLIENT_SECRET—공급자에 등록한 애플리케이션
BASEDB_OIDC_<NOM>_ISSUERgoogle, gitlab은 기본 제공OpenID Connect 발급자
BASEDB_OIDC_<NOM>_LABEL, _SCOPES공급자에 따라 다름버튼 이름, 요청할 범위
BASEDB_OIDC_<NOM>_SIGNUP—off: 첫 로그인 시 계정을 만들지 않음

계정과 로그인을 참고하세요.

변수기본값역할
BASEDB_PORT3000127.0.0.1에 공개되는 포트: 인터페이스, /api, /mcp
BASEDB_VERSIONlatesteodia/basedb 이미지의 태그
BASEDB_PUBLIC_URL—OIDC 리디렉션에 쓰이는 basedb의 공개 주소
BASEDB_BASE_PATHBASEDB_PUBLIC_URL의 경로게이트웨이 뒤에서 basedb가 제공되는 경로. https://passerelle.example.com/basedb/라면 /basedb; Docker Compose 참고
BASEDB_DOMAIN—Caddy 프록시가 HTTPS로 제공하는 도메인
BASEDB_ORIGINS—페이지가 브라우저에서 API를 호출하는 다른 사이트, 쉼표로 구분. 같은 주소로 제공되는 basedb 인터페이스에는 필요 없음
BASEDB_API, BASEDB_MCP/, /mcp브라우저에서 본 API와 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_STYLE1호스트 방식 주소 지정에는 0

발송 서버가 없으면 basedb는 이메일을 전혀 보내지 않습니다. 발송 서버가 있으면 10분 동안 읽지 않은 알림(각자 설정 › 알림에서 어떤 알림을 받을지 선택), 자동화의 이메일 보내기 단계가 보내는 이메일, 그리고 비밀번호 찾기 링크가 이메일로 발송됩니다. 링크는 BASEDB_PUBLIC_URL을 가리키며, 이 값이 없으면 이메일에 링크가 들어가지 않습니다.

변수기본값역할
BASEDB_SMTP_HOST—SMTP 서버: 사용 중인 메일 서비스나 발송 대행 서비스의 서버
BASEDB_SMTP_PORT587처음부터 암호화된 연결을 쓰려면 465
BASEDB_SMTP_SECUREstarttls(465번 포트에서는 tls)같은 서버의 릴레이에만 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_TILESOpenStreetMap의 타일다른 타일 서버, 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 앞까지의 부분(anthropic은 /messages)이며 매개변수도 포함. openai_compatible에서는 필수. 인공지능 참고
BASEDB_AI_HEADERS—모든 호출에 추가되는 헤더로, JSON 객체: {"api-key":"…"}
BASEDB_AI_PROVIDER_SSL_VERIFYtruefalse: 공급자의 TLS 인증서를 검증하지 않음. 자체 서명 인증서를 쓰는 내부 게이트웨이용. 인공지능 참고
BASEDB_AI_QUOTA120워크스페이스별 시간당 대화형 호출 수
BASEDB_AI_FIELD_QUOTA300워크스페이스별 시간당 AI 필드 계산 수
BASEDB_AI_WORKER10: 이 프로세스에서 백그라운드 계산을 하지 않음
변수기본값역할
BASEDB_WEBHOOK_ALLOW—쉼표로 구분한 내부 서버 목록: 이름(chat.intra.example.com), 도메인과 그 하위 도메인(*.intra.example.com), 주소 또는 범위(10.12.0.0/16)

웹훅, 자동화의 HTTP 요청, 동기화된 테이블은 공개 HTTPS 주소로만 나갑니다. 목록에 있는 대상은 주소, 포트, 스킴에 관계없이 — HTTP를 포함해 — 추가로 허용됩니다. 읽을 수 없는 항목이 있으면 시작이 차단됩니다. 웹훅 참고.

demo.basedb.eodia.com처럼 누구에게나 열려 있는 인스턴스에서는 로그인 화면에 공유 계정이 미리 채워지고, 방문자는 모든 것을 읽고 이미 있는 것을 수정할 수 있지만 데이터베이스, 테이블, 행, 파일, 댓글, 계정, 토큰, 링크 등 무엇도 새로 만들거나 삭제할 수 없습니다. AI는 자신이 데모에 포함되지 않는다고 답합니다. 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=1HTTP와 로컬 주소로 웹훅 전송 허용

basedb는 AI 네이티브 소프트웨어 스튜디오 Eodia가 만든 자유 소프트웨어입니다.