forked from WikiEducationFoundation/WikiEduDashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add notes from setting up fresh sidekiq servers
- Loading branch information
Showing
1 changed file
with
24 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
These are notes from setting up a fresh set of servers for Sidekiq workers, July 2, 2024. | ||
|
||
My strategy this time is to put every worker on a separate VM, so try to make the bottlenecks and failures for too-large updates more isolated. | ||
|
||
* Create servers (8-core for long, 4-core for medium, 1-core for short queue). | ||
|
||
## Each server | ||
|
||
- Spin up a fresh server and log in to it | ||
- Install requirements: | ||
- `sudo apt install pandoc libmariadb-dev imagemagick gnupg2 shared-mime-info` | ||
- Install RVM (see web server doc) | ||
- Get the Dashboard code: `git clone https://github.com/WikiEducationFoundation/WikiEduDashboard.git` | ||
- In the Dashboard directory: | ||
- `bundle install` | ||
- Copy `application.yml`, `database.yml`, `secrets.yml`, `newrelic.yml` from the web node into the `config` directory | ||
|
||
- Add the systemd service files for the sidekiq processes you want to run on this server. | ||
- Make sure the path is correct for RVM in `ExecStart` | ||
- Update the `WorkingDirectory` to something like `/home/ragesoss/WikiEduDashboard` | ||
|
||
- Enable and start the service | ||
|
||
To update for new deployments, you'll need to quiet these sidekiq processes, stop them, do a `git pull` and `bundle install`, then restart the sidekiq processes. |