logologo
시작
가이드
개발
플러그인
API
홈
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
시작
가이드
개발
플러그인
API
홈
logologo
NocoBase 작동 방식
설치 방법 및 버전 비교

NocoBase 설치

Docker 설치
create-nocobase-app 설치
Git 소스 코드 설치
환경 변수

NocoBase 업그레이드

Docker 설치 업그레이드
create-nocobase-app 설치 업그레이드
Git 소스 코드 설치 업그레이드

배포

프로덕션 환경 배포

정적 리소스 프록시

nginx
caddy
cdn

일반적인 운영 명령어

docker compose
pm2
더 빠른 배포 방법
플러그인 설치 & 업그레이드
Previous PageGit 소스 코드 설치
Next PageDocker 설치 업그레이드
TIP

이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요

#환경 변수

#환경 변수를 설정하는 방법

#Git 소스 코드 또는 create-nocobase-app 설치 방식

프로젝트 루트 디렉터리에 있는 .env 파일에서 환경 변수를 설정합니다. 환경 변수를 수정한 후에는 애플리케이션 프로세스를 종료하고 다시 시작해야 합니다.

#Docker 설치 방식

docker-compose.yml 설정을 수정하고 environment 매개변수에서 환경 변수를 설정합니다. 예시:

services:
  app:
    image: nocobase/nocobase:latest
    environment:
      - APP_ENV=production

env_file을 사용하여 .env 파일에 환경 변수를 설정할 수도 있습니다. 예시:

services:
  app:
    image: nocobase/nocobase:latest
    env_file: .env

환경 변수를 수정한 후에는 앱 컨테이너를 다시 빌드해야 합니다.

docker compose up -d app

#전역 환경 변수

#TZ

애플리케이션의 시간대를 설정하는 데 사용되며, 기본값은 운영체제의 시간대입니다.

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

WARNING

시간 관련 작업은 이 시간대에 따라 처리됩니다. TZ를 변경하면 데이터베이스의 날짜 값에 영향을 미칠 수 있습니다. 자세한 내용은 「날짜 & 시간 개요」를 참조하십시오.

#APP_ENV

애플리케이션 환경입니다. 기본값은 development이며, 다음 옵션이 있습니다:

  • production 프로덕션 환경
  • development 개발 환경
APP_ENV=production

#APP_KEY

애플리케이션의 비밀 키로, 사용자 토큰 등을 생성하는 데 사용됩니다. 자신만의 애플리케이션 키로 변경하고 외부에 유출되지 않도록 주의하십시오.

WARNING

APP_KEY가 변경되면 기존 토큰도 무효화됩니다.

APP_KEY=app-key-test

#APP_PORT

애플리케이션 포트입니다. 기본값은 13000입니다.

APP_PORT=13000

#API_BASE_PATH

NocoBase API 주소 접두사입니다. 기본값은 /api/입니다.

API_BASE_PATH=/api/

#API_BASE_URL

#CLUSTER_MODE

v1.6.0+

다중 코어(클러스터) 시작 모드입니다. 이 변수를 설정하면 pm2 start 명령에 -i <instances> 매개변수로 전달됩니다. 옵션은 pm2 -i 매개변수와 동일하며 (PM2: Cluster Mode 참조), 다음을 포함합니다:

  • max: CPU 최대 코어 수 사용
  • -1: CPU 최대 코어 수 -1 사용
  • <number>: 지정된 코어 수

기본값은 비어 있으며, 이는 활성화되지 않음을 의미합니다.

주의

이 모드는 클러스터 모드 관련 플러그인과 함께 사용해야 합니다. 그렇지 않으면 애플리케이션 기능에 예기치 않은 문제가 발생할 수 있습니다.

자세한 내용은 클러스터 모드를 참조하십시오.

#PLUGIN_PACKAGE_PREFIX

플러그인 패키지 이름 접두사입니다. 기본값은 @nocobase/plugin-,@nocobase/preset-입니다.

예를 들어, my-nocobase-app 프로젝트에 hello 플러그인을 추가하면 플러그인의 전체 패키지 이름은 @my-nocobase-app/plugin-hello가 됩니다.

PLUGIN_PACKAGE_PREFIX는 다음과 같이 설정할 수 있습니다:

PLUGIN_PACKAGE_PREFIX=@nocobase/plugin-,@nocobase-preset-,@my-nocobase-app/plugin-

그러면 플러그인 이름과 패키지 이름의 대응 관계는 다음과 같습니다:

  • users 플러그인의 패키지 이름은 @nocobase/plugin-users입니다.
  • nocobase 플러그인의 패키지 이름은 @nocobase/preset-nocobase입니다.
  • hello 플러그인의 패키지 이름은 @my-nocobase-app/plugin-hello입니다.

#DB_DIALECT

데이터베이스 유형입니다. 다음 옵션이 있습니다:

  • mariadb
  • mysql
  • postgres
