How to Dynamically Convert File Paths on Azure Storage Using Cantaloupe Delegate Scripts

Introduction When using Azure Storage with the IIIF server Cantaloupe, there are cases where the IIIF URL identifier differs from the actual file path on Azure Storage. This article explains in detail how to solve this problem using delegate scripts. Problem Suppose you are managing images with the following file structure: A ├ │ │ │ │ │ │ │ z ─ u ─ r e i ├ │ │ │ │ └ m ─ ─ S a ─ ─ t g o e c ├ │ └ c └ r s ─ ─ o ─ a l ─ ─ l ─ g l l e e i └ i └ e c t ─ t ─ c C t e ─ e ─ t o i m m i n o 0 i 0 i o t n 0 t 0 t n a 1 1 e 2 e 2 i / / m / m / n 0 0 e 0 0 r 1 2 : _ _ 0 0 m 0 0 y 1 1 c . . o j j n p p t g g a i n e r However, you want to access them via IIIF URLs like the following: ...

August 12, 2025 · 16 min · Nakamura

Cantaloupe: Serving Images Stored in Microsoft Azure Blob Storage

Overview This is a memo on how to serve images stored in Microsoft Azure Blob Storage using Cantaloupe Image Server, one of the IIIF image servers. This is the Microsoft Azure Blob Storage version of the following article. Method This time we will use the Docker version. Please clone the following repository. https://github.com/nakamura196/docker_cantaloupe In particular, rename .env.azure.example to .env and set the environment variables. # C C C # C L A A A A E F N N N F N T o T T T o T S r A A A r A _ L L L L E M O O O T O N i U U U r U C c P P P a P R r E E E e E Y o _ _ _ f _ P s A A A i H T o Z Z Z k O _ f U U U S E t R R R T M E E E = A A S S S I z T T T L u O O O = r R R R e A A A G G G B E E E l S S S o O O O b U U U R R R S C C C t E E E o _ _ _ r A A C a C C O g C C N e O O T U U A N N I T T N _ _ E N K R A E _ M Y N E = A = M E = The last two settings also include HTTPS configuration using Traefik. ...

December 23, 2024 · 2 min · Nakamura

Delivering IIIF Images Using mdx.jp Object Storage and Cantaloupe Image Server

Overview This is a personal note on how to deliver IIIF images using mdx.jp object storage and Cantaloupe Image Server, one of the IIIF image servers. Background In the following article, I introduced how to deliver images using mdx.jp object storage. In the following article, I introduced how to deliver images stored in Amazon S3 using Cantaloupe Image Server. By combining these approaches, we aim to address the cost challenges of IIIF image delivery in digital archives. ...

July 7, 2024 · 3 min · Nakamura

How to Access S3 Buckets and Enable SSL Communication Using Docker-based Cantaloupe

Overview I introduced how to use the Docker version of Cantaloupe in the following article. To use this Docker-based Cantaloupe in a (non-large-scale) production environment, connection to Amazon S3 and SSL support are required. Here is an example of how to do this. Connecting to Amazon S3 The official documentation is available at: https://cantaloupe-project.github.io/manual/5.0/sources.html#S3Source The following Japanese article is also available: For the Docker version covered here, information was found at: ...

January 27, 2024 · 8 min · Nakamura

Trying the Docker Version of Cantaloupe

Overview While trying the Docker version of TEI Publisher, I found that a Docker version of Cantaloupe was being used, so I created a repository for using it standalone. https://github.com/nakamura196/docker_cantaloupe Usage instructions are provided in the README of the above repository. The following Docker image is used. https://hub.docker.com/r/islandora/cantaloupe Reference: Images That Can Be Served by Cantaloupe This is explained on the following page. https://cantaloupe-project.github.io/manual/5.0/images.html For high-resolution images, JPEG2000 or Pyramidal Tiled TIFF is recommended. ...

January 25, 2024 · 1 min · Nakamura

Cantaloupe: Running as a Service

Overview The Cantaloupe Image Server can be run with the following command. j a v a - D c a n t a l o u p e . c o n f i g = c a n t a l o u p e . p r o p e r t i e s - X m x 2 g - j a r c a n t a l o u p e - 5 . 0 . 5 . j a r However, with this method, the Cantaloupe server stops when the SSH connection is lost, for example. ...

November 16, 2023 · 6 min · Nakamura

