...
To split the Worker application to a separate host from the rest of Avalon, essentially, you want to set up two identically-configured Avalon deployments -- but some services are not installed, or are disabled, on each.
Avalon Host should run
- Avalon application
- Redis
- Avalon DB (needs to be accessible from the Worker host)
- SOLR/Fedora (although these may be on separate hosts if desired)
The Avalon host should *not* be running this service (it needs to be explicitly disabled)
- Sidekiq
Worker Host should run
- Sidekiq
- Redis
Worker host should have these disabled or simply not installed:
...
There are mixed reports about the best place to run Redis. It can be run on either the Web host or the Worker.
Connecting the two instances
- The Avalon Web and Worker hosts have basically identical configurations, just with different services enabled.
- At the very least, they need to point to the same Avalon DB (which must be reachable from both hosts)
Configured in config/database.yml
- You *might* need to have identical Fedora configs on both hosts. It's unclear whether this is required on the Worker.
Configured in config/fedora.yml
Web Host
- Install full Avalon rails app
- Configure app to connect to database, solr, fedora
- In `settings.yml`
- comment-out ffmpeg section
- Change redis section to connect to redis on worker node
Enable:
- Avalon application
- SOLR/Fedora (although these may be on separate hosts if desired)
- Redis (unless running it on the Worker)
Configure:
- Database (open to Worker host)
- Redis (if running on Worker)
Stop and disable:
- Sidekiq
Worker Host
- Install full Avalon rails app (or just clone the Web node)
- Configure app to connect to same database as the web node in `config/database.yml`
- Comment-out all content in:
- blacklight.yml
- solr.yml
- fedora.yml
Worker Host should run:
- Sidekiq
- Redis (unless running it on the Web host)
Stop and disable:
- Avalon rails app
- Avalon DB (the Worker should not be running its own db, but it does need to be able to reach the Avalon DB)
- SOLR
- Fedora
Mount NFS shares
- should be mounted at the same paths as Web node):
- dropbox
- derivatives
- masterfiles
- supplementalfiles