DB_DIALECT=mysql

#DB_HOST

데이터베이스 호스트입니다 (MySQL 또는 PostgreSQL 데이터베이스를 사용할 때 필요합니다).

기본값은 localhost입니다.

DB_HOST=localhost

#DB_PORT

데이터베이스 포트입니다 (MySQL 또는 PostgreSQL 데이터베이스를 사용할 때 필요합니다).

  • MySQL, MariaDB의 기본 포트는 3306입니다.
  • PostgreSQL의 기본 포트는 5432입니다.
DB_PORT=3306

#DB_DATABASE

데이터베이스 이름입니다 (MySQL 또는 PostgreSQL 데이터베이스를 사용할 때 필요합니다).

DB_DATABASE=nocobase

#DB_USER

데이터베이스 사용자입니다 (MySQL 또는 PostgreSQL 데이터베이스를 사용할 때 필요합니다).

DB_USER=nocobase

#DB_PASSWORD

데이터베이스 비밀번호입니다 (MySQL 또는 PostgreSQL 데이터베이스를 사용할 때 필요합니다).

DB_PASSWORD=nocobase

#DB_TABLE_PREFIX

데이터 테이블 접두사입니다.

DB_TABLE_PREFIX=nocobase_

#DB_UNDERSCORED

데이터베이스 테이블 이름과 필드 이름을 스네이크 케이스 스타일로 변환할지 여부입니다. 기본값은 false입니다. MySQL(MariaDB) 데이터베이스를 사용하고 lower_case_table_names=1인 경우, DB_UNDERSCORED는 반드시 true여야 합니다.

WARNING

DB_UNDERSCORED=true일 때, 데이터베이스의 실제 테이블 이름과 필드 이름은 UI에 표시되는 것과 다를 수 있습니다. 예를 들어, orderDetails는 데이터베이스에서 order_details로 저장됩니다.

#DB_LOGGING

데이터베이스 로그 스위치입니다. 기본값은 off이며, 다음 옵션이 있습니다:

  • on 켜기
  • off 끄기
DB_LOGGING=on

#DB_POOL_MAX

데이터베이스 연결 풀의 최대 연결 수입니다. 기본값은 5입니다.

#DB_POOL_MIN

데이터베이스 연결 풀의 최소 연결 수입니다. 기본값은 0입니다.

#DB_POOL_IDLE

데이터베이스 연결 풀의 유휴 시간입니다. 기본값은 10000 (10초)입니다.

#DB_POOL_ACQUIRE

데이터베이스 연결 풀에서 연결을 가져오는 최대 대기 시간입니다. 기본값은 60000 (60초)입니다.

#DB_POOL_EVICT

데이터베이스 연결 풀 연결의 최대 수명 시간입니다. 기본값은 1000 (1초)입니다.

#DB_POOL_MAX_USES

연결이 폐기되고 교체되기 전에 사용될 수 있는 횟수입니다. 기본값은 0 (제한 없음)입니다.

#LOGGER_TRANSPORT

로그 출력 방식입니다. 여러 개는 ,로 구분합니다. 개발 환경의 기본값은 console이고, 프로덕션 환경의 기본값은 console,dailyRotateFile입니다. 옵션:

  • console - console.log
  • file - 파일
  • dailyRotateFile - 일별 로테이션 파일
LOGGER_TRANSPORT=console,dailyRotateFile

#LOGGER_BASE_PATH

파일 기반 로그 저장 경로입니다. 기본값은 storage/logs입니다.

LOGGER_BASE_PATH=storage/logs

#LOGGER_LEVEL

출력 로그 레벨입니다. 개발 환경의 기본값은 debug이고, 프로덕션 환경의 기본값은 info입니다. 옵션:

  • error
  • warn
  • info
  • debug
  • trace
LOGGER_LEVEL=info

데이터베이스 로그 출력 레벨은 debug이며, DB_LOGGING에 의해 출력 여부가 제어되고 LOGGER_LEVEL의 영향을 받지 않습니다.

#LOGGER_MAX_FILES

최대 보존 로그 파일 수입니다.

  • LOGGER_TRANSPORT가 file일 때, 기본값은 10입니다.
  • LOGGER_TRANSPORT가 dailyRotateFile일 때, [n]d는 일수를 나타냅니다. 기본값은 14d입니다.
LOGGER_MAX_FILES=14d

#LOGGER_MAX_SIZE

크기별 로그 로테이션입니다.

  • LOGGER_TRANSPORT가 file일 때, 단위는 byte이며, 기본값은 20971520 (20 * 1024 * 1024)입니다.
  • LOGGER_TRANSPORT가 dailyRotateFile일 때, [n]k, [n]m, [n]g를 사용할 수 있습니다. 기본적으로 설정되어 있지 않습니다.
