Adding Custom Packages ====================== If you wish to make additional Python modules available to use with extensions that you have developed, use the following information. Prerequisite ------------ |RCC| manages the |RCE| environment using Supervisor. To add custom packages you need to install your instance of |RCE| as a self managed instance. This will let you to update the ``PYTHONPATH`` without |RCC| overwriting it. You can then extend the ``PYTHONPATH`` to find packaged outside of the |RCC| managed environment. To install |RCE| as a self-managed service using |RCC|, see the :ref:`Self-managed Instructions <control:set-self-managed-supervisor>`. Adding Custom Packages ---------------------- Once you have your instance configured as self-managed, use the following steps. 1. Add the modules to the |RCE| instance directory, :file:`/home/{user}/.rccontrol/{instance-id}`. 2. Add this location to your ``PYTHONPATH`` environment variable. This is set in the :file:`/home/{user}/.rccontrol/supervisor/supervisor.ini` file. For more information about ``PYTHONPATH``, see the `PYTHONPATH documentation`_. .. code-block:: ini [program:enterprise-1_script] numprocs = 1 redirect_stderr = true environment = PYTHONPATH="",GIT_SSL_CAINFO="/home/user/.rccontrol-profile/etc/ca-bundle.crt" 3. Specify the hook for your added module on the :menuselection:`Admin --> Settings --> Hooks` page. For example, ``python:rcextensions/you.custom.hook`` 4. Restart |RCE| using the ``rccontrol restart <instance-id>`` command. For more information, see the :ref:`RhodeCode Control CLI <control:rcc-cli>` documentation. .. _PYTHONPATH documentation: https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH