La commande du lanceur dans le dossier /var/discourse n'est pas auto-explicative

J’ai dû modifier et recharger la configuration plusieurs fois pour dépanner le service de messagerie de Siteground. Il existe de nombreux conseils sur la manière de le faire le plus rapidement possible.
Cependant, les résumer crée de la confusion.
Pourriez-vous donc m’expliquer plus en détail les différences entre les commandes listées ci-dessous ?

Les informations figurant dans le guide d’installation et dans les publications de ce forum sont quelque peu incohérentes. Il n’est pas entièrement clair, par exemple, quelle est la différence entre l’initialisation et la construction d’un conteneur.
Il devrait exister une échelle d’escalade indiquant quelles actions nécessitent quelle commande si vous modifiez, par exemple, le fichier app.yml, car certains affirment que start suffit, tandis que d’autres disent qu’il faut rebuild ou même exécuter ./discourse-setup.

Commandes :
    start :      Démarrer/initialiser un conteneur
    stop :       Arrêter un conteneur en cours d'exécution
    restart :    Redémarrer un conteneur
    destroy :    Arrêter et supprimer un conteneur
    bootstrap :  Initialiser un conteneur pour la configuration basée sur un modèle
    rebuild :    Reconstruire un conteneur (supprimer l'ancien, initialiser, démarrer le nouveau)

Je commence à avoir l’impression que toutes les commandes forment une séquence d’actions successives.
Chaque étape/commande suivante fait la même chose que sa précédente, plus quelque chose en plus.

Par exemple, quelque chose comme ceci :

  1. Démarrage

    1. bootstrap : supprimer l’ancien + initialiser un conteneur pour la configuration basée sur un modèle
    2. rebuild : bootstrap + reconstruire un conteneur (démarrer le nouveau), ce qui implique des tâches comme télécharger les dernières versions des logiciels et appliquer la configuration mise à jour
    3. start : initialiser, peu importe ce que cela signifie exactement
  2. Arrêt

    1. stop : arrêter un conteneur en cours d’exécution
    2. restart : redémarrer un conteneur (incluant l’arrêt)
    3. destroy : arrêter et supprimer un conteneur
2 « J'aime »

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

1 « J'aime »

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 « J'aime »

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 « J'aime »

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 « J'aime »

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

1 « J'aime »

Ceci est un peu plus complet maintenant :

Usage : launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commandes :
    start :       Démarrer/initialiser un conteneur
    stop :        Arrêter un conteneur en cours d'exécution
    restart :     Redémarrer un conteneur
    destroy :     Arrêter et supprimer un conteneur
    enter :       Ouvrir un shell pour exécuter des commandes à l'intérieur du conteneur
    logs :        Afficher les logs Docker pour un conteneur
    bootstrap :   Bootstrap un conteneur pour la configuration basé sur un modèle
    run :         Exécuter la commande donnée avec la configuration dans le contexte de la dernière image bootstrappée
    rebuild :     Reconstruire un conteneur (détruire l'ancien, bootstrap, démarrer le nouveau)
    cleanup :     Supprimer tous les conteneurs arrêtés depuis plus de 24 heures
    start-cmd :   Générer la commande docker utilisée pour démarrer le conteneur

Options :
    --skip-prereqs             Ne pas vérifier les prérequis du lanceur
    --docker-args              Arguments supplémentaires à passer lors de l'exécution de docker
    --skip-mac-address         Ne pas attribuer d'adresse mac
    --run-image                Remplacer l'image utilisée pour exécuter le conteneur
root@monstera:/var/discourse# 
2 « J'aime »

Ce sujet a été automatiquement fermé après 12 jours. Les nouvelles réponses ne sont plus autorisées.