Hyku, the Hydra-in-a-Box Repository Application
Table of Contents
- Running the stack
- Switching accounts
- Development dependencies
- Product Owner
Running the stack
For development / testing with Docker
On OS X or Linux we recommend running Dory. It acts as a proxy allowing you to access domains locally such as hyku.docker or tenant.hyku.docker, making multitenant development more straightforward and prevents the need to bind ports locally. You can still run in development via docker with out Dory, but to do so please uncomment the ports section in docker-compose.yml and then find the running application at localhost:3000
gem install dory dory up
docker-compose up web # web here means you can start and stop Rails w/o starting or stopping other services. `docker-compose stop` when done shuts everything else down.
Once that starts (you'll see the line
Passenger core running in multi-application mode. to indicate a successful boot), you can view your app in a web browser with at either hyku.docker or localhost:3000 (see above)
Tests in Docker
The full spec suite can be run in docker locally. There are several ways to do this, but one way is to run the following:
docker-compose exec web rake
solr_wrapper fcrepo_wrapper postgres -D ./db/postgres redis-server /usr/local/etc/redis.conf bin/setup DISABLE_REDIS_CLUSTER=true bundle exec sidekiq DISABLE_REDIS_CLUSTER=true bundle exec rails server -b 0.0.0.0
See the Hyku Development Guide for how to run tests.
Working with Translations
You can log all of the I18n lookups to the Rails logger by setting the I18N_DEBUG environment variable to true. This will add a lot of chatter to the Rails logger (but can be very helpful to zero in on what I18n key you should or could use).
$ I18N_DEBUG=true bin/rails server
AWS CloudFormation templates for the Hyku stack are available in a separate repository:
We distribute two
docker-compose.yml configuration files. The first is set up for development / running the specs. The other,
docker-compose.production.yml is for running the Hyku stack in a production setting. . Once you have docker installed and running, launch the stack using e.g.:
docker-compose up -d
The samvera-vagrant project provides another simple way to get started "kicking the tires" of Hyku (and Hyrax), making it easy and quick to spin up Hyku. (Note that this is not for production or production-like installations.) It requires VirtualBox and Vagrant.
The recommend way to switch your current session from one account to another is by doing:
Hydra-in-a-Box supports multitenancy using the
apartment works best with a postgres database.
./bin/import_from_csv localhost spec/fixtures/csv/gse_metadata.csv ../hyku-objects
./bin/import_from_purl ../hyku-objects bc390xk2647 bc402fk6835 bc483gc9313
- Ruby 2.4 or the latest 2.3 version is recommended. Later versions may also work.
- Rails 5 is required. We recommend the latest Rails 5.1 release.
The Samvera community is here to help. Please see our support guide.
This software was developed by the Hydra-in-a-Box Project (DPLA, DuraSpace, and Stanford University) under a grant from IMLS.
This software is brought to you by the Samvera community. Learn more at the Samvera website.