Cantaloupe: Serving Images Stored in Amazon S3

Overview This is a note on how to serve images stored in Amazon S3 using Cantaloupe Image Server, one of the IIIF image servers. As an alternative method for serving images stored in Amazon S3, I also introduced an approach in the following article. (The tools may have been updated since the article was written, so the instructions may not work exactly as described.) Configuration The official manual is available at the following link. ...

November 16, 2023 · 7 min · Nakamura

Trying Cantaloupe Access Control

Overview This is a memo about trying Cantaloupe’s Access Control. https://cantaloupe-project.github.io/manual/5.0/access-control.html Bearer Authentication I referenced the following. https://cantaloupe-project.github.io/manual/5.0/access-control.html#Tiered Access All or Nothing Access This returns an error when the authentication information is incorrect. I configured it so that images are returned when the token is test, as shown below. d e f e n a h i e r } d u e f n e t a t i e d t h d h o f n u o e e k r d r ' ' r r a e t e n s c i d n o t t h z = e k u { a a e r = e r t l ( c & n n u l o o . h s e p n s e = t _ n t t t a = r c g i e . a d u o e o x s v r e " e d ' n t e a t r t e s [ l l _ [ e ' = ' e u w 7 s > = r c e i . t = e t s t . " > ' { q { . h h B } u f ? e 4 e ) e | i ( a 0 a s n r ' d 1 r t a s B e , e _ m t e r r h e a . e , r l c a e e h d v r n a e a g r r l t s s u h e ' e t ] | - = " n 1 U a ] T m F e - . 8 d " o ' w n c a s e = = ' a u t h o r i z a t i o n ' } I created a Google Colab notebook to verify the above behavior. ...

September 21, 2023 · 6 min · Nakamura

Adding Values to info.json in Cantaloupe

Overview Referring to the following, I tried adding values to the info.json returned by Cantaloupe. https://cantaloupe-project.github.io/manual/5.0/endpoints.html Method Referring to the page above, I modified extra_iiif3_information_response_keys as follows. d e f e n e { } d x t ' ' ] ' ' ' r r s , e i x a i e { } x p m _ g r i t p i h v ' ' ' ' f c ' i t i @ @ p l ' ' i s c i t r a f ' e d y o b = = = 3 ' ' p f e > > > _ = : e i l i > = ' l ' c c c n > ' : e : o o o f ' h ' n n n o h [ t ' : ' t t t r t t A L e e e m t p u ' o x x x a p s t h g t t t t : : h t . . . i / / C t I d d d o / / o p n i i i n e e o : ' g g g _ x x k ( ( ( r a a i / ' ' ' e m m e i m m m s p p S i e e e p l l e i t t t o e e r f a a a n . . v . d d d s o o i i a a a e r r c o t t t _ g g e / a a a k / / 1 a ' ' ' e l a ' p , , , y i u , i s c t / ' ' ' ( e h a e i x o n / u x p m p s l t i t p t e o h f c _ i . g / ' ' s o h i 1 ) ) t n t n / , , r s m ' l i l , o n = ' g g , i ' { n ) } ' ) , As a result, I was able to obtain the following info.json. ...

September 20, 2023 · 5 min · Nakamura

Trying Cantaloupe Overlays

Overview Let’s try the overlay feature provided by Cantaloupe. https://cantaloupe-project.github.io/manual/5.0/overlays.html BasicStrategy With BasicStrategy, overlays are applied based on the settings in cantaloupe.properties. As shown below, you can overlay an image on another image. I used the following image from Irasutoya. https://www.irasutoya.com/2020/12/blog-post_279.html Since I set position to bottom right in the configuration file described below, the specified image appeared in the bottom right as shown below. I modified overlays.BasicStrategy.enabled and overlays.BasicStrategy.image in cantaloupe.properties. ...

September 20, 2023 · 10 min · Nakamura

Enabling the Cantaloupe Admin Panel

Overview Here is how to enable the admin panel for Cantaloupe. I was able to view server information as shown below. Configuration Edit the following section in cantaloupe.properties. # e e e n n n E d d d n p p p a o o o b i i i l n n n e t t t s . . . a a a t d d d h m m m e i i i n n n C . . . o e u s n n s e t a e c r b r r o l n e l e a t d m P e = a = n = < e t パ l r a ス , u d ワ e m ー a i ド t # n > / f a a d l m s i e n . As a result, if you access a URL like the following and the Basic authentication screen appears, the setup is complete. ...

