Changeset - 4d742b172010
[Not reviewed]
default
0 3 0
Mads Kiilerich (mads) - 6 years ago 2020-08-13 19:04:00
mads@kiilerich.com
Grafted from: b042c5f550a3
docs: front-end-build is actually a part of the install process - it is shared among all the instances
3 files changed with 22 insertions and 17 deletions:
0 comments (0 inline, 0 general)
docs/installation.rst
Show inline comments
 
@@ -50,25 +50,25 @@ Installation from repository source
 

	
 
To install Kallithea in a virtualenv using the stable branch of the development
 
repository, use the following commands in your bash shell::
 

	
 
        hg clone https://kallithea-scm.org/repos/kallithea -u stable
 
        cd kallithea
 
        python3 -m venv ../kallithea-venv
 
        . ../kallithea-venv/bin/activate
 
        pip install --upgrade pip setuptools
 
        pip install --upgrade -e .
 
        python3 setup.py compile_catalog   # for translation of the UI
 

	
 
You can now proceed to :ref:`setup`.
 
You can now proceed to :ref:`install-front-end`.
 

	
 
.. _installation-virtualenv:
 

	
 

	
 
Installing a released version in a virtualenv
 
---------------------------------------------
 

	
 
It is highly recommended to use a separate virtualenv for installing Kallithea.
 
This way, all libraries required by Kallithea will be installed separately from your
 
main Python installation and other applications and things will be less
 
problematic when upgrading the system or Kallithea.
 
An additional benefit of virtualenv is that it doesn't require root privileges.
 
@@ -105,32 +105,46 @@ An additional benefit of virtualenv is t
 

	
 
   This might require installation of development packages using your
 
   distribution's package manager.
 

	
 
  Alternatively, download a .tar.gz from http://pypi.python.org/pypi/Kallithea,
 
  extract it and install from source by running::
 

	
 
    pip install --upgrade .
 

	
 
- This will install Kallithea together with all other required
 
  Python libraries into the activated virtualenv.
 

	
 
You can now proceed to :ref:`setup`.
 
You can now proceed to :ref:`install-front-end`.
 

	
 
.. _installation-without-virtualenv:
 

	
 

	
 
Installing a released version without virtualenv
 
------------------------------------------------
 

	
 
For installation without virtualenv, 'just' use::
 

	
 
    pip install kallithea
 

	
 
Note that this method requires root privileges and will install packages
 
globally without using the system's package manager.
 

	
 
To install as a regular user in ``~/.local``, you can use::
 

	
 
    pip install --user kallithea
 

	
 
You can now proceed to :ref:`install-front-end`.
 

	
 
.. _install-front-end:
 

	
 

	
 
Prepare front-end files
 
-----------------------
 

	
 
Finally, the front-end files must be prepared. This requires ``npm`` version 6
 
or later, which needs ``node.js`` (version 12 or later). Prepare the front-end
 
by running::
 

	
 
    kallithea-cli front-end-build
 

	
 
You can now proceed to :ref:`setup`.
docs/overview.rst
Show inline comments
 
@@ -11,38 +11,38 @@ installing Kallithea.
 
    Kallithea needs:
 

	
 
    * A filesystem where the Mercurial and Git repositories can be stored.
 
    * A database where meta data can be stored.
 
    * A Python environment where the Kallithea application and its dependencies
 
      can be installed.
 
    * A web server that can host the Kallithea web application using the WSGI
 
      API.
 

	
 
2. **Install Kallithea software.**
 
    This makes the ``kallithea-cli`` command line tool available.
 

	
 
3. **Create low level configuration file.**
 
3. **Prepare front-end files**
 
    Some front-end files must be fetched or created using ``npm`` tooling so
 
    they can be served to the client as static files.
 

	
 
4. **Create low level configuration file.**
 
    Use ``kallithea-cli config-create`` to create a ``.ini`` file with database
 
    connection info, mail server information, configuration for the specified
 
    web server, etc.
 

	
 
4. **Populate the database.**
 
5. **Populate the database.**
 
    Use ``kallithea-cli db-create`` with the ``.ini`` file to create the
 
    database schema and insert the most basic information: the location of the
 
    repository store and an initial local admin user.
 

	
 
5. **Prepare front-end files**
 
    Some front-end files must be fetched or created using ``npm`` tooling so
 
    they can be served to the client as static files.
 

	
 
6. **Configure the web server.**
 
    The web server must invoke the WSGI entrypoint for the Kallithea software
 
    using the ``.ini`` file (and thus the database). This makes the web
 
    application available so the local admin user can log in and tweak the
 
    configuration further.
 

	
 
7. **Configure users.**
 
    The initial admin user can create additional local users, or configure how
 
    users can be created and authenticated from other user directories.
 

	
 
See the subsequent sections, the separate OS-specific instructions, and
 
:ref:`setup` for details on these steps.
docs/setup.rst
Show inline comments
 
@@ -84,33 +84,24 @@ repositories Kallithea will add all of t
 
location to its database.  (Note: make sure you specify the correct
 
path to the root).
 

	
 
.. note:: It is also possible to use an existing database. For example,
 
          when using PostgreSQL without granting general createdb privileges to
 
          the PostgreSQL kallithea user, set ``sqlalchemy.url =
 
          postgresql://kallithea:password@localhost/kallithea`` and create the
 
          database like::
 

	
 
              sudo -u postgres createdb 'kallithea' --owner 'kallithea'
 
              kallithea-cli db-create -c my.ini --reuse
 

	
 
Prepare front-end files
 
^^^^^^^^^^^^^^^^^^^^^^^
 

	
 
Finally, the front-end files must be prepared. This requires ``npm`` version 6
 
or later, which needs ``node.js`` (version 12 or later). Prepare the front-end
 
by running::
 

	
 
    kallithea-cli front-end-build
 

	
 
Running
 
^^^^^^^
 

	
 
You are now ready to use Kallithea. To run it using a gearbox web server,
 
simply execute::
 

	
 
    gearbox serve -c my.ini
 

	
 
- This command runs the Kallithea server. The web app should be available at
 
  http://127.0.0.1:5000. The IP address and port is configurable via the
 
  configuration file created in the previous step.
 
- Log in to Kallithea using the admin account created when running ``db-create``.
0 comments (0 inline, 0 general)