When making simple mail server config changes, can the full `launcher rebuild app` be sped up?

AI-generated summary

When making simple SMTP server config changes in app.yml, the full launcher rebuild app process cannot be significantly sped up. According to itsbhanusharma, SMTP changes require a full rebuild. However, pfaffman suggests that if only environment variables have changed, a full rebuild can be avoided by running ./launcher destroy app followed by ./launcher start app.

If changes are made to the code of a previously-installed plugin, pfaffman advises against simply pulling the changes and restarting, as there are additional steps required to modify a plugin. Instead, a two-container setup can be used to minimize downtime. To restart Rails, pfaffman recommends running sv restart unicorn.

When I make changes to /var/discourse/containers/app.yml that only revolve around smtp server config changes, can the launcher rebuild app process be significantly sped up?

I suppose I could enter the container, modify the config itself and restart the app there, but it seems like I must be missing a simpler/cleaner solution that won’t require a full rebuild…

SMTP changes do require full rebuild.
You can go for a two container setup if you want to speed up the process (it will actually just reduce downtime and not the actual process)

The idea is that once set up, people very very rarely have to change SMTP since usually one SMTP is fine and they don’t have to change it every couple of days.

If you have changed just environment variables you can

 ./launcher destroy app
 ./launcher start app

What if I have changed code in the repo of a previously-installed plugin? Currently I do a full rebuild, but can I git pull the plugin and somehow restart?

It’s not recommended. If you want to rebuild with minimal downtime you can search here for “two container.”

To restart rails you can use

 sv restart unicorn

But there’s other stuff you need to do to modify a plugin other than a pull.