Уведомление об ИИ-переводе
Этот документ был переведён с помощью ИИ. Для получения точной информации обратитесь к английской версии.
#Установка Docker
Предварительные требования
- Установлены Docker и Docker Compose
- Убедитесь, что служба Docker запущена
#1. Создание docker-compose.yml
# Создайте папку с именем my-project (можно другое имя) для хранения системных файлов, созданных NocoBase
mkdir my-project && cd my-project
# Создайте пустой файл docker-compose.yml
vi docker-compose.yml#2. Настройка docker-compose.yml
Выберите версию NocoBase (Сравнение версий) и тип базы данных, скопируйте соответствующую конфигурацию в docker-compose.yml.
Примечания к конфигурации
- Выбор образа:
latestlatest-fullbetabeta-fullalphaalpha-full1.7.141.7.14-full- Для производственных сред рекомендуется фиксировать конкретную версию, чтобы избежать непреднамеренных автоматических обновлений. Посмотреть все версии
- Образ Alibaba Cloud:
registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full - Образ Docker Hub:
nocobase/nocobase:latest-full - full-образ включает клиенты PostgreSQL 16/17, MySQL 8.0, Oracle 19.25, необходимые для плагинов управления резервным копированием и миграцией, а также LibreOffice, необходимый для печати шаблонов (PDF)
- Если вам нужно собрать собственный образ, вы можете обратиться к офи циальным Dockerfile (облегченная версия) и Dockerfile-full (полная версия)
- Измените
APP_KEY: Пожалуйста, заменитеyour-secret-keyна случайную строку, используемую для шифрования токенов пользователей и другой конфиденциальной информации - Использование существующей базы данных: Если у вас уже есть служба базы данных, измените
DB_HOSTна адрес сервера базы данных и удалите или закомментируйте конфигурацию службы базы данных (например, службыpostgres,mysql,mariadb) - Маппинг портов: По умолчанию порт 80 контейнера сопоставляется с портом 13000 хоста, вы можете изменить его по мере необходимости
Latest версия
Beta версия
Alpha версия
PostgreSQL
MySQL
MariaDB
networks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=postgres
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=postgres
# Порт базы данных
- DB_PORT=5432
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=nocobase
# Пароль базы данных
- DB_PASSWORD=nocobase
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать postgres
postgres:
image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mysql
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mysql
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mysql
mysql:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mariadb
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mariadb
mariadb:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobasePostgreSQL
MySQL
MariaDB
networks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=postgres
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=postgres
# Порт базы данных
- DB_PORT=5432
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=nocobase
# Пароль базы данных
- DB_PASSWORD=nocobase
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать postgres
postgres:
image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mysql
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mysql
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mysql
mysql:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:beta-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mariadb
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mariadb
mariadb:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobasePostgreSQL
MySQL
MariaDB
networks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- postgres
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=postgres
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=postgres
# Порт базы данных
- DB_PORT=5432
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы д анных
- DB_USER=nocobase
# Пароль базы данных
- DB_PASSWORD=nocobase
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать postgres
postgres:
image: registry.cn-shanghai.aliyuncs.com/nocobase/postgres:16
restart: always
command: postgres -c wal_level=logical
environment:
POSTGRES_USER: nocobase
POSTGRES_DB: nocobase
POSTGRES_PASSWORD: nocobase
volumes:
- ./storage/db/postgres:/var/lib/postgresql/data
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- mysql
environment:
# Клю ч приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mysql
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mysql
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mysql
mysql:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mysql:8
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mysql:/var/lib/mysql
networks:
- nocobasenetworks:
nocobase:
driver: bridge
services:
app:
image: registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:alpha-full
restart: always
networks:
- nocobase
depends_on:
- mariadb
environment:
# Ключ приложения, используемый для генерации токенов пользователей и т. д.
# Если APP_KEY будет изменен, старые токены также станут недействительными
# Может быть любой случайной строкой, убедитесь, что она не разглашается
- APP_KEY=your-secret-key
# Тип базы данных, поддерживает postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Хост базы данных, можно заменить на IP существующего сервера базы данных
- DB_HOST=mariadb
# Порт базы данных
- DB_PORT=3306
# Имя базы данных
- DB_DATABASE=nocobase
# Пользователь базы данных
- DB_USER=root
# Пароль базы данных
- DB_PASSWORD=nocobase
# Преобразовывать ли имена таблиц и полей базы данных в стиль snake_case
- DB_UNDERSCORED=true
# Часовой пояс
- TZ=Asia/Shanghai
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Если вы используете существующую службу базы данных, вы можете не запускать mariadb
mariadb:
image: registry.cn-shanghai.aliyuncs.com/nocobase/mariadb:11
environment:
MYSQL_DATABASE: nocobase
MYSQL_USER: nocobase
MYSQL_PASSWORD: nocobase
MYSQL_ROOT_PASSWORD: nocobase
restart: always
volumes:
- ./storage/db/mariadb:/var/lib/mysql
networks:
- nocobase#3. Установка и запуск NocoBase
# Загрузите последние образы
docker compose pull
# Запустите в фоновом режиме (при первом запуске установка выполнится автоматически)
docker compose up -d
# Просмотрите логи установки и работы
docker compose logs -f app
app-postgres-app-1 | nginx started
app-postgres-app-1 | yarn run v1.22.15
app-postgres-app-1 | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s
app-postgres-app-1 | Done in 2.72s.
app-postgres-app-1 | yarn run v1.22.15
app-postgres-app-1 | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode-
app-postgres-app-1 | 2022-04-28T15:45:38: PM2 log: App [index:0] online
app-postgres-app-1 | 🚀 NocoBase server running at: http://localhost:13000/#4. Вход в NocoBase
Откройте http://localhost:13000 в браузере. Начальный логин и пароль: admin@nocobase.com и admin123.
Уведомление о безопасности учетной записи
После первого входа в систему, пожалуйста, своевременно измените пароль по умолчанию для обеспечения безопасности системы.

