Container (Docker)

Esta é a maneira recomendada de usar as novas versões do Plone

Primeiramente você deve instalar o Docker em seu computador, consulte a documentação (em Inglês) para instruções de instalação em seu sistema operacional.

Interface Clássica

Com o Docker instalado, abra um terminal e digite o comando:

docker run --name plone6-classic -e SITE=Plone -e SETUP_CONTENT=1 -e TYPE=classic -d -p 8080:8080 plone/plone-backend:6.0.0a6

Explicando este comando:

  • docker run: Inicie um novo container
  • --name plone6-classic: Nomeie o novo container como plone6-classic
  • -e SITE=Plone: Durante a inicialização do container, crie um novo site com o id Plone
  • -e SETUP_CONTENT=1: Durante a inicialização, crie conteúdo de exemplo
  • -e TYPE=classic: Durante a inicialização, crie o site com a interface clássica do Plone
  • -d: Rode o container como um daemon (Não bloqueia o terminal)
  • -p 8080:8080 : Disponibilize a porta 8080 do container (padrão para servidores Plone) como porta 8080 no seu computador
  • plone/plone-backend:6.0.0a6 : Utilize a image plone/plone-backend:6.0.0a6 para este container.

Após a inicialização do container, abra seu navegador no endereço http://localhost:8080/Plone e você terá acesso ao site criado.

Faça o login utilizando o usuário admin e senha admin.

Este site utiliza a interface clássica do Plone -- conhecida como Barceloneta -- que é gerada diretamente no pelo servidor de backend.

Quando quiser parar este container, rode o comando

docker stop plone6-classic

E para remover o container

docker rm plone6-classic

Interface Padrão

O Plone, a partir de sua versão 6, terá uma interface de usuário implementada inteiramente em React. Esta interface utiliza um servidor NodeJS para servir o conteúdo gerado pelo backend Plone.

Diferentemente do que fizemos com a interface Clássica, agora necessitamos iniciar dois containers: Um para o backend e outro para a interface de usuário.

Para iniciar o container do backend, rode o comando:

docker run --name plone6-backend -e SITE=Plone -e CORS_ALLOW_ORIGIN='*' -d -p 8080:8080 plone/plone-backend:6.0.0a6

Explicando este comando:

  • docker run: Inicie um novo container
  • --name plone6-backend: Nomeie o novo container como plone6-backend
  • -e SITE=Plone: Durante a inicialização do container, crie um novo site com o id Plone
  • -e CORS_ALLOW_ORIGIN='*': Durante a inicialização, configure o backend para aceitar requisições a partir de qualquer endereço
  • -d: Rode o container como um daemon (Não bloqueia o terminal)
  • -p 8080:8080 : Disponibilize a porta 8080 do container (padrão para servidores Plone) como porta 8080 no seu computador
  • plone/plone-backend:6.0.0a6 : Utilize a image plone/plone-backend:6.0.0a6 para este container.

Para iniciar o container de frontend, rode o comando:

docker run --name plone6-frontend --link plone6-backend:backend \
-e RAZZLE_API_PATH=http://localhost:8080/Plone \
-e RAZZLE_INTERNAL_API_PATH=http://backend:8080/Plone \
-d -p 3000:3000 plone/plone-frontend:latest

Explicando este comando:

  • docker run: Inicie um novo container
  • --name plone6-frontend: Nomeie o novo container como plone6-frontend
  • --link plone6-backend:backend : Link (conecte) o container plone6-backend a este novo container, usando o nome de backend
  • -e RAZZLE_API_PATH=http://localhost:8080/Plone: Reescreva as chamadas de API utilizando este endereço
  • -e RAZZLE_INTERNAL_API_PATH=http://backend:8080/Plone: Internamente se comunique com o backend através deste endereço
  • -d: Rode o container como um daemon (Não bloqueia o terminal)
  • -p 3000:3000 : Disponibilize a porta 3000 do container (padrão do servidor NodeJS) como porta 3000 no seu computador
  • plone/plone-frontend:latest : Utilize a image plone/plone-backend:latest para este container.

Após a inicialização do container, abra seu navegador no endereço http://localhost:3000 e você terá acesso ao site criado.


Faça o login utilizando o usuário admin e senha admin.


Este site utiliza a interface padrão do Plone -- conhecida como Volto -- que se comunica com o servidor de backend através de uma API Rest.

Quando quiser parar os containere, rode o comando

docker stop plone6-backend plone6-frontend

E para remover ambos os containers

docker rm plone6--backend plone6-frontend