O comando do launcher na pasta /var/discourse não é autoexplicativo

Precisei alterar e recarregar a configuração algumas vezes para solucionar problemas no serviço de e-mail do Siteground. Existem várias dicas sobre como fazer isso da maneira mais rápida.
No entanto, resumir todas elas gera confusão.
Então, você poderia me explicar com mais detalhes as diferenças entre os comandos listados abaixo?

As informações no guia de instalação e nos posts deste fórum são, de certa forma, inconsistentes. Não está totalmente claro, por exemplo, qual é a diferença entre inicializar e construir um container.
Deveria haver uma escada de escalonamento indicando quais ações exigem qual comando, caso você altere, por exemplo, o arquivo app.yml. Alguns dizem que start é suficiente, enquanto outros afirmam que é necessário rebuild ou até mesmo executar ./discourse-setup.

Comandos:
    start:      Iniciar/inicializar um container
    stop:       Parar um container em execução
    restart:    Reiniciar um container
    destroy:    Parar e remover um container
    bootstrap:  Inicializar um container para a configuração com base em um modelo
    rebuild:    Reconstruir um container (destruir o antigo, inicializar, iniciar o novo)

Estou gradualmente formando a impressão de que todos os comandos são uma sequência de ações consecutivas.
Cada etapa/comando subsequente faz o mesmo que seu predecessor, mais algo adicional.

Por exemplo, algo assim:

  1. Inicialização

    1. bootstrap: destruir o antigo + inicializar um container para a configuração com base em um modelo
    2. rebuild: bootstrap + reconstruir um container (iniciar o novo), o que inclui tarefas como baixar as versões mais recentes do software e aplicar configurações atualizadas
    3. start: inicializar, seja lá o que isso signifique
  2. Parada

    1. stop: parar um container em execução
    2. restart: reiniciar um container (inclui stop)
    3. destroy: parar e remover um container
2 curtidas

I am not sure I am following here… can you make a PR with your proposed change?

1 curtida

I going to do a PR on GitHub but I need to understand each command in detail what is currently not the case.

Could you tell me, what each command triggers? I’ve read many posts in this regard but the information is not consistence.
A good example is start. Once it is said it is just used to stop and start the container if e.g. doing something on the host. In another topic it is mentioned that it initializes a container, whatever initialize means :confused:

Initialize means that if no container exists it will be created. If you stop and start, you’ll stop and start the same container with the same parameters (like smtp and other env settings), but if you destroy first, a new container with new env settings will be created, or initialized.

1 curtida

what is the difference between bootstrap and start if no container exits?

Bootstrap builds a new docker image,which is necessary to be able to “initialize” a running container.

Rebuild will always work. Sometimes it’s unnecessary, as a destroy and start is enough to make env settings (like smtp) take effect. But lots of people won’t really understand these intricacies, so it’s better to just tell them to always rebuild because it always works.

3 curtidas

so ./discourse-setup is the least invasive command as it only recreates discourse’s software.

  1. Bootstrap from very scratch, begins with docker image
  2. start, from scratch, builds a container
  3. ./discourse-setup, runs discourse’s setup

what command is available to reapply config as

  1. defined in app.yml?
  2. referenced in app.yml?

assuming app.yml is the source of anything, so ./discourse-setup reads only this file to do its job.

If you need to know what each command does exactly you can read it here: discourse_docker/launcher at master · discourse/discourse_docker · GitHub

3 curtidas

thanks that helps :slight_smile:
There is once mentioned setup, is it related to ./discourse-setup?

1 curtida

Isto está um pouco mais completo agora:

Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Comandos:
    start:       Iniciar/inicializar um contêiner
    stop:        Parar um contêiner em execução
    restart:     Reiniciar um contêiner
    destroy:     Parar e remover um contêiner
    enter:       Abrir um shell para executar comandos dentro do contêiner
    logs:        Visualizar os logs do Docker para um contêiner
    bootstrap:   Inicializar um contêiner para a configuração com base em um template
    run:         Executar o comando fornecido com a configuração no contexto da última imagem inicializada
    rebuild:     Recriar um contêiner (destruir o antigo, inicializar, iniciar novo)
    cleanup:     Remover todos os contêineres que pararam por mais de 24 horas
    start-cmd:   Gerar o comando docker usado para iniciar o contêiner

Opções:
    --skip-prereqs             Não verificar os pré-requisitos do launcher
    --docker-args              Argumentos extras para passar ao executar o docker
    --skip-mac-address         Não atribuir um endereço mac
    --run-image                Substituir a imagem usada para executar o contêiner
root@monstera:/var/discourse# 
2 curtidas

Este tópico foi fechado automaticamente após 12 dias. Novas respostas não são mais permitidas.