Roles

These are the roles that are needed:

  • Admin

ISG on Ubuntu 24.04 (noble)

This section contains everything you need to know about installing and managing the iconik Storage Gateway (ISG)

1. Download and install the Iconik Storage Gateway

Set up the iconik APT repository, and install the Iconik Storage Gateway package

sudo apt-get install wget gnupg
sudo tee -a /etc/apt/sources.list.d/iconik.list  >/dev/null << EOF
deb [signed-by=/usr/share/keyrings/iconik.gpg] https://packages.iconik.io/deb/ubuntu ./noble main
EOF
curl https://packages.iconik.io/deb/ubuntu/dists/noble/iconik_package_repos_pub.asc |\
sudo gpg --dearmor -o /usr/share/keyrings/iconik.gpg    
sudo apt-get update
sudo apt-get install iconik-storage-gateway

2. Edit config.ini

Edit /etc/iconik/iconik_storage_gateway/config.ini to look like this (See Setting up how to get the correct values)

[main]

app-id = 22f34c6e-268e-11e7-ac53-6c4008b85488
storage-id = 15fa3f68-7693-11e7-bf0c-02420a021013
iconik-url = https://app.iconik.io/
auth-token = eyJhbGciOiJIUzI1NiIsImlhdCI6MTUwMTU3NjAyNCwiZXhwIjoxNTAxNjE5MjI0fQ.eyJpZCI6IjMzMjFkMjIyLTc2OTMtMTFlNy1hN2EyLTAyNDIwYTAyMTAxYSJ9.sgag4OQb19J9qT1IAdKZYAqbpIoai7oW60Mahye7o8s
sleep-time = 5
max-transcoding-jobs = 5
log-filename = /var/log/iconik/iconik_storage_gateway/default.log
log-use-colors = true
forbidden-dirs = /;//;/etc/*;/dev/*;/cores/*;/bin/*;/sbin/*;/usr/*;/boot/*;/lib/*;/proc/*;/root/*;/run/*;/sys/*
image-magick-config = /etc/iconik/iconik_storage_gateway/image_magick_config
file-upload-parallel-uploads-num = 4
file-download-parallel-downloads-num = 4
missing-files-time-threshold = 60
sqlite-journal-mode = wal
#imagemagick-layer-extensions = .tiff,.tif,.png,.psd,.pdf,.psb
#image-extensions-override = .cr3,.raf,.tif,.tiff,.heic,.hdr

3. Start the service

After installation you can start service with:

sudo systemctl enable iconik-storage-gateway
sudo systemctl start iconik-storage-gateway

To check status of the service use:

sudo systemctl status iconik-storage-gateway

For following the log file, you can use the following command:

sudo tail -f /var/log/iconik/iconik_storage_gateway/default.log

You can run also run the systemd service from your custom user by providing an override (sudo systemctl edit iconik-storage-gateway.service) passing your own config and log files that are accessible for your custom user. Log file location can also be set in config.

[Service]
User=john
Group=john

ExecStart=/usr/bin/iconik_storage_gateway --config=/home/john/iconik_storage_gateway/config.ini --log-filename=/home/john/iconik_storage_gateway/default.log

You will need to give your new user permissions to the database file and the log directory as well (If you didn't change the logs)

sudo chown -R john:john /var/iconik/iconik_storage_gateway/
sudo chown -R john:john /var/log/iconik/iconik_storage_gateway/

After adding your custom user you need to restart service.

sudo systemctl daemon-reload
sudo systemctl restart iconik-storage-gateway

Local transcoding

Local transcoding is required for viewing your content in the web browser

For local transcoding to work you will have to install ffmpeg, poppler and ImageMagick. Make sure they are in the path for the user running the service.

sudo apt-get install ffmpeg imagemagick poppler-utils ghostscript dcraw

To get frame accurate playback in other browsers than Safari you also need mp4mux from Bento4

https://www.bento4.com/downloads/

Unpack the correct package, and copy the mp4mux binary to /usr/local/bin

To write xmp metadata which can be used in our adobe integration to the proxy files you need Exiftool

sudo apt-get install exiftool

Update the storage settings in Iconik to say Local keyframes and Local proxy and restart the service.

Installation guides per platform:

More information for Administrators