carta-controller 5.0.0-beta.1 → 5.0.0-beta.1c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/example_config.json +4 -4
- package/config/example_nginx.conf.stub +5 -8
- package/config/example_sudoers_conf.stub +1 -1
- package/docs/requirements.txt +1 -0
- package/docs/src/conf.py +1 -0
- package/docs/src/configuration.rst +11 -5
- package/docs/src/index.rst +10 -10
- package/docs/src/installation.rst +180 -8
- package/docs/src/introduction.rst +2 -2
- package/docs/src/step_by_step.rst +576 -0
- package/package.json +2 -2
- package/docs/src/almalinux8_instructions.rst +0 -281
- package/docs/src/ubuntu_focal_instructions.rst +0 -127
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"pam": {
|
|
5
5
|
"publicKeyLocation": "/etc/carta/carta_public.pem",
|
|
6
6
|
"privateKeyLocation": "/etc/carta/carta_private.pem",
|
|
7
|
-
"issuer": "
|
|
7
|
+
"issuer": "carta.example.com"
|
|
8
8
|
}
|
|
9
9
|
},
|
|
10
10
|
"database": {
|
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
"serverPort": 8000,
|
|
15
15
|
"serverInterface": "localhost",
|
|
16
16
|
"processCommand": "/usr/bin/carta_backend",
|
|
17
|
-
"killCommand": "/usr/
|
|
17
|
+
"killCommand": "/usr/bin/carta-kill-script",
|
|
18
18
|
"rootFolderTemplate": "/home/{username}",
|
|
19
19
|
"baseFolderTemplate": "/home/{username}",
|
|
20
20
|
"dashboard": {
|
|
21
21
|
"bannerColor": "#d2dce5",
|
|
22
22
|
"backgroundColor": "#f6f8fa",
|
|
23
|
-
"bannerImage": "/
|
|
23
|
+
"bannerImage": "/usr/lib/node_modules/carta-controller/public/images/carta_logo.svg",
|
|
24
24
|
"infoText": "Welcome to the CARTA server.",
|
|
25
25
|
"loginText": "<span>Please enter your login credentials:</span>",
|
|
26
|
-
"footerText": "<span>If you have any problems, comments or suggestions, please <a href='mailto:
|
|
26
|
+
"footerText": "<span>If you have any problems, comments or suggestions, please <a href='mailto:admin@carta.example.com'>contact us.</a></span>"
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
server {
|
|
2
2
|
listen 443 ssl;
|
|
3
3
|
ssl on;
|
|
4
|
-
server_name
|
|
5
|
-
ssl_certificate /etc/
|
|
6
|
-
ssl_certificate_key /etc/
|
|
4
|
+
server_name carta.example.com;
|
|
5
|
+
ssl_certificate /etc/letsencrypt/live/carta.example.com/fullchain.pem;
|
|
6
|
+
ssl_certificate_key /etc/letsencrypt/live/carta.example.com/privkey.pem;
|
|
7
7
|
location / {
|
|
8
8
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
9
9
|
proxy_pass http://localhost:8000/;
|
|
@@ -16,11 +16,8 @@ server {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
server {
|
|
19
|
-
server_name
|
|
20
|
-
if ($host = my-carta-server.com) {
|
|
21
|
-
return 301 https://$host$request_uri;
|
|
22
|
-
}
|
|
19
|
+
server_name carta.example.com;
|
|
23
20
|
listen 80 ;
|
|
24
21
|
listen [::]:80 ;
|
|
25
|
-
return
|
|
22
|
+
return 301 https://$host$request_uri;
|
|
26
23
|
}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
carta ALL=(%carta-users) NOPASSWD:SETENV: /usr/bin/carta_backend
|
|
5
5
|
|
|
6
6
|
# carta user can run the kill script as any user in the carta-users group without entering password
|
|
7
|
-
carta ALL=(%carta-users) NOPASSWD: /usr/
|
|
7
|
+
carta ALL=(%carta-users) NOPASSWD: /usr/bin/carta-kill-script
|
package/docs/requirements.txt
CHANGED
package/docs/src/conf.py
CHANGED
|
@@ -24,6 +24,8 @@ To provide the ``carta`` user with these privileges, you must make modifications
|
|
|
24
24
|
:language: cfg
|
|
25
25
|
:name: example_sudoers
|
|
26
26
|
|
|
27
|
+
Please ensure that the paths to the executables in this file match their install locations on your system (especially if you have installed multiple different versions of the backend or the controller).
|
|
28
|
+
|
|
27
29
|
.. warning::
|
|
28
30
|
Please only edit your sudoers configuration with ``visudo`` or equivalent.
|
|
29
31
|
|
|
@@ -55,7 +57,7 @@ PAM may be configured to use the host's local UNIX user authentication, or to co
|
|
|
55
57
|
|
|
56
58
|
Nginx
|
|
57
59
|
~~~~~
|
|
58
|
-
|
|
60
|
+
|
|
59
61
|
We strongly suggest serving over HTTPS and redirecting HTTP traffic to HTTPS, especially if handling authentication internally. If you use `nginx <https://www.nginx.com/>`_ as a proxy, you can use `this configuration example <_static/config/example_nginx.conf.stub>`_ as a starting point to redirect incoming traffic from port 443 to port 8000:
|
|
60
62
|
|
|
61
63
|
.. literalinclude:: _static/config/example_nginx.conf.stub
|
|
@@ -89,7 +91,7 @@ By default, the controller assumes the config file is located at ``/etc/carta/co
|
|
|
89
91
|
|
|
90
92
|
Configuration may also be added in separate files in a ``config.d`` directory in the same parent directory as the specified config file. Each file in this directory must be a valid configuration file. Any files found will be processed in alphabetical order, after the main configuration file.
|
|
91
93
|
|
|
92
|
-
The controller automatically executes the backend with the ``--no_http`` flag, to suppress the backend's built-in HTTP server. If the ``logFileTemplate`` configuration option is set, ``--no_log`` is also used to suppress user-level logs. ``--port`` is used to override the default port. ``--top_level_folder`` and a positional argument are used to set the top-level and starting data directories for the user, as specified in the ``rootFolderTemplate`` and ``baseFolderTemplate`` options, respectively.
|
|
94
|
+
The controller automatically executes the backend with the ``--no_http`` flag, to suppress the backend's built-in HTTP server. If the ``logFileTemplate`` configuration option is set, ``--no_log`` is also used to suppress user-level logs. ``--port`` is used to override the default port. ``--top_level_folder`` and a positional argument are used to set the top-level and starting data directories for the user, as specified in the ``rootFolderTemplate`` and ``baseFolderTemplate`` options, respectively.
|
|
93
95
|
|
|
94
96
|
To specify additional backend flags, we recommend editing a :ref:`global backend preferences<config-backend>` file. Most commandline arguments to the backend are also recognised as configuration options. The ``additionalArgs`` field in the controller configuration file can be used for any debug options which are not, and to disable the local or global configuration files.
|
|
95
97
|
|
|
@@ -123,9 +125,13 @@ The backend configuration file must adhere to the :ref:`CARTA backend configurat
|
|
|
123
125
|
.. literalinclude:: _static/config/example_backend.json
|
|
124
126
|
:language: json
|
|
125
127
|
:name: example_backend
|
|
126
|
-
|
|
128
|
+
|
|
127
129
|
.. _test-config:
|
|
128
130
|
|
|
131
|
+
.. note::
|
|
132
|
+
|
|
133
|
+
If you use the global configuration file, please ensure that it is readable by all users in the ``carta-users`` group, *and* that the parent ``/etc/carta/`` directory is readable and executable by all users in the ``carta-users`` group, otherwise the starting backend processes will not be able to access it.
|
|
134
|
+
|
|
129
135
|
Testing the configuration
|
|
130
136
|
-------------------------
|
|
131
137
|
|
|
@@ -137,7 +143,7 @@ To test the configuration of the controller, you can use the built-in test featu
|
|
|
137
143
|
Adding additional config file config.d/pam.json
|
|
138
144
|
No top-level folder was specified. Reverting to default location
|
|
139
145
|
Testing configuration with user alice
|
|
140
|
-
Password for user alice:
|
|
146
|
+
Password for user alice:
|
|
141
147
|
✔ Checked PAM connection for user alice
|
|
142
148
|
✔ Verified uid (1000) for user alice
|
|
143
149
|
✔ Generated access token for user alice
|
|
@@ -158,4 +164,4 @@ To test the configuration of the controller, you can use the built-in test featu
|
|
|
158
164
|
Controller tests with user alice succeeded
|
|
159
165
|
|
|
160
166
|
.. note::
|
|
161
|
-
If you run the controller from a source directory using ``npm``, use ``--`` to ensure that any commandline parameters are passed to the controller and not to ``npm``. For example: ``npm
|
|
167
|
+
If you run the controller from a source directory using ``npm``, use ``--`` to ensure that any commandline parameters are passed to the controller and not to ``npm``. For example: ``npm start -- --verbose --test alice``.
|
package/docs/src/index.rst
CHANGED
|
@@ -8,30 +8,30 @@ CARTA Controller
|
|
|
8
8
|
|
|
9
9
|
|backend-github| |npm-package| |last-commit| |commit-activity|
|
|
10
10
|
|
|
11
|
-
CARTA is the Cube Analysis and Rendering Tool for Astronomy. This document describes the installation and configuration process for the controller
|
|
11
|
+
CARTA is the Cube Analysis and Rendering Tool for Astronomy. This document describes the installation and configuration process for a site deployment of CARTA, including the controller and its dependencies. We recommend this deployment option for organisations providing CARTA to multiple users.
|
|
12
12
|
|
|
13
|
-
Detailed step-by-step instructions are provided for
|
|
14
|
-
|
|
13
|
+
Detailed :ref:`step-by-step instructions <step_by_step>` are provided for a standalone CARTA deployment on a dedicated server. Please use these instructions as a starting point, and make adjustments as required to integrate CARTA into your organisation's existing systems. More detailed information about customisation can be found in the :ref:`installation` and :ref:`configuration` sections.
|
|
14
|
+
|
|
15
|
+
We officially support Ubuntu 20.04 (v4.x only), 22.04, and 24.04, and AlmaLinux 8 and 9 (and equivalent RPM-based distributions), with all available standard updates applied. We provide legacy support only for existing 4.x installations on RHEL 7 and equivalents.
|
|
15
16
|
|
|
16
17
|
.. toctree::
|
|
17
18
|
:maxdepth: 2
|
|
18
19
|
:caption: Contents:
|
|
19
|
-
|
|
20
|
+
|
|
20
21
|
introduction
|
|
21
22
|
installation
|
|
22
23
|
configuration
|
|
23
|
-
|
|
24
|
-
almalinux8_instructions
|
|
24
|
+
step_by_step
|
|
25
25
|
schema
|
|
26
26
|
schema_backend
|
|
27
27
|
|
|
28
|
-
.. |backend-github| image:: https://img.shields.io/badge/CARTA%20Version-
|
|
28
|
+
.. |backend-github| image:: https://img.shields.io/badge/CARTA%20Version-5.0.0--beta.1-brightgreen
|
|
29
29
|
:alt: View this backend version on GitHub
|
|
30
|
-
:target: https://github.com/CARTAvis/carta-backend/releases/tag/
|
|
30
|
+
:target: https://github.com/CARTAvis/carta-backend/releases/tag/v5.0.0-beta.1
|
|
31
31
|
|
|
32
|
-
.. |npm-package| image:: https://img.shields.io/npm/v/carta-controller?style=flat
|
|
32
|
+
.. |npm-package| image:: https://img.shields.io/npm/v/carta-controller/beta?style=flat
|
|
33
33
|
:alt: View this project on npm
|
|
34
|
-
:target: https://npmjs.
|
|
34
|
+
:target: https://www.npmjs.com/package/carta-controller/v/5.0.0-beta.1
|
|
35
35
|
|
|
36
36
|
.. |last-commit| image:: https://img.shields.io/github/last-commit/CARTAvis/carta-controller
|
|
37
37
|
:alt: Last commit
|
|
@@ -3,46 +3,218 @@
|
|
|
3
3
|
Installation
|
|
4
4
|
============
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
.. note::
|
|
7
|
+
|
|
8
|
+
This section provides an overview of different ways to install specific components of CARTA. Please refer to our :ref:`step-by-step instructions <step_by_step>` for a complete set of installation and configuration instructions for supported platforms, and ensure that you have followed all the required steps before running the controller.
|
|
7
9
|
|
|
8
10
|
.. _install_backend:
|
|
9
11
|
|
|
10
12
|
Installing the backend
|
|
11
13
|
----------------------
|
|
12
14
|
|
|
13
|
-
|
|
15
|
+
Packages
|
|
16
|
+
~~~~~~~~
|
|
17
|
+
|
|
18
|
+
We provide binary `Ubuntu <https://launchpad.net/~cartavis-team/+archive/ubuntu/carta>`_ and `RPM <https://copr.fedorainfracloud.org/coprs/cartavis/carta>`_ packages of the latest beta and stable releases of the CARTA backend for all officially supported distributions.
|
|
19
|
+
|
|
20
|
+
You can install the latest stable version with all dependencies on Ubuntu by adding our PPA to your system and running ``apt-get install carta-backend``.
|
|
21
|
+
|
|
22
|
+
On AlmaLinux you can add our Copr repository and run ``sudo dnf install carta-backend``.
|
|
14
23
|
|
|
15
24
|
.. note::
|
|
16
25
|
|
|
17
26
|
The ``carta-backend`` package is updated with every stable CARTA release. If you would like to install the latest **beta** version of CARTA, or to receive beta release updates as well as stable release updates in the future, please install the ``carta-backend-beta`` package instead.
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
Packaged debug symbols
|
|
29
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
30
|
+
|
|
31
|
+
You can install debugging symbols for our Ubuntu packages with ``apt`` if you enable this option for our PPA.
|
|
32
|
+
|
|
33
|
+
.. code-block:: shell
|
|
34
|
+
|
|
35
|
+
sudo add-apt-repository -c main/debug ppa:cartavis-team/carta
|
|
36
|
+
sudo apt-get install carta-backend-dbgsym
|
|
37
|
+
|
|
38
|
+
..
|
|
39
|
+
From CARTA v5 beta onwards, debugging symbols can also be installed for our RPM packages.
|
|
40
|
+
|
|
41
|
+
.. code-block:: shell
|
|
42
|
+
|
|
43
|
+
dnf debuginfo-install carta-backend
|
|
44
|
+
|
|
45
|
+
Rebuilding packages
|
|
46
|
+
~~~~~~~~~~~~~~~~~~~
|
|
47
|
+
|
|
48
|
+
Our Ubuntu package source is available in `a collection of public repositories <https://github.com/search?q=org%3Aidia-astro+-deb&type=repositories>`_. Please refer to the ``debian`` subdirectories in these repositories if you would like to build your own Debian packages, or to check what build options we use.
|
|
49
|
+
|
|
50
|
+
You can also obtain the Ubuntu package source with ``apt-src`` (after enabling source packages for our PPA).
|
|
51
|
+
|
|
52
|
+
.. code-block:: shell
|
|
53
|
+
|
|
54
|
+
sudo add-apt-repository -s ppa:cartavis-team/carta
|
|
55
|
+
sudo apt-get update
|
|
56
|
+
sudo apt-get install apt-src
|
|
57
|
+
apt-src install carta-backend
|
|
58
|
+
|
|
59
|
+
You can obtain the RPM package source with ``dnf``.
|
|
60
|
+
|
|
61
|
+
.. code-block:: shell
|
|
62
|
+
|
|
63
|
+
dnf download --source carta-backend
|
|
64
|
+
|
|
65
|
+
Custom Casacore version
|
|
66
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
|
67
|
+
|
|
68
|
+
The backend depends on a custom version of the Casacore C++ library which also includes the image analysis component of CASA. We provide Ubuntu and RPM packages of this dependency in the same repositories as the backend packages. To avoid clashes with the default system Casacore packages, our packages use a different name, and a custom install location, ``/opt/carta-casacore``.
|
|
69
|
+
|
|
70
|
+
External data for Casacore
|
|
71
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
72
|
+
|
|
73
|
+
Casacore depends on a collection of external astronomical data. Some distributions provide packages for this. Because these packages may be far behind the current version of the data, you may wish to manage the required files without using a package.
|
|
74
|
+
|
|
75
|
+
The ``casacore-data`` package is recommended by the Ubuntu backend package, but installing it is optional. The packages in `our Ubuntu PPA <https://launchpad.net/~cartavis-team/+archive/ubuntu/carta>`_ should be compatible both with the ``casacore-data`` package in the core Ubuntu repositories and with the package provided by the `Kern PPAs <https://launchpad.net/~kernsuite>`_. To avoid installing the ``casacore-data`` package, use the ``--no-install-recommends`` flag when installing the backend package.
|
|
76
|
+
|
|
77
|
+
An example script for fetching the data manually (you can configure ``cron`` to run this weekly):
|
|
78
|
+
|
|
79
|
+
.. code-block:: shell
|
|
80
|
+
|
|
81
|
+
#!/bin/bash
|
|
82
|
+
|
|
83
|
+
rm -f /tmp/WSRT_Measures.ztar
|
|
84
|
+
wget ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar -P /tmp -q
|
|
85
|
+
tar zxf /tmp/WSRT_Measures.ztar -C /var/lib/casacore/data
|
|
86
|
+
chmod -R 755 /var/lib/casacore/data
|
|
87
|
+
|
|
88
|
+
Installing from source
|
|
89
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
90
|
+
|
|
91
|
+
To install the backend on a different host system, or to install a custom version, you can build it from source from the `backend repository <https://github.com/CARTAvis/carta-backend/>`_ on GitHub. The `dockerfiles <https://github.com/CARTAvis/carta-backend/tree/dev/Dockerfiles>`_ in the backend repository are a good starting point for installing and configuring all the build dependencies on different Linux distributions.
|
|
92
|
+
|
|
93
|
+
Once all dependencies have been installed, check out the backend repository with all its submodules, and build using ``cmake``.
|
|
94
|
+
|
|
95
|
+
.. code-block:: shell
|
|
96
|
+
|
|
97
|
+
# Clone the backend repository
|
|
98
|
+
git clone --recurse-submodules https://github.com/CARTAvis/carta-backend.git
|
|
99
|
+
cd carta-backend
|
|
100
|
+
|
|
101
|
+
# Configure the build
|
|
102
|
+
mkdir build
|
|
103
|
+
cd build
|
|
104
|
+
cmake ..
|
|
20
105
|
|
|
21
|
-
|
|
106
|
+
# Build
|
|
107
|
+
make -j8
|
|
22
108
|
|
|
23
|
-
|
|
109
|
+
The backend executable will be located in the ``build`` directory.
|
|
110
|
+
|
|
111
|
+
.. note::
|
|
112
|
+
|
|
113
|
+
If you install a custom backend, ensure that a custom ``processCommand`` is set in the controller configuration and that the backend path is updated in the sudoers file.
|
|
24
114
|
|
|
25
115
|
.. _install_frontend:
|
|
26
116
|
|
|
27
117
|
Installing the frontend
|
|
28
118
|
-----------------------
|
|
29
119
|
|
|
30
|
-
If you install the controller from NPM, the corresponding packaged version of the frontend will
|
|
120
|
+
If you install the controller package from NPM, the corresponding packaged version of the frontend will be installed automatically as a dependency. However, you may wish to install a custom version of the frontend if you are installing the controller from source, or if you would like to test an updated frontend version.
|
|
121
|
+
|
|
122
|
+
.. note::
|
|
123
|
+
|
|
124
|
+
If you install a custom frontend, ensure that a custom ``frontendPath`` is set in the controller configuration.
|
|
125
|
+
|
|
126
|
+
NPM package
|
|
127
|
+
~~~~~~~~~~~
|
|
128
|
+
|
|
129
|
+
You can manually install a `specific published version <https://www.npmjs.com/package/carta-frontend>`_ of the frontend `from NPM <https://www.npmjs.com/package/carta-frontend>`_, either globally or into a custom location.
|
|
130
|
+
|
|
131
|
+
.. code-block:: shell
|
|
132
|
+
|
|
133
|
+
# Install latest pre-release version into the current directory
|
|
134
|
+
npm install carta-frontend@dev
|
|
135
|
+
|
|
136
|
+
Installing from source
|
|
137
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
138
|
+
|
|
139
|
+
Development versions of the frontend can be installed from the `frontend repository <https://github.com/CARTAvis/carta-frontend/>`_ on GitHub. Node.js and NPM are required for the build. We recommend performing the WebAssembly compilation in a container. The example below requires Docker to be installed. Please refer to the repository documentation for more compilation options.
|
|
140
|
+
|
|
141
|
+
.. code-block:: shell
|
|
142
|
+
|
|
143
|
+
# Clone the frontend repository
|
|
144
|
+
git clone --recurse-submodules https://github.com/CARTAvis/carta-frontend.git
|
|
145
|
+
cd carta-frontend
|
|
146
|
+
|
|
147
|
+
# Build the frontend (using Docker for WebAssembly compilation)
|
|
148
|
+
npm install
|
|
149
|
+
npm run prepack
|
|
150
|
+
|
|
151
|
+
The built frontend will be available in the ``build`` subdirectory.
|
|
152
|
+
|
|
153
|
+
Copying existing build
|
|
154
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
155
|
+
|
|
156
|
+
The generated code in the ``build`` directory is standalone and portable between systems. If you already have a build of the frontend in another location, you can safely copy only this directory and use it without having to rebuild it. This may be simpler than setting up a build environment on your server.
|
|
157
|
+
|
|
158
|
+
The build can be found in ``carta-frontend/build`` in the ``node_packages`` directory created by an NPM install. You can also download tarballs of builds directly from the NPM repository without using ``npm``.
|
|
31
159
|
|
|
32
160
|
.. _install_controller:
|
|
33
161
|
|
|
34
162
|
Installing the controller
|
|
35
163
|
-------------------------
|
|
36
164
|
|
|
37
|
-
|
|
165
|
+
NPM package
|
|
166
|
+
~~~~~~~~~~~
|
|
167
|
+
|
|
168
|
+
You can install the latest stable version of the CARTA controller from NPM by running ``npm install -g carta-controller``.
|
|
38
169
|
|
|
39
170
|
.. note::
|
|
40
171
|
|
|
41
172
|
If you would like to install the latest **beta** release of CARTA, please install ``carta-controller@beta`` instead.
|
|
42
173
|
|
|
174
|
+
If you would like to install the package in a local directory, omit the ``-g`` flag.
|
|
175
|
+
|
|
176
|
+
Installing from source
|
|
177
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
178
|
+
|
|
179
|
+
Development versions of the controller can be installed from the `controller repository <https://github.com/CARTAvis/carta-controller/>`_.
|
|
180
|
+
|
|
181
|
+
.. code-block:: shell
|
|
182
|
+
|
|
183
|
+
# Clone the controller repository
|
|
184
|
+
git clone https://github.com/CARTAvis/carta-controller.git
|
|
185
|
+
cd carta-controller
|
|
186
|
+
|
|
187
|
+
# Install the controller
|
|
188
|
+
npm install
|
|
189
|
+
|
|
43
190
|
.. _run_controller:
|
|
44
191
|
|
|
45
192
|
Running the controller
|
|
46
193
|
----------------------
|
|
47
194
|
|
|
48
|
-
|
|
195
|
+
Executable location
|
|
196
|
+
~~~~~~~~~~~~~~~~~~~
|
|
197
|
+
|
|
198
|
+
The ``carta-controller`` executable can be found
|
|
199
|
+
|
|
200
|
+
* on the system path, if you installed the NPM package globally
|
|
201
|
+
* in ``node_modules/.bin`` and ``node_modules/carta-controller/dist``, if you installed the NPM package locally
|
|
202
|
+
* in ``carta-controller/dist``, if you installed from the source directory.
|
|
203
|
+
|
|
204
|
+
If you installed the controller from source, you can also launch it by running ``npm start`` in the source directory.
|
|
205
|
+
|
|
206
|
+
Kill script location
|
|
207
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
208
|
+
|
|
209
|
+
The kill script executable path is
|
|
210
|
+
|
|
211
|
+
* ``/usr/bin/carta-kill-script`` or ``/usr/local/bin/carta-kill-script``, if you installed the NPM package globally (depending on the Node.js distribution)
|
|
212
|
+
* ``node_modules/.bin/carta-kill-script``, if you installed the NPM package locally
|
|
213
|
+
* ``carta-controller/scripts/carta_kill_script.sh``, if you installed from the source directory.
|
|
214
|
+
|
|
215
|
+
Ensure that the correct ``killCommand`` is set in the controller configuration, and that the kill script path is correct in the sudoers file.
|
|
216
|
+
|
|
217
|
+
Persistence
|
|
218
|
+
~~~~~~~~~~~
|
|
219
|
+
|
|
220
|
+
You can use a utility such as `forever <https://github.com/foreversd/forever>`_ or `pm2 <https://pm2.keymetrics.io/>`_ to keep the controller running. It is also possible to create `a pm2 startup script <https://pm2.keymetrics.io/docs/usage/startup/>`_ which will automatically start the controller when the system is rebooted.
|
|
@@ -12,13 +12,13 @@ Dependencies
|
|
|
12
12
|
|
|
13
13
|
To allow the controller to serve CARTA sessions, you must give it access to an executable CARTA backend, which can be either a compiled executable or a container. If you want to use a non-standard version of the CARTA frontend, you must also build it, and adjust the controller configuration to point to it.
|
|
14
14
|
|
|
15
|
-
By default, the controller runs on port 8000. It should be run behind a proxy, so that it can be accessed via HTTP and HTTPS.
|
|
15
|
+
By default, the controller runs on port 8000. It should be run behind a proxy, so that it can be accessed via HTTP and HTTPS.
|
|
16
16
|
|
|
17
17
|
MongoDB is required for storing user preferences, layouts, workspaces, and (in the near future) controller metrics.
|
|
18
18
|
|
|
19
19
|
You also need a working `NodeJS LTS <https://nodejs.org/en/about/releases/>`_ installation with NPM. Use ``npm install`` to install all Node dependencies.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
:ref:`Step-by-step installation instructions <step_by_step>` are available for officially supported platforms.
|
|
22
22
|
|
|
23
23
|
.. _authentication:
|
|
24
24
|
|