LOGGER_MAX_SIZE=20971520

#LOGGER_FORMAT

로그 출력 형식입니다. 개발 환경의 기본값은 console이고, 프로덕션 환경의 기본값은 json입니다. 옵션:

  • console
  • json
  • logfmt
  • delimiter
LOGGER_FORMAT=json

참고: 로그 형식

#CACHE_DEFAULT_STORE

캐싱 방식의 고유 식별자이며, 서버의 기본 캐싱 방식을 지정합니다. 기본값은 memory이며, 내장 옵션은 다음과 같습니다:

  • memory
  • redis
CACHE_DEFAULT_STORE=memory

#CACHE_MEMORY_MAX

메모리 캐시 항목의 최대 개수입니다. 기본값은 2000입니다.

CACHE_MEMORY_MAX=2000

#CACHE_REDIS_URL

Redis 연결입니다. 선택 사항입니다. 예시: redis://localhost:6379

CACHE_REDIS_URL=redis://localhost:6379

#TELEMETRY_ENABLED

텔레메트리 데이터 수집을 활성화합니다. 기본값은 off입니다.

TELEMETRY_ENABLED=on

#TELEMETRY_METRIC_READER

활성화된 모니터링 지표 수집기입니다. 기본값은 console입니다. 다른 값은 해당 수집기 플러그인이 등록한 이름을 참조해야 합니다 (예: prometheus). 여러 개는 ,로 구분합니다.

TELEMETRY_METRIC_READER=console,prometheus

#TELEMETRY_TRACE_PROCESSOR

활성화된 추적 데이터 프로세서입니다. 기본값은 console입니다. 다른 값은 해당 프로세서 플러그인이 등록한 이름을 참조해야 합니다. 여러 개는 ,로 구분합니다.

TELEMETRY_TRACE_PROCESSOR=console

#실험적 환경 변수

#APPEND_PRESET_LOCAL_PLUGINS

사전 설정된 비활성 플러그인을 추가하는 데 사용됩니다. 값은 플러그인 패키지 이름(package.json의 name 매개변수)이며, 여러 플러그인은 쉼표로 구분합니다.

:::info

  1. 플러그인이 로컬에 다운로드되어 node_modules 디렉터리에서 찾을 수 있는지 확인해야 합니다. 자세한 내용은 플러그인 구성 방식을 참조하십시오.
  2. 환경 변수를 추가한 후에는 초기 설치(nocobase install) 또는 업그레이드(nocobase upgrade)를 완료해야 플러그인 관리자 페이지에 표시됩니다. :::
APPEND_PRESET_LOCAL_PLUGINS=@my-project/plugin-foo,@my-project/plugin-bar

#APPEND_PRESET_BUILT_IN_PLUGINS

내장되어 기본적으로 설치되는 플러그인을 추가하는 데 사용됩니다. 값은 플러그인 패키지 이름(package.json의 name 매개변수)이며, 여러 플러그인은 쉼표로 구분합니다.

:::info

  1. 플러그인이 로컬에 다운로드되어 node_modules 디렉터리에서 찾을 수 있는지 확인해야 합니다. 자세한 내용은 플러그인 구성 방식을 참조하십시오.
  2. 환경 변수를 추가한 후에는 초기 설치(nocobase install) 또는 업그레이드(nocobase upgrade) 시 플러그인이 자동으로 설치되거나 업그레이드됩니다. :::
APPEND_PRESET_BUILT_IN_PLUGINS=@my-project/plugin-foo,@my-project/plugin-bar

#임시 환경 변수

NocoBase를 설치할 때, 임시 환경 변수를 설정하여 설치를 보조할 수 있습니다. 예를 들어:

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  INIT_ROOT_NICKNAME="Super Admin" \
  nocobase install

# 등가
yarn nocobase install \
  --lang=zh-CN  \
  --root-email=demo@nocobase.com \
  --root-password=admin123 \
  --root-nickname="Super Admin"

# 등가
yarn nocobase install -l zh-CN -e demo@nocobase.com -p admin123 -n "Super Admin"

#INIT_APP_LANG

설치 시 언어입니다. 기본값은 en-US이며, 다음 옵션이 있습니다:

  • en-US
  • zh-CN
yarn cross-env \
  INIT_APP_LANG=zh-CN \
  nocobase install

#INIT_ROOT_EMAIL

루트 사용자 이메일입니다.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  nocobase install

#INIT_ROOT_PASSWORD

루트 사용자 비밀번호입니다.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  nocobase install

#INIT_ROOT_NICKNAME

루트 사용자 닉네임입니다.

yarn cross-env \
  INIT_APP_LANG=zh-CN \
  INIT_ROOT_EMAIL=demo@nocobase.com \
  INIT_ROOT_PASSWORD=admin123 \
  INIT_ROOT_NICKNAME="Super Admin" \
  nocobase install