September 20, 2023 · 1 min · Nakamura

Enabling HTTPS for Cantaloupe on EC2

Introduction In the following article, I described how to set up Cantaloupe on EC2. This time, I will configure a custom domain and enable HTTPS. Custom Domain Configuration This time, I will assign the domain cantaloupe.aws.ldas.jp to 54.172.71.20. When using Route 53, it can be configured as follows. Obtaining an SSL Certificate s a c u p e d t r o t b s i o u n t s t c a e l r l t o c n e l r y t b o - t s t a n d a l o n e - d c a n t a l o u p e . a w s . l d a s . j p r S E P h a ( W s p d E ( A R S C K T T C I o a n ( l t g Y o h a e F Y c e u e e h h e f o v t E e t r ) u a r v F ) c q c r y i e r t i e n a p e e l r t e e o u c t s s t y D D @ n r t s s e s d e n l n s u e e i i e b o o o i g e e : / e o e / n s s f s c o u n n p e r / i ( y y r p w ( t t s i e f t a a - d m r / n N o o s s N i f c s r i l t t 1 e a ' e l ) u u o , ) r n u a a t l h i i i 7 b i c a e o o r f C o e g l t v i e a k n n 2 u l ' d t r : b e c : g l e e f s s e g g - g s d e e t r a i a y d i 3 a t t e e Y m h t m Y s i c w s C t t 1 l d o h n r w a e b p t c r s a a i e e o o - o d e c i i o a e e e t t l t r 6 g r c r t l l L t i r r c s : e l t I E 2 e a T y o l e ? g e t e a u b S F - t s n e p i a t n d i i v e b p o R F 6 o s c r t r n d ' W s . f v e x e t G : 1 e m . e g d s e , i e d p a , : ( l s o g , r ' c d i u / v u ) r i e E d a a a r p s p h a s : o g s o s n n t c t e d c l L o r e f / t n s c l d e e : s a h e e m / d x d e c r i r t e a t e l x S o r e w y k w f t / / o e d s ' / o f x e c i p e a o i e e n d u e s u g @ r u w y t t y r f t t l b r g v m i o h t s i c c 2 w e c E u l m i e t u p o c c / / 0 h d o n n e u a c n h r t r t a a l l 2 e n c t t r i e t h o s o n t e e 3 n t s r u s g l s t f e j e t e t t - a i y # e e . a / h i e n s a . s s 1 t s d p n n c t L e r E c d u l e e 2 h k e t c c t o E s l t p o n n - e r : e r m - A t e y p u c c 1 t r y r S C c a o o p r r 9 c o s t p e A M c t n u r e y y . e u b t n - E e r d t . p p r a p h h o / e v r o e a t t t u p t t t l w 1 s t n t m d w / / i t o t t e a . e i i h a i s l l f o r p p c t l 3 r f c e i g . i i i m t s s e s - v i l i l v v c a i : : r e a S e c F n t d e e a t n / t n n e r a r o a a a / / t i g / o c d p . t o n b l s c c e c l e n r t e n - o . a a a o e f l y s e D t p u f j n n r l u t f y p e m o i i r t r p t t e l r s . t c b s e o e a a n y e o . u e y r f o e l l e w n r - l r r o s i u d o o w r o c g s o i - u u F t r o u u s e r r / t g t 2 c o m p p . n k y d a y 1 a c u o w . e e e p o n - g e n r o . . w b t n d n 2 r s d g r a a y . a a o 0 e s a a k w w t : o t l t 2 e f t n s s h r e o i 2 ? u i i e . . i g - n c . l o z n l l s / l e e p l n a c d d d e s d y , t r a a c o - ) f i y s s e n d . i a o p . . r a s n t j j t t c Y s f i p p i e a o u o t n / / f n u e u h g f p i t d n a u r c a m , d t t l i a l u i h l v t o s t n e c k e u t o g h e p w a y i e e i . n . b n p a , . e t w p m h s e e . m l b d a a c s k . g j r p o u n d . Web Server Configuration: Installing Nginx a v p i t / i e n t s c t / a n l g l i n n x g / i s n i x t e s - a v a i l a b l e / c a n t a l o u p e . a w s . l d a s . j p Configuration: ...

September 20, 2023 · 12 min · Nakamura