Aviso de tradução por IA
Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
#Instalação via Docker
Pré-requisitos
- Docker e Docker Compose instalados
- Certifique-se de que o serviço Docker esteja em execução
#1. Criar o docker-compose.yml
# Crie uma pasta chamada my-project (pode ser outro nome) para armazenar os arquivos de sistema gerados pelo NocoBase
mkdir my-project && cd my-project
# Crie um arquivo docker-compose.yml vazio
vi docker-compose.yml#2. Configurar o docker-compose.yml
Escolha a versão do NocoBase (Comparação de Versões) e o tipo de banco de dados, então copie a configuração correspondente para o docker-compose.yml.
Notas de Configuração
- Escolha uma imagem:
latestlatest-fullbetabeta-fullalphaalpha-full1.7.141.7.14-full- Para ambientes de produção, recomenda-se fixar uma versão numérica específica para evitar atualizações automáticas indesejadas. Ver todas as versões
- Imagem do Alibaba Cloud:
registry.cn-shanghai.aliyuncs.com/nocobase/nocobase:latest-full - Imagem do Docker Hub:
nocobase/nocobase:latest-full - A imagem full contém os clientes PostgreSQL 16/17, MySQL 8.0 e Oracle 19.25 necessários para os plugins de gerenciamento de backup e migração, bem como o LibreOffice necessário para a impressão de modelos (PDF)
- Se você precisar criar sua própria imagem, pode consultar o Dockerfile (versão slim) e o Dockerfile-full (versão completa) oficiais
- Modificar
APP_KEY: Substituayour-secret-keypor uma string aleatória, usada para criptografar informações sensíveis, como tokens de usuário - Usar um banco de dados existente: Se você já tiver um serviço de banco de dados, altere o
DB_HOSTpara o endereço do servidor de banco de dados e exclua ou comente a configuração do serviço de banco de dados (como os serviçospostgres,mysql,mariadb) - Mapeamento de portas: Por padrão, a porta 80 do contêiner é mapeada para a porta 13000 do host, podendo ser modificada conforme necess ário
Versão Latest
Versão Beta
Versão 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=postgres
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=postgres
# Porta do banco de dados
- DB_PORT=5432
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=nocobase
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mysql
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mysql
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mariadb
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=postgres
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=postgres
# Porta do banco de dados
- DB_PORT=5432
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=nocobase
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mysql
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mysql
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mariadb
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=postgres
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=postgres
# Porta do banco de dados
- DB_PORT=5432
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=nocobase
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mysql
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mysql
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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:
# Chave da aplicação, usada para gerar tokens de usuário, etc.
# Se a APP_KEY for alterada, os tokens antigos também se tornarão inválidos
# Pode ser qualquer string aleatória, certifique-se de não vazá-la
- APP_KEY=your-secret-key
# Tipo de banco de dados, suporta postgres, mysql, mariadb
- DB_DIALECT=mariadb
# Host do banco de dados, pode ser substituído pelo IP de um servidor de banco de dados existente
- DB_HOST=mariadb
# Porta do banco de dados
- DB_PORT=3306
# Nome do banco de dados
- DB_DATABASE=nocobase
# Usuário do banco de dados
- DB_USER=root
# Senha do banco de dados
- DB_PASSWORD=nocobase
# Se os nomes das tabelas e campos do banco de dados devem ser convertidos para o estilo snake case
- DB_UNDERSCORED=true
# Fuso horário
- TZ=America/Sao_Paulo
volumes:
- ./storage:/app/nocobase/storage
ports:
- '13000:80'
# init: true
# Se você usar um serviço de banco de dados existente, não é necessário iniciar o 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. Instalar e iniciar o NocoBase
# Baixar as imagens mais recentes
docker compose pull
# Executar em segundo plano (a instalação será executada automaticamente na primeira execução)
docker compose up -d
# Ver os logs de instalação e execução
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. Fazer login no NocoBase
Use o navegador para abrir http://localhost:13000. A conta e a senha iniciais são admin@nocobase.com e admin123.
Aviso de Segurança da Conta
Após o primeiro login, altere a senha padrão imediatamente para garantir a segurança do sistema.

