The Grinnell College Digital Library Application Developer's Blog
Call it The GCDLADB if you like.
A Dockerized 'Handle' Server 3 min read Sep 10, 2019 | Updated: Dec 19, 2020 16:40
Today’s quest… to build a new Handle.net server for Digital.Grinnell, preferably one that is “Dockerized”. I’m going to start by forking datacite/docker-handle, a project that looks promising, and following it along with the documentation in chapter 3 of the HANDLE.NET (version 9) Technical Manual. The aforementioned fork can now be found in DigitalGrinnell/docker-handle. The digital7 Saga My old friend and server (or should that be servant?), digital7, used to be the home of Digital.Grinnell in Islandora v7, before Docker and ISLE came along. ...
DG-FEDORA: A Portable FEDORA Repository 7 min read Sep 16, 2019 | Updated: Dec 23, 2019 10:43
Teaser Late last night (don’t ask how late it was) I discovered a really slick trick, aka “feature”, of docker-compose. Full disclosure: I love docker-compose “overrides”, a feature I found a couple of months ago. However, implementing overrides in a granular fashion, as I’d like, and within a docker-compose hierarchy of environments like the ISLE stack, can be difficult and counter-productive. I may have found a workable compromise last night. If you’re interested, please, read on… History About a year ago I created a “portable” FEDORA object repository “on a stick”, a USB stick. ...
Granular ISLE Customization: Series Guidelines 2 min read Sep 27, 2019 | Updated: Nov 22, 2019 15:53
Granular ISLE Customization This post provides guidelines for a series of posts describing Digital.Grinnell customizations to ISLE, in a “granular” format… one small customization at a time. Using the Granular ISLE Customization Posts There are just a couple of notes regarding the subject posts that I’d like to pass along to make them more useful. Gists - You will find a few places in this series where I generated a gist to take the place of lengthy command output. Instead of a long stream of text you’ll find a simple link to a gist like this. ...
Building My `dg-islandora` Code Repository 2 min read Aug 16, 2019 | Updated: Nov 5, 2019 21:00
As promised in post 037, this post combines elements of post 021 with updated post 034 to create a “customized” local ISLE instance with features of Digital.Grinnell. In this November 2019 update I’m building the repository on my MacBook ma7053 using ISLE-1.3.0. The target of this endeavor will be a properly populated Digital.Grinnell custom Islandora code repository featuring ISLE-1.3.0 code. Process Overview I believe the process I need to engage here can be outlined like this: Repeat or follow-up on post 034. ...
Installing ZSH in CentOS 1 min read Sep 16, 2019 | Updated: Sep 17, 2019 11:56
These days I like to do all my terminal/command-line work in zsh, more specifically, with Oh My ZSH! and the bira theme. So, on my new node dgdocker3, I added nano, zsh, and some other goodies by largely following How to Setup ZSH and Oh-my-zsh on Linux. This is how I did it… sudo yum install nano sudo yum install zsh chsh -s /bin/zsh mcfatem exit # log back in after this echo $SHELL sudo yum install wget git wget https://github. ...
Repairing Static.Grinnell.edu 4 min read Sep 17, 2019
This morning, Tuesday, September 17, 2019, I awoke to find our https://static.grinnell.edu server, and all of the services on it, unreachable via the web. I managed to open a shell on the host and found that the server was up-and-running as expected, but a quick docker ps command indicated that one of the key services on the server, namely Traefik, had stopped and then failed to restart, repeatedly. Traefik is the service that’s responsible for routing web traffic on the static host. ...
Digital.Grinnell's IMI Workflow 5 min read Aug 21, 2019 | Updated: Sep 16, 2019 22:11
Note: The abbreviation IMI is used frequently in this post to represent the Islandora Multi-Importer, a CSV-file-driven batch ingest tool used by numerous institutions in the Islandora community. Also, while updating this post I found this gem… Diagrams in Documentation (Markdown Guide). This post is an addition to the discussion in post 028, Mounting //Storage for IMI Ingest in Digital.Grinnell which was written largely to remind me how the //Storage mount works. 😕 Unlike post 028, this post is meant for myself AND for others at Grinnell College who prepare digital objects for ingest via IMI. ...
Configuring DGDocker2 13 min read Sep 3, 2019 | Updated: Sep 11, 2019 10:53
My mission today is to successfully migrate the images/containers/services chronicled in post 030, “Dockerized Omeka-S: Starting Over” to Docker-ready node dgdocker2 without compromising any of the services that already run there. Pushing WMI Omeka-S to Production on dgdocker2 Grinnell’s dgdocker2 server, specifically dgdocker2.grinnell.edu with an IP address of 132.161.132.143, is a Docker-ready CentOS 7 node that’s currently supporting the following containers and configuration: ╭─root@dgdocker2 ~ ╰─# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef20d71ffea8 mcfatem/ohscribe "./boot.sh" 6 days ago Up 6 days 5000/tcp ohscribe b525f4670cd2 mariadb:latest "docker-entrypoint. ...
My dockerized-server Config 3 min read Sep 7, 2019 | Updated: Sep 8, 2019 09:26
This post picks up from where Configuring DGDocker2 left off. In it I will establish a workflow to setup a “Dockerized” server complete with Traefik, Portainer, and Who Am I. It should be relatively easy to add additional non-static services to any server that is initially configured using this package. For “static” servers have a look at post 008 docker-bootstrap Workflow . Capture As a Project Picking up from the end of Configuring DGDocker2, my first step on the dgdocker2 server was to move everything into a single subdirectory of /opt; I called the new directory dockerized-server, like so: ...
Omeka-S in Docksal 1 min read Aug 17, 2019 | Updated: Aug 18, 2019 16:57
Attention! The Docksal portion of this discussion DID NOT WORK PROPERLY so I’ve hidden it from public view. Don’t use this project with Docksal (fin commands) until further notice! ...