Skip to content
Hyku: A multi-tenant Hyrax application built on the latest and greatest Samvera community components. Brought to you by the Hydra-in-a-Box project partners and IMLS; maintained by the Hyku Interest Group.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ebextensions Fixes honeybadger deployment notification Sep 28, 2017
.github Update GitHub support documents Sep 26, 2017
app when a new site is created, enable all work types by default Apr 14, 2019
bin Merge pull request #1314 from samvera-labs/graphviz Mar 29, 2018
config Merge branch 'docker-updates' into work_types Apr 14, 2019
db schema bump Feb 28, 2019
lib update to hyrax 2.2 (#1543) Oct 4, 2018
ops Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
public
solr/config Hyrax 2.1 upgrade (#1529) Jul 26, 2018
spec positive path spec for work types Apr 14, 2019
vendor/assets
.coveralls.yml Add .coveralls.yml Mar 28, 2016
.env Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
.fcrepo_wrapper Generate sufia using the installer Mar 28, 2016
.gitignore Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
.hound.yml Hounds do not bark at rubies Jun 2, 2017
.rspec Require rails_helper in one place instead of 100 Feb 14, 2017
.rubocop.yml Upgrade Hyrax to 2.0.2 and upgrade gems with security vulnerabilities ( Mar 22, 2018
.rubocop_todo.yml Coerce UploadedFile to an array and use upstream Job Jul 11, 2018
.scss-lint.yml Allow BEM-style class names in CSS selectors Jan 24, 2017
.solr_wrapper Rename Lerna to Hyku. Fixes #461 Nov 7, 2016
.travis.yml fix chromedriver again May 1, 2019
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
Dockerfile.base Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
Gemfile Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
Gemfile.lock Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
LICENSE Fill in Apache license; fixes #3 Apr 11, 2016
README.md Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
Rakefile Overhauled Docker configuration and modified specs to allow to run in… May 1, 2019
SUPPORT.md add required info for promotion out of labs Nov 30, 2018
config.ru
docker-compose.production.yml lock versions of docker dependencies to known working versions (#1584) May 30, 2019
docker-compose.yml lock versions of docker dependencies to known working versions (#1584) May 30, 2019
fits.log WIP remove IIIF code from Hyku, rely on Hyrax functionality Feb 25, 2019

README.md

Hyku, the Hydra-in-a-Box Repository Application

Code: Build Status Coverage Status Stories in Ready

Docs: Documentation Contribution Guidelines Apache 2.0 License

Jump In: Slack Status


Table of Contents


Running the stack

For development / testing with Docker

Dory

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

Basic steps

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

For development

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

For testing

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

On AWS

AWS CloudFormation templates for the Hyku stack are available in a separate repository:

https://github.com/hybox/aws

With Docker

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

With Vagrant

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.

Switching accounts

The recommend way to switch your current session from one account to another is by doing:

AccountElevator.switch!('repo.example.com')

Development Dependencies

Postgres

Hydra-in-a-Box supports multitenancy using the apartment gem. apartment works best with a postgres database.

Importing

from CSV:

./bin/import_from_csv localhost spec/fixtures/csv/gse_metadata.csv ../hyku-objects

from purl:

./bin/import_from_purl ../hyku-objects bc390xk2647 bc402fk6835 bc483gc9313

Compatibility

  • 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.

Product Owner

orangewolf

Help

The Samvera community is here to help. Please see our support guide.

Acknowledgments

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.

Samvera Logo

You can’t perform that action at this time.