Skip to content

Commit fb9a489

Browse files
committed
Add Docker documentation and installation note for containerized setup
1 parent a1b4691 commit fb9a489

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed

docs/source/docker.rst

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
.. _docker:
2+
3+
Docker image
4+
============
5+
6+
The published Docker image includes ARC and RMG along with convenience entrypoints.
7+
Bind-mount your working directory and pass an input file path that exists inside
8+
the container. For best write access on bind mounts, pass your host UID/GID as
9+
``PUID``/``PGID`` (the entrypoint remaps the ``mambauser`` account).
10+
11+
Run ARC non-interactively::
12+
13+
docker run --rm \
14+
-v "$PWD:/work" -w /work \
15+
-e PUID=$(id -u) -e PGID=$(id -g) \
16+
laxzal/arc:latest arc my_case/input.yml
17+
18+
Run RMG non-interactively::
19+
20+
docker run --rm \
21+
-v "$PWD:/work" -w /work \
22+
-e PUID=$(id -u) -e PGID=$(id -g) \
23+
laxzal/arc:latest rmg my_case/input.py
24+
25+
Manual RMG invocation::
26+
27+
docker run --rm \
28+
-v "$PWD:/work" -w /work \
29+
-e PUID=$(id -u) -e PGID=$(id -g) \
30+
laxzal/arc:latest \
31+
micromamba run -n rmg_env python /home/mambauser/Code/RMG-Py/rmg.py my_case/input.py
32+
33+
Manual ARC invocation::
34+
35+
docker run --rm \
36+
-v "$PWD:/work" -w /work \
37+
-e PUID=$(id -u) -e PGID=$(id -g) \
38+
laxzal/arc:latest \
39+
micromamba run -n arc_env python /home/mambauser/Code/ARC/ARC.py my_case/input.yml
40+
41+
Open an interactive shell::
42+
43+
docker run --rm -it \
44+
-v "$PWD:/work" -w /work \
45+
-e PUID=$(id -u) -e PGID=$(id -g) \
46+
laxzal/arc:latest
47+
48+
For job submission, the scheduler client tools must be available in the container
49+
or accessed via SSH on a remote host.
50+
51+
Aliases in interactive shells
52+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
53+
54+
When you open an interactive shell, the image provides these aliases::
55+
56+
rc # reload ~/.bashrc
57+
rce, erc # edit ~/.bashrc with nano
58+
59+
mamba, conda # micromamba
60+
deact # micromamba deactivate
61+
62+
rmge, arce # activate rmg_env / arc_env
63+
64+
rmgcode # cd to /home/mambauser/Code/RMG-Py
65+
dbcode # cd to /home/mambauser/Code/RMG-database
66+
arcode # cd to /home/mambauser/Code/ARC
67+
68+
rmg # run RMG with input.py, tee logs
69+
arkane # run Arkane with input.py, tee logs
70+
arc # run ARC with input.yml, tee logs
71+
arcrestart # run ARC with restart.yml, tee logs

docs/source/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Documentation Contents
3535
:maxdepth: 2
3636

3737
installation
38+
docker
3839
running
3940
examples
4041
advanced

docs/source/installation.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ Note:
1111
ARC was only tested on Linux (Ubuntu_ 18.04.1 and 20.04 LTS) and Mac machines.
1212
We don't expect it to work smoothly on Windows machines.
1313

14+
Note:
15+
For a containerized setup, see the :ref:`Docker image <docker>` documentation.
16+
1417
Note:
1518
These installation instructions assume you already have access to a server with a cluster scheduling software
1619
(ARC currently supports SGE, Slurm, PBS, and HTCondor) and with properly installed electronic structure software

0 commit comments

Comments
 (0)