##// END OF EJS Templates
env-variables: make it safer if there's a syntax problem inside .ini file....
env-variables: make it safer if there's a syntax problem inside .ini file. It's better to not crash, since it means server wont start. Let users fix problems instead of breaking the startup because of that.

File last commit:

r1:854a839a default
r3237:5cf82ecc default
Show More
add-to-env.rst
43 lines | 1.7 KiB | text/x-rst | RstLexer
project: added all source files and assets
r1 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