Developing Discourse using a Dev Container

Para quienes no están casados con VSCode, este es el proceso para usar devcontainers solo con la CLI de devcontainers.
Suponiendo que ya tienes devcontainers instalado:

Construir contenedor

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

Una vez dentro del contenedor, necesitas construir las dependencias:

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 &
  • Cambia /dev/null por un archivo diferente si quieres ver los registros.
  • Si quieres dejarlo ejecutándose mientras te desconectas de la shell, ejecuta disown.

Acceder a Discourse

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

Esto mostrará la dirección IP asignada al contenedor.
En tu navegador, abre http://<direccion_ip>:4200.

Limpieza

Para eliminar tu devcontainer (las opciones down/delete aún no están desarrolladas):
Obtén el nombre del contenedor:
docker ps
Detén y elimina el contenedor:
docker stop <nombre> && docker rm <nombre>
Elimina los volúmenes:
docker volume rm discourse-node_modules discourse-pg discourse-redis

2 Me gusta