Oi Gabriel, tudo bom?
Estou precisando fazer algo parecido, porém, preciso rodar o AdminJs dentro de um container em produção. Sendo assim, toda vez que executo o adminjs com NODE_ENV=production, o container para de funcinoar depois de algum tempo rodando:
manager | query: SELECT * FROM current_schema()
manager | query: SELECT version();
manager | query: SELECT * FROM current_schema()
manager | query: SELECT version();
manager | query: SELECT * FROM current_schema()
manager | query: SELECT version();
manager | query: SELECT * FROM current_schema()
manager | query: SELECT version();
manager | AdminJS: bundling user components...
manager | AdminJS: bundling user components...
manager | AdminJS available at http://localhost:3000/admin
manager | ELIFECYCLE Command failed.
Estou usando componentes customizados dessa forma:
export rt const generateAdminJSConfig: () => AdminJSOptions = () => {
return {
branding,
componentLoader, <-- Quando eu coloco esta linha, o container quebra. Sem ela, funciona normalmente.
components: {
dashboard: DEFAULT_DASHBOARD,
},
...
FROM node:18-alpine
ARG NPM_TOKEN
# Definir o diretório de trabalho
WORKDIR /usr/src/app
# Copiar os arquivos de configuração
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
# Copiar o package.json do pacote
COPY packages/manager/package.json ./packages/manager/
COPY tsconfig*.json ./
COPY packages/manager/tsconfig*.json ./packages/manager/
# Instalar pnpm
RUN npm install -g pnpm
# Instalar todas as dependências, incluindo devDependencies
RUN pnpm --filter . --filter ./packages/manager... install
# Copiar o código do pacote
COPY packages/manager ./packages/manager
# Compilar o código do pacote
RUN pnpm --filter ./packages/manager... build
# Definir o diretório de trabalho para o pacote
WORKDIR /usr/src/app/packages/manager
# Expor a porta da aplicação
EXPOSE 3000
# Comando para iniciar a aplicação em modo de desenvolvimento
CMD ["pnpm", "run", "start"]
O que me faz pensar que o problema esta na forma que estou importando componentes custom.