|
|
This page is intended to provide technical informations hopefully useful for anybody in charge of running the yafits containers. The commands indicated below were run under SL Linux. Feel free to introduce examples of commands used on different flavours of Linux or on Mac OSX where it's relevant.
|
|
|
|
|
|
# Prerequisites
|
|
|
|
|
|
You have cloned/downloaded the `yafits` project and you can run the `docker-compose` command
|
|
|
|
|
|
# Starting docker daemon (possibly)
|
|
|
|
|
|
### Manually on demand
|
|
|
|
|
|
Before trying to launch any container, it's advised to ensure that the docker daemon is running. E.g. it may happen that the daemon has not been registered to be launched during a (re)boot sequence.
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
ps aux|grep dockerd
|
|
|
```
|
|
|
|
|
|
If the above command returns nothing then start a session on an account belonging to sudoers and start the daemon. Example :
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
[caillat-adm@juliette ~]$ sudo service docker start
|
|
|
[sudo] Mot de passe de caillat-adm :
|
|
|
Redirecting to /bin/systemctl start docker.service
|
... | ... | @@ -23,7 +25,8 @@ root 14212 0.2 0.0 2064984 65392 ? Ssl 11:59 0:00 /usr/bin/docke |
|
|
```
|
|
|
|
|
|
### Having `dockerd` automatically started during the future boot sequences
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
sudo systemctl enable docker.service
|
|
|
```
|
|
|
|
... | ... | @@ -31,41 +34,57 @@ sudo systemctl enable docker.service |
|
|
|
|
|
## Change the current directory to the yafits project's :
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
cd <..>/yafits
|
|
|
```
|
|
|
|
|
|
## Build and run the containers
|
|
|
## Build and run the containers with docker-compose
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
docker-compose build
|
|
|
docker-compose up -d
|
|
|
```
|
|
|
# Starting portainer
|
|
|
|
|
|
## Build and run the containers with the control script
|
|
|
|
|
|
Yafits provides a bash control script called yafits installed in the root directory. It accepts the following arguments :
|
|
|
|
|
|
```plaintext
|
|
|
- help Show this help
|
|
|
- build Build the application
|
|
|
- buildrun Build and run the application
|
|
|
- prune Prune existing containers
|
|
|
- run Run the application without build
|
|
|
- updatespectro Will build and run yafits, spectroscopy database will be updated
|
|
|
```
|
|
|
|
|
|
# Starting portainer
|
|
|
|
|
|
```plaintext
|
|
|
docker volume create portainer_data
|
|
|
docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
## Activating `jupyterhub` sur `romeo`
|
|
|
|
|
|
Start a session under the `jupyterhub` account and then type :
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
nohup jupyterhub &
|
|
|
```
|
|
|
|
|
|
and logout.
|
|
|
|
|
|
or in a more system admin way :
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
sudo systemctl start jupyterhub.service
|
|
|
```
|
|
|
|
|
|
and possibly check the status of the service :
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
sudo systemctl status jupyterhub.service
|
|
|
● jupyterhub.service - Jupyterhub
|
|
|
Loaded: loaded (/usr/lib/systemd/system/jupyterhub.service; disabled; vendor preset: disabled)
|
... | ... | @@ -90,24 +109,26 @@ déc. 15 10:20:12 romeo.obspm.fr jupyterhub[115277]: [I 2020-12-15 10:20:12.529 |
|
|
```
|
|
|
|
|
|
## Having `jupyterhub` active concurrently with `docker` on `romeo`
|
|
|
|
|
|
By default `jupyterhub`'s proxy uses the port 8000 which the port used by `docker`'s. See below a way to have `jupyterhub`'s proxy using a different port ( e.g. 8500 ) :
|
|
|
|
|
|
* In `jupyterhub`'s account on `romeo` ( username : jupyterhub, password: askme) edit the file `jupyterhub_config.py` in the home directory and type `c.JupyterHub.bind_url = 'http://:8500'` at line 94
|
|
|
|
|
|
* Start `jupyterhub`. In the same account type `nohup jupyterhub &` . Be careful that a `nohup.out` file logging the activity is going to grow.
|
|
|
|
|
|
* As root or from a sudo enabled account open the port 8500 once forever :
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
sudo firewall-cmd --zone=public --permanent --add-port=8500/tcp
|
|
|
sudo firewall-cmd --reload
|
|
|
```
|
|
|
|
|
|
At this point you should be able to access `jupyterhub` on `romeo` via the link [https://romeo.obspm.fr:8500](https://romeo.obspm.fr:8500)
|
|
|
At this point you should be able to access `jupyterhub` on `romeo` via the link <https://romeo.obspm.fr:8500>
|
|
|
|
|
|
# Hardware configuration
|
|
|
|
|
|
This section describes the network, storage and computing resources dedicated to ARTEMIX and YAFITS on their development site i.e. the LERMA/Observatoire de Paris.
|
|
|
|
|
|
## juliette[.obspm.fr]
|
|
|
## juliette\[.obspm.fr\]
|
|
|
|
|
|
The host for artemix ( artemix.obspm.fr ) and yafits ( artemix.obspm.fr/fits ).
|
|
|
|
|
|
* machine : DELL R740, 2 processors, 32 cores, 384GB RAM
|
... | ... | @@ -116,13 +137,16 @@ The host for artemix ( artemix.obspm.fr ) and yafits ( artemix.obspm.fr/fits ). |
|
|
- /datartemix2 ( 101TB )
|
|
|
|
|
|
# House cleaning
|
|
|
|
|
|
The execution of YAFITS servers generates a lot of temporary files amongst which are the FITS files generated a
|
|
|
|
|
|
# Network considerations
|
|
|
|
|
|
## Open a port
|
|
|
|
|
|
Example :
|
|
|
```
|
|
|
|
|
|
```plaintext
|
|
|
[caillat-adm@juliette ~]$ sudo sudo firewall-cmd --zone=public --permanent --add-port=3023/tcp
|
|
|
[sudo] Mot de passe de caillat-adm :
|
|
|
success
|
... | ... | |