Skip to content

Commit

Permalink
installation and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jorge-lip committed Jan 4, 2017
1 parent 9322c9a commit f716b7e
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 17 deletions.
66 changes: 51 additions & 15 deletions doc/installation_manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,39 @@ privileges.
1. DEPENDENCIES
===============
Python dependencies are described in the file requirements.txt
Most notably udocker requires either pycurl or the curl binary command,

udocker requires either pycurl or the curl executable command,
to download both the binaries and/or pull containers from repositories.

2. USER INSTALLATION
====================
The official release of udocker is available from the INDIGO-DataCloud
repository at `http://repo.indigo-datacloud.eu/` where is made available
as a tarball to be deployed by the end user. Example:
as a tarball to be deployed by the end user. Allways check for the latest
version.

Install for the newer udocker v1.0.1:

```
cd $HOME
wget -O- http://repo.indigo-datacloud.eu/repository/indigo/1/centos7/x86_64/tgz/udocker-v1.X.X.tar.gz | tar xzvf -
curl http://repo.indigo-datacloud.eu/repository/indigo/1/centos7/x86_64/tgz/udocker-v1.0.1.tar.gz > udocker-tarball.tgz
export UDOCKER_TARBALL=$(pwd)/udocker-tarball.tgz
tar xzvf $UDOCKER_TARBALL udocker
./udocker help
```

To get the latest udocker source code from github clone the repository, or use
a web browser to access github at `https://github.com/indigo-dc/udocker`.
Install for previous udocker 1.0.0:

```
git clone https://github.com/indigo-dc/udocker
cd $HOME
wget -O- http://repo.indigo-datacloud.eu/repository/indigo/1/centos7/x86_64/tgz/udocker-v1.0.0.tar.gz | tar xzvf -
```

A basic setup.py is also provided in the source code:
A basic setup.py is also provided in the tarball:

```
mkdir /tmp/somedir
cd /tmp/somedir
curl http://repo.indigo-datacloud.eu/repository/indigo/1/centos7/x86_64/tgz/udocker-v1.X.X.tar.gz | tar xzvf -
python setup.py install --help
python setup.py install --home /home/USER/bin
```
Expand All @@ -46,7 +55,6 @@ An ansible playbook is provided in the file ansible_install.yaml:
curl https://raw.githubusercontent.com/indigo-dc/udocker/master/ansible_install.yaml > ansible_install.yaml
ansible-playbook ansible_install.yaml
```

Under debian based systems ansible can be installed with:
Expand All @@ -68,26 +76,54 @@ Optionally installation can be performed directly with pip:
pip install git+https://github.com/indigo-dc/udocker
```

4. DISTRIBUTION
4. SOURCE CODE
==============
To get the latest udocker script from the github development branch without
cloning the entire repository.
```
curl https://raw.githubusercontent.com/indigo-dc/udocker/devel/udocker.py
```

To get the udocker source code repository from the github master branch, clone the
repository, or use a web browser to access github at `https://github.com/indigo-dc/udocker`.

```
git clone https://github.com/indigo-dc/udocker
```

To get the udocker source code repository from the development branch.

```
git clone -b devel https://github.com/indigo-dc/udocker
```


5. DISTRIBUTION
===============
A distribution tarball can be built using the script build_tarball.sh in
the utils directory. The script fetches the code necessary to build the
binary executables such as proot and compiles them statically.
binary executables such as proot and compiles them statically. The following
example builds the tarball from the master repository.

```
git clone https://github.com/indigo-dc/udocker
cd udocker/utils
sh build_tarball.sh
```

5. REMARKS
==========
6. DIRECTORIES
==============
The binary executables and containers are usually kept in the user home directory
under $HOME/.udocker this directory will contain:

* Additional tools and modules for udocker such as proot.
* Data from pulled container images (layers and metadata).
* Directory trees for the containers extracted from the layers.

The location of the udocker directory can be changed via the `UDOCKER_DIR`
environment variable.
The location of the udocker directory can be changed via environment variables.

* UDOCKER_DIR : change the root directory of udocker usually $HOME/.udocker
* UDOCKER_BIN : change the location of udocker related executables
* UDOCKER_LIB : change the location of udocker related libraries
* UDOCKER_CONTAINERS : change the location of container directory trees (not images)

4 changes: 2 additions & 2 deletions doc/user_manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Due to the lack of isolation features udocker must not be run by privileged user

Similarly to docker, the login credentials for private repositories are stored
in a file and can be easily stolen. Logout can be used to delete the credentials.
If the host system is not trustable login should not be used.
If the host system is not trustable the login feature should not be used.

1.4. Basic flow
---------------
Expand All @@ -103,7 +103,7 @@ Additionally:

2. INSTALLATION
===============
udocker is usually placed in the user home directory and does not require
udocker can be placed in the user home directory and thus does not require
system installation. For further information see the installation manual.


Expand Down
5 changes: 5 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@

from distutils.core import setup

import os
import sys

sys.path.append(os.path.dirname(os.path.abspath(sys.argv[0])))

import udocker

setup(name="udocker",
Expand Down
1 change: 1 addition & 0 deletions utils/build_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ addto_package_udocker()
{
echo "addto_package_udocker"
/bin/cp -f -L "${REPO_DIR}/udocker.py" "${PACKAGE_DIR}/udocker"
(cd ${PACKAGE_DIR}; /bin/ln -s udocker udocker.py)
}

addto_package_other()
Expand Down

0 comments on commit f716b7e

Please sign in to comment.