How I could restart the web server in docker

AI-generated summary

The discussion revolves around restarting the web server in Docker. berniegao initially asked if there’s a way to restart the web server similar to reloading config files in a manual Rails server installation. watchmanmonitor suggested using ./launcher stop app and ./launcher start app, but berniegao clarified that this method restarts the entire Docker container.

sam then provided the correct method: ./launcher enter app followed by sv restart unicorn. Jared_Smith1 asked if exiting the app is necessary after this step.

The conversation also touched on troubleshooting issues, such as SpaceMonkey encountering an error when trying to run ./launcher enter app, which Stephen helped resolve.

Additionally, trusktr asked if there’s a UI button to restart the server, and jomaxro explained that there isn’t one. trusktr suggested that a UI button for rebuilding would be convenient.

jomaxro clarified that most changes to the app.yml require a rebuild, which cannot be triggered from the UI. Stephen added that some settings, such as SMTP, can be updated and picked up immediately by running ./launcher destroy app and ./launcher start app, while others require a rebuild.

by manual installation, I could cease the rails server to reload the config files. Is there something like the rails server within docker?

@sam

This seems to work for me:

doing so will restart the entire docker container. what I trying to do is to restart the web server without touch the container, such as using “rails server” and then stop it without utilizing docker.

why are you trying to do this, not following at all. Anyway here you go.

cd /var/discourse 
./launcher enter app
sv restart unicorn 

should we exit app after this step? I’m so new to this if it wasn’t obvious

I have discourse installed via docker. After upgrading yesterday my discourse has been down. I am trying to run ./launcher enter app
from
/var/www/discourse/
I am getting the error ./launcher: No such file or directory Is there way for me to search the correct directory for this command?

/var/www/discourse doesn’t exist outside the app, if you can see that path you’re already inside discourse.

Type exit - does that end the ssh connection, or bring you back to /var/discourse?

Есть ли в интерфейсе кнопка для перезапуска сервера? Я вижу кнопку для обновления, когда выходит новая версия, и, похоже, она выполняет перезапуск, но отдельной кнопки только для перезапуска я не нахожу.

Нет, этого нет. Зачем вам нужно перезапускать веб-сервер? Какую проблему вы пытаетесь решить?

Я хотел перезапустить сервер, чтобы проверить, применятся ли изменения в app.yml. Похоже, что требуется также пересборка. Возможно, было бы удобно добавить кнопку в интерфейсе (рядом с разделом «Обновление» в админ-панели).

Большинство изменений в app.yml требуют пересборки. Пересборки нельзя запустить через интерфейс; необходимо подключиться к самому серверу, находясь вне докер-контейнера.

Настройки, такие как SMTP, можно обновить в файле yml, и они будут немедленно применены с помощью:

./launcher destroy app
./launcher start app

В то время как для других изменений, включая плагины, потребуется пересборка.