ISG on CentOS 7
This section contains everything you need to know about installing and managing the iconik Storage Gateway (ISG)
Set up the Cantemo Yum repository, and install the Iconik Storage Gateway RPM
cd /etc/yum.repos.d sudo wget https://packages.iconik.io/rpm/7/iconik.repo sudo yum install iconik_storage_gateway
It will be installed in
/opt/cantemo/iconik_storage_gateway where you will also find the config file called
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 = 10 max-transcoding-jobs = 1 file-upload-parallel-uploads-num = 4 file-download-parallel-downloads-num = 4 log-filename = /var/log/cantemo/iconik_storage_gateway/default.log
Iconik Storage Gateway will add a system user called
cantemo that will be used to run systemd service. The
cantemo user must have permissions to read/write the storage mount point folder and it contents. You can add the cantemo user to a group to manage permissions on group level instead.
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/cantemo/iconik_storage_gateway/default.log
You can run also run the systemd service from your custom user providing it to
/usr/lib/systemd/system/iconik_storage_gateway.service with 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/cantemo/iconik_storage_gateway/ sudo chown -R john:john /var/log/cantemo/iconik_storage_gateway/
After adding your custom user you need to restart service.
sudo systemctl daemon-reload sudo systemctl restart iconik_storage_gateway
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.
Below is one way of doing so, but please do not use on a production setup without checking compatibility with other software:
sudo yum install epel-release -y sudo yum update -y sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm sudo yum install ffmpeg ffmpeg-devel ImageMagick poppler-utils ghostscript ufraw -y
Alternatively, you can download a static build of ffmpeg which doesn't require any additional libraries. This is available from https://johnvansickle.com/ffmpeg/
To get frame accurate playback in other browsers than Safari you also need mp4mux from Bento4.
You can download binaries from https://www.bento4.com/downloads/ but the latest version does not work properly on CentOS 7. Please use the version available at http://zebulon.bok.net/Bento4/binaries/Bento4-SDK-1-5-1-628.x86_64-unknown-linux.zip instead.
Unpack the correct package, and copy the
mp4mux binary to
Update the storage settings in Iconik to say
Local keyframes and
Local proxy and restart the service.