UAlbany's Arclight instance
An instance of https://github.com/projectblacklight/arclight
To develop locally, you also need the grenander
engine, which has headers, footers, and site-wide styling for archives.albany.edu. To set this up, clone [email protected]:UAlbanyArchives/grenander.git alongside [email protected]:UAlbanyArchives/arclight-UAlbany.git and then edit the last two lines of the Gemfile for arclight-UAlbany to use the local path for grenander
.
gem 'grenander', path: '../grenander'
#gem 'grenander', git: 'https://github.com/UAlbanyArchives/grenander', branch: 'bootstrap_5'
Then run the app from the arclight-UAlbany
directory:
docker-compose -f docker-compose-dev.yml up
Navigate to http://localhost:3000/description
You should be able to edit code in real time, including both arclight-UAlbany
and grenander
.
First build the arclight
image locally:
DOCKER_BUILDKIT=1 docker build --secret id=master_key,src=config/master.key -t arclight .
On Windows
$env:DOCKER_BUILDKIT=1; docker build --secret id=master_key,src=config/master.key -t arclight .
Running the image:
docker-compose up -d
Navigate to http://localhost:8080/description
→ In production, this should be set up to run as a service.
To stop:
docker-compose down
If you need another terminal:
docker exec -it arclight bash
The Solr core is set in config/blacklight.yml
Solr core URLs are set within these scripts, not config/blacklight.yml
Index a single file:
./index.sh [collection_id] [collecting_area_code]
./index.sh apap199 ndpa
Index all files updated in the last day:
./indexNew.sh
Index all files in a collecting area:
./indexArea.sh ger
Index all files:
./indexAll.sh
You can run any of the above commands after:
docker compose -f docker-compose-index.yml run arclight /bin/sh
This assumes you EADs are available in ``../collections`
For example:
docker compose -f docker-compose-index.yml run arclight /bin/sh /app/index.sh apap147 apap
There is also a compose file for indexing all newly updated files from the dev server:
docker compose -f docker-compose-update.yml run arclight
Log config for the app is set in config/environment/production.rb
. This is set to:
warn
log level- log to
stdout
Docker manages logs sent to stdout
and rotation is set with the logging
key in docker-compose.yml
.
Access logs:
docker logs arclight
See logs in real time
docker logs -f arclight
This app runs the cronjobs in config/arclight-cron. These:
- Clean Rails tmp folder every day at midnight
- Clear DB of user searches every month on the 1st day at midnight