33Rodent-Assimilated Image Server
44=======
55
6- ![ Gocutus] ( gocutus.png?raw=true " Gocutus ")
6+ ![ Gocutus, the RAIS mascot ] ( gocutus.png?raw=true " Gocutus, the RAIS mascot ")
77
88RAIS was originally built by [ eikeon] ( https://github.com/eikeon ) as a 100% open
99source, no-commercial-products-required, proof-of-concept tile server for JP2
1010images within [ chronam] ( https://github.com/LibraryOfCongress/chronam ) .
1111
1212It has been updated to allow more command-line options, more source file
13- formats, more features, conformance to the [ IIIF] ( http://iiif.io/ ) spec, and
14- experimental DeepZoom support.
13+ formats, more features, and conformance to the [ IIIF] ( http://iiif.io/ ) spec.
1514
1615RAIS is very efficient, completely free, and easy to set up and run. See our
1716[ wiki] ( https://github.com/uoregon-libraries/rais-image-server/wiki ) pages for
@@ -20,16 +19,49 @@ more details and documentation.
2019Configuration
2120-----
2221
22+ ### Main Configuration Settings
23+
2324RAIS uses a configuration system that allows environment variables, a config
2425file, and/or command-line flags. See [ rais-example.toml] ( rais-example.toml )
2526for an example of a configuration file. RAIS will use a configuration
2627file if one exists at ` /etc/rais.toml ` .
2728
2829The configuration file's values can be overridden by environment variables,
2930while command-line flags will override both configuration files and
30- environtmental variables. Configuration is best explained and understood by
31+ environmental variables. Configuration is best explained and understood by
3132reading the example file above, which describes all the values in detail.
3233
34+ ### Cloud Settings
35+
36+ Because connecting to a cloud provider is optional, often means using a
37+ container-based setup, and differs from one provider to the next, all RAIS
38+ cloud configuration is environment-only. This means it can't be specified on
39+ the command line or in ` rais.toml ` .
40+
41+ Currently RAIS can theoretically support S3, Azure, and Google Cloud backends,
42+ but only S3 has had much testing. To set up RAIS for S3, you would have to
43+ export the following environment variables (in addition to having an
44+ S3-compatible object store running):
45+
46+ - ` AWS_ACCESS_KEY_ID ` : Required
47+ - ` AWS_SECRET_ACCESS_KEY ` : Required
48+ - ` AWS_REGION ` : Required
49+ - ` RAIS_S3_ENDPOINT ` : optionally set for custom S3 backends; e.g., "minio:9000"
50+ - ` RAIS_S3_DISABLESSL ` : optionally set this to "true" for custom S3 backends
51+ which don't need SSL (for instance if they're running on the same server as
52+ RAIS)
53+ - ` RAIS_S3_FORCEPATHSTYLE ` : optionally set this to "true" to force path-style
54+ S3 calls. This is typically necessary for custom S3 backends like minio, but
55+ not for AWS.
56+
57+ Other backends have their own environment variables which have to be set in
58+ order to have RAIS connect to them.
59+
60+ For a full demo of a working custom S3 backend powered by minio, see ` docker/s3demo ` .
61+
62+ ** Note** that external storage is going to be slower than serving images from
63+ local filesystems! Make sure you test carefully!
64+
3365IIIF Features
3466-----
3567
@@ -41,9 +73,8 @@ for an in-depth look at feature support.
4173Caching
4274-----
4375
44- RAIS can internally cache the IIIF ` info.json ` requests, individual tile
45- requests, and, if it's in use, S3 images to a locally configured location. See
46- the [ RAIS Caching] ( https://github.com/uoregon-libraries/rais-image-server/wiki/Caching )
76+ RAIS can internally cache the IIIF ` info.json ` requests and individual tile
77+ requests. See the [ RAIS Caching] ( https://github.com/uoregon-libraries/rais-image-server/wiki/Caching )
4778wiki page for details.
4879
4980Generating tiled, multi-resolution JP2s
@@ -65,3 +96,10 @@ License
6596
6697RAIS Image Server is in the public domain under a
6798[ CC0] ( http://creativecommons.org/publicdomain/zero/1.0/ ) license.
99+
100+ Contributors
101+ -----
102+
103+ Special thanks to Jessica Dussault (@jduss4 ) for providing the hand-drawn
104+ "Gocutus" logo, and Greg Tunink (@techgique ) for various digital refinements to
105+ said logo.
0 commit comments