* chore: Add log messages for stages skipped during installation
* feat: allow chatwoot user to start/stop/restart chatwoot service
* feat: init options support
* feat: add option support to linux install script [c|h|i|l|s|u|wi]
Install/Update/Configure/Manage your Chatwoot installation
Example: cwctl -i master
Example: cwctl -l web
Example: cwctl --logs worker
Example: cwctl --upgrade
Example: cwctl -c
Installation/Upgrade:
-i, --install install Chatwoot with the git branch
specified
-u, --upgrade upgrade Chatwoot to latest version
-s, --ssl fetch and install ssl certificates using
LetsEncrypt
-w, --webserver install and configure Nginx webserver
Management:
-c, --console open ruby console
-l, --logs tail logs from Chatwoot. Supported values
include web/worker.
Miscellaneous:
-h, --help display this help text and exit
* feat: add cwctl to PATH
* feat: add -v to cwctl
* chore: switch db migration to db:chatwoot_prepare
* fix: reload systemd files after update
* fix: improve -s -w cwctl options
* chore: throw error if run without options
Signed-off-by: Vishnu Narayanan <vishnu@chatwoot.com>
* feat: add -d/--debug option to cwctl
* fix: remove hardcoded ruby version in cwctl --upgrade
* chore: improve cwctl -v function
* fix: disable cwctl selfupdate
* chore: cleanup
* feat: allow chatwoot user to run cwctl
* chore: cwctl improve formatting for log messages
* fix: variable expansion inside heredoc
* feat: save pg_pass to file to support idempotency
One of the things preventing idempotency was the postgres
password generated at run-time to setup postgres initally.
This commit saves the password to the file if postgres setup function
is executed and reloads on future re-runs if needed.
* chore: formatting
* chore: add cwctl promotion message at the end of installation
* feat: add comments
* chore: add chatwoot and cwctl version files
* feat: add func to get latest chatwoot version
* chore: formatting
* feat: add --restart option to cwctl
* chore: update --help with restart option details
* chore: minor improvements to --restart
* chore: Update ruby version to 3.0.4
* chore: update ruby version in docker workflow
* chore: update ruby version to 3.1.2
* Upgrade vue-jest to remove deasync
* Revert to 3.0.4 to see if deasync issue is fixed
* fix: script failure if pg/redis not opted in
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This PR changes the LetsEncrypt behaviour to be non-interactive. Earlier, the installation flow was waiting for user input at the SSL cert generation stage. With this change, once the user confirms completes the initial selection, the installation can be completed unattended.
Provide a choice to select the components to install. The script
should be able to just install chatwoot alone. Postgres, redis,
SSL certs via letsencrypt and nginx as a webserver should be
installed after confirmation.
Fixes: #3513
sks-keyserver gpg pool is now deprecated due to GDPR issues and is
no longer reliable. Switching to use ubuntu keyserver for the time
being as this is the only server returning rvm maintainers gpg keys.