This is an old revision of the document!


Cantaloupe stand-alone fresh install (4.x)


  • download
wget https://github.com/medusa-project/cantaloupe/releases/download/v4.0.3/cantaloupe-4.0.3.zip
unzip cantaloupe-4.0.3.zip
sudo mv cantaloupe-4.0.3 /opt/

sudo mkdir /srv/cache /srv/log /srv/home
sudo useradd -d /srv/home -s /bin/false cantaloupe

sudo chown -R cantaloupe:cantaloupe /opt/cantaloupe-4.0.3
  • Kakadu Native libraries (Optional)
Check Java Library Path with:
java -XshowSettings:properties

sudo cp /opt/cantaloupe-4.0.3/deps/Linux-x86-64/lib/libkdu_* /usr/lib/
  • settings
cd /opt/cantaloupe-4.0.3
sudo cp cantaloupe.properties.sample cantaloupe.properties
sudo nano -w cantaloupe.properties
diff cantaloupe.properties.sample cantaloupe.properties

< temp_pathname =
---
> temp_pathname = /srv/tmp

< http.host = 0.0.0.0
---
> http.host = 123.123.123.123

< endpoint.iiif.min_tile_size = 512
---
> endpoint.iiif.min_tile_size = 1024

< endpoint.admin.enabled = false
< endpoint.admin.username = admin
< endpoint.admin.secret =
---
> endpoint.admin.enabled = true
> endpoint.admin.username = adminUsername
> endpoint.admin.secret = adminPassword

< endpoint.api.enabled = false
---
> endpoint.api.enabled = true

< endpoint.api.username =
< endpoint.api.secret =
---
> endpoint.api.username = apiUsername
> endpoint.api.secret = apiPassword

< source.static = FilesystemSource
---
> source.static = HttpSource

< FilesystemSource.BasicLookupStrategy.path_prefix = /home/myself/images/
---
> FilesystemSource.BasicLookupStrategy.path_prefix = /tmp/

< HttpSource.trust_all_certs = false
< HttpSource.request_timeout =
---
> HttpSource.trust_all_certs = true
> HttpSource.request_timeout = 20

< HttpSource.BasicLookupStrategy.url_prefix = http://localhost/images/
---
> HttpSource.BasicLookupStrategy.url_prefix =

< HttpSource.BasicLookupStrategy.auth.basic.username =
< HttpSource.BasicLookupStrategy.auth.basic.secret =
---
> HttpSource.BasicLookupStrategy.auth.basic.username = anonymous
> HttpSource.BasicLookupStrategy.auth.basic.secret = anonymous

< processor.stream_retrieval_strategy = StreamStrategy
---
> processor.stream_retrieval_strategy = CacheStrategy

< processor.background_color = white
---
> processor.background_color = black

< cache.server.source.ttl_seconds = 2592000
---
> cache.server.source.ttl_seconds = 172800

< cache.server.derivative.enabled = false
---
> cache.server.derivative.enabled = true

< cache.server.derivative =
---
> cache.server.derivative = FilesystemCache

< cache.server.derivative.ttl_seconds = 2592000
---
> cache.server.derivative.ttl_seconds = 172800

< cache.server.worker.enabled = false
---
> cache.server.worker.enabled = true

< FilesystemCache.pathname = /var/cache/cantaloupe
---
> FilesystemCache.pathname = /srv/cache

< log.application.level = debug
---
> log.application.level = info

< log.application.ConsoleAppender.enabled = true
---
> log.application.ConsoleAppender.enabled = false

< log.application.FileAppender.pathname = /path/to/logs/application.log
---
> log.application.FileAppender.pathname = /srv/log/application.log

< log.application.RollingFileAppender.enabled = false
< log.application.RollingFileAppender.pathname = /path/to/logs/application.log
---
> log.application.RollingFileAppender.enabled = true
> log.application.RollingFileAppender.pathname = /srv/log/application.log

< log.application.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /path/to/logs/application-%d{yyyy-MM-dd}.log
---
> log.application.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /srv/log/application-%d{yyyy-MM-dd}.log

< log.error.FileAppender.pathname = /path/to/logs/error.log
---
> log.error.FileAppender.pathname = /srv/log/error.log

< log.error.RollingFileAppender.enabled = false
< log.error.RollingFileAppender.pathname = /path/to/logs/error.log
---
> log.error.RollingFileAppender.enabled = true
> log.error.RollingFileAppender.pathname = /srv/log/error.log

< log.error.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /path/to/logs/error-%d{yyyy-MM-dd}.log
---
> log.error.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /srv/log/error-%d{yyyy-MM-dd}.log

< log.access.FileAppender.pathname = /path/to/logs/access.log
---
> log.access.FileAppender.pathname = /srv/log/access.log

< log.access.RollingFileAppender.pathname = /path/to/logs/access.log
---
> log.access.RollingFileAppender.pathname = /srv/log/access.log

< log.access.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /path/to/logs/access-%d{yyyy-MM-dd}.log
---
> log.access.RollingFileAppender.TimeBasedRollingPolicy.filename_pattern = /srv/log/access-%d{yyyy-MM-dd}.log
  • Start as service
nano -w /etc/systemd/system/cantaloupe.service
[Unit]
Description=Cantaloupe Image Server

[Service]
Type=simple
User=cantaloupe
ExecStart=/usr/bin/java -Dcantaloupe.config=/opt/cantaloupe-4.0.3/cantaloupe.properties -Xmx12g -jar /opt/cantaloupe-4.0.3/cantaloupe-4.0.3.war
ExecStop=/usr/bin/killall -9 cantaloupe-4.0.3.war
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable cantaloupe.service

service cantaloupe start
  • Startup command (alternative to start as service)
cd /opt/cantaloupe-4.0.3/

sudo -u cantaloupe nohup java -Dcantaloupe.config=/opt/cantaloupe-4.0.3/cantaloupe.properties -Xmx12g -jar cantaloupe-4.0.3.war &
  • Clear cache on daily basis by HTTP API (Optional)
crontab -l

00 23 * * * /root/purge.sh >> /root/purge.log 2>&1
cat /root/purge.sh

# <= 3.4
#cd /opt/cantaloupe
#sudo -u cantaloupe java -Dcantaloupe.config=/opt/cantaloupe/cantaloupe.properties -Dcantaloupe.cache.purge -jar Cantaloupe-3.4.1.war
#
# >= 3.4
wget -q --server-response --user=MyEndpointApiUsername --password=MyEndpointApiSecret --post-data='{ "verb" : "PurgeCache" }' --header=Content-Type:application/json http://localhost:8182/tasks
 
 
reloaded/is_cantsafresh.1547657283.txt.gz ยท Last modified: 2019/01/16 17:48 by giancarlo

Developers: CNR IRCrES IT Office and Library
Giancarlo Birello (giancarlo.birello _@_ ircres.cnr.it) and Anna Perin (anna.perin _@_ ircres.cnr.it)
DigiBess is licensed under: Creative Commons License
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Drupal Garland Theme for Dokuwiki