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