.. _git: https://git-scm.com/ .. _jinja2: https://jinja.palletsprojects.com/ .. _mako: https://www.makotemplates.org/ .. _openssh-client: https://www.openssh.com/ .. _python: https://python.org/ .. _rsync: https://rsync.samba.org/ .. _quickstart: ########## Quickstart ########## .. _quickstart-dependencies: ************ Dependencies ************ * python_ >= 3.6 * rsync_ * openssh-client_ .. _quickstart-dependencies-template-engine: Template Engine =============== If you're (planning on) using *templates* in your configuration you need at least one of the following :ref:`template engines ` installed: * jinja2_ * mako_ To make sure *hods* can find them, install them using the same package manager you're using to install *hods*! .. _quickstart-installation: ************ Installation ************ .. _quickstart-installation-pip: pip === *Run this as root to install hods for all users.*:: pip install hods On some distributions where python packages are distribution packages (e.g. debian) you might need to use ``pip3`` instead:: pip3 install hods Using templates in your configuration also requires ``jinja2`` or ``mako``: You can either install them alongside hods using the *extra* package:: pip install hods[jinja] # or pip install hods[mako] *Or* install them manually:: pip install jinja2 # or pip install mako .. _quickstart-installation-manual: Manual ====== *Run this as root to install hods for all users.* Install git_, *clone* the repository and install *hods*:: git clone https://git.m-stelzer.de/knoppo/hods cd hods python setup.py install On some distributions where python packages are distribution packages (e.g. debian) you might need to use ``python3`` instead:: python3 setup.py install Install the *template engine(s)* using ``pip`` as shown above. There's usually no need to install them *manually* as well. .. _quickstart-run: *** Run *** When installed you can run it from anywhere:: hods .. tip:: To run *hods* on a remote *root* user that is only accessible through ``sudo``, use a *ssh-agent* and ``sudo -E su`` to forward your ssh key:: eval `ssh-agent` ssh-add ssh -A example.com sudo -E su hods