Developing Discourse using a Dev Container

Para quem não é casado com o VSCode, este é o processo para usar devcontainers apenas com o CLI do devcontainers.
Supondo que você já tenha o devcontainers instalado:

Construir Container

git clone https://github.com/discourse/discourse && cd discourse
devcontainer build
devcontainer up --workspace-folder .
devcontainer exec bash

Uma vez dentro do container, você precisa construir as dependências:

pnpm install
bundle install
SKIP_MULTISITE=1 SKIP_TEST_DATABASE=1 bin/rake db:create db:migrate
DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATE=1 bin/ember-cli -u > /dev/null 2>&1 &
  • Altere /dev/null para um arquivo diferente se quiser ver os logs
  • Se quiser mantê-lo em execução mesmo após desconectar do shell, execute disown

Acessar o Discourse

docker inspect <nome> | jq '.[0].NetworkSettings.Networks.bridge.IPAddress'

Isso revelará o endereço IP atribuído ao container.
No seu navegador, abra http://<ipaddress>:4200

Limpeza

Para excluir seu devcontainer (as opções down/delete ainda não foram desenvolvidas):
Recupere o nome do container:
docker ps
Pare e exclua o container:
docker stop <nome> && docker rm <nome>
Exclua os volumes:
docker volume rm discourse-node_modules discourse-pg discourse-redis

2 curtidas