Git Product home page Git Product logo

irods's Introduction

This is a Dockerized version of iRODS data management middleware (version 4.2.7). It uses Postgresql 9.6 for catalog database.

iRODS server is configured via a Python script (setup_irods.py). The configuration parameters are passed in via an input file (setup_irods.input), which has a single parameter specified on each line. To understand what each line in the input file means, refer to setup_irods.input.with_keys. You can edit setup_irods.input to configure your server as you wish, but please do not change the setup_irods.input.with_keys file!

The iRODS password is read from a file named irods_password_file.txt. Modify the dummy password in irods_password_file.txt. It MUST match that in setup_irods.input file!

If you want to create an S3 resource, in Dockerfile.server 1) set CREATE_S3_RESOURCE to True, 2) update the dummy AWS access ID and password in s3_auth_file.keypair file. This file should contain the ID and secret, each on a separate line, and nothing else, and 3) in Dockerfile.server, set various S3 specific environment variables.

Below are some common Docker commands (versionNumber could by X.Y.Z, e.g. 1.0.1):

To create an image:

sudo docker build -f Dockerfile.server -t irods-server:versionNumber .

To view the created image:

sudo docker images -f "reference=irods-server"

To run a container (while mapping Postgres and iRODS ports to host machine):

sudo docker run -d -p 5432:5432 -p 1247:1247 irods-server:versionNumber

To get the name of the running irods container:

sudo docker ps -f "ancestor=irods-server:versionNumber"

To view the container logs:

sudo docker logs containerName

To SSH into the container:

sudo docker exec -it containerName /bin/bash

To connect to iRODS' catalog database from host using psql:

sudo su postgres
cd /Library/PostgreSQL/12/bin (or, cd to Postgres installation directory on your machine)
./psql -h 127.0.0.1 -p 5432 -U irods -d ICAT -W (enter the DB password specified in the input file)

To start both server and client containers:

docker-compose build
docker-compose up

To stop both server and client containers:

docker-compose down

To tag a new image (IMAGE ID: 147c221885f4, TAG: 4.2.10):

docker tag 147c221885f4 kxk302/irods-server:4.2.10

To push the newly tagged image to your Docker Hub repository:

docker login
docker push kxk302/irods-server:4.2.10

To pull the newly tagged image from your Docker Hub repository:

docker pull kxk302/irods-server:4.2.10

References:

https://irods.org
https://irods.org/uploads/2016/06/irods_beginner_training_2016.pdf
https://github.com/irods/python-irodsclient
https://github.com/irods/irods_resource_plugin_s3
https://irods.org/2019/09/irods-releases-cacheless-s3-resource-plugin/ https://github.com/irods/irods_capability_storage_tiering https://slides.com/irods/ugm2019-administration-storage-tiering

irods's People

Contributors

jmchilton avatar kxk302 avatar mvdbeek avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.