Skip to content

Commit 0c14f56

Browse files
Feature/user dev guides (#31)
* feature: userguide created * Updated user guide with improved explanations * Added explanation on how to add new parameters to the participant configuration * remove table of contents and developerguide extended * Added datasets and aggregator guide * fix port definition * expanded user and developer guides with more details * added dropdown for easier access to guides * simplified installation guide * Improve documentation formatting and readability * Improve installation guide * fix subindices --------- Co-authored-by: enriquetomasmb <enriquetomasmb@gmail.com> Co-authored-by: Enrique Tomás <64653672+enriquetomasmb@users.noreply.github.com>
1 parent 3e8353e commit 0c14f56

21 files changed

+1239
-80
lines changed

docs/_prebuilt/changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
---
2+
hide:
3+
-toc
4+
---
15
--8<-- "CHANGELOG.md"

docs/_prebuilt/contributing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
---
2+
hide:
3+
-toc
4+
---
15
--8<-- "CONTRIBUTING.md"

docs/_prebuilt/css/toc.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.md-sidebar--secondary {
2+
order: 0;
3+
}
4+
5+
.md-sidebar--primary {
6+
display: none;
7+
}

docs/_prebuilt/developerguide.md

Lines changed: 819 additions & 0 deletions
Large diffs are not rendered by default.

docs/_prebuilt/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
---
2+
hide:
3+
-toc
4+
---
15
--8<-- "README.md"

docs/_prebuilt/installation.md

Lines changed: 56 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,136 +1,114 @@
1-
# Installation
1+
# **Installation**
22

3-
In this section, we will explain how to install the NEBULA platform.
3+
Welcome to the NEBULA platform installation guide. This document explains how to obtain, install, run, and troubleshoot NEBULA.
44

5-
## Table of contents
5+
## **Prerequisites**
66

7-
- [Prerequisites](#prerequisites)
8-
- [Obtaining NEBULA platform](#obtaining-nebula-platform)
9-
- [Installing NEBULA platform](#installing-nebula-platform)
10-
- [Checking the installation](#checking-the-installation)
11-
- [Building NEBULA core](#building-nebula-core)
12-
- [Running NEBULA](#running-nebula)
13-
- [NEBULA Frontend](#nebula-frontend)
14-
- [Stop NEBULA](#stop-nebula)
15-
- [Possible issues during the installation or execution](#possible-issues-during-the-installation-or-execution)
7+
For the best experience, ensure the following prerequisites are met:
168

17-
## Prerequisites
18-
19-
- Python 3.10 or higher (3.11 recommended)
20-
- Docker Engine 24.0.4 or higher (24.0.7 recommended, https://docs.docker.com/engine/install/)
21-
- Docker Compose 2.19.0 or higher (2.19.1 recommended, https://docs.docker.com/compose/install/)
22-
- For using NVIDIA GPUs, NVIDIA driver version >=525.60.13 (Linux) >=528.33 (Windows), and CUDA 12.1 (mandatory). More information in https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html (Windows) or https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html (Linux)
23-
24-
## Obtaining NEBULA platform
9+
- **Linux** (Ubuntu 20.04 LTS recommended) or **macOS** (10.15 Catalina or later). Currently, we do not maintain an up-to-date version for Windows.
10+
- Minimum **8 GB RAM** (+32 GB recommended for virtualized devices).
11+
- Minimum **20 GB disk space** for Docker images and containers. Additional space is required for datasets, models, and results.
12+
- **Docker Engine** 24.0.4 or higher (24.0.7 recommended, https://docs.docker.com/engine/install/)
13+
- **Docker Compose** 2.19.0 or higher (2.19.1 recommended, https://docs.docker.com/compose/install/)
2514

15+
## **Obtaining NEBULA**
2616

2717
You can obtain the source code from https://github.com/CyberDataLab/nebula
2818

29-
Or, if you happen to have git configured, you can clone the repository:
19+
Or clone the repository using git:
3020

31-
git clone https://github.com/CyberDataLab/nebula.git
21+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">git clone https://github.com/CyberDataLab/nebula.git</span></code></pre>
3222

3323
Now, you can move to the source directory:
3424

35-
cd nebula
36-
37-
### Installing NEBULA platform
38-
39-
To install the NEBULA platform, you can use the following command line:
40-
41-
make install
25+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">cd nebula</span></code></pre>
4226

43-
This command will install the required dependencies for the platform and open a shell to start the platform.
27+
### **Installing NEBULA**
4428

45-
If the shell is not opened or you want to reopen the shell, you can use the following command line:
29+
Install required dependencies and set up Docker containers by running:
4630

47-
make shell
31+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">make install</span></code></pre>
4832

49-
### Checking the installation
33+
Next, activate the virtual environment:
5034

51-
Once the installation is finished, you can check by listing the version
52-
of the NEBULA with the following command line:
35+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">source .venv/bin/activate</span></code></pre>
5336

54-
python app/main.py --version
37+
If you forget this command, you can type:
5538

56-
## Building NEBULA core
39+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">make shell</span></code></pre>
5740

58-
There are two ways to deploy the node in the federation: using Docker
59-
containers or isolated processes. You can choose the one that best fits
60-
your needs in the frontend.
41+
Your shell prompt should look similar to:
6142

62-
### 1. Using Docker containers
43+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$</code></pre>
6344

64-
You need to build the docker image using the following command line in
65-
the root directory:
45+
### **Using NVIDIA GPU on Nodes (Optional)**
6646

67-
docker build -t nebula-core .
47+
For nodes equipped with **NVIDIA GPUs**, ensure the following prerequisites:
6848

69-
In case of using GPU in the docker, you have to follow the instructions
70-
in the following link to install nvidia-container-toolkit:
49+
- **NVIDIA Driver**: Version 525.60.13 or later.
50+
- **CUDA**: Version 12.1 is required. After installation, verify with <code>nvidia-smi</code>.
51+
- **NVIDIA Container Toolkit**: Install to enable GPU access within Docker containers.
7152

72-
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
53+
Follow these guides for proper installation:
7354

74-
You can check the docker images using the following command line:
55+
- [CUDA Installation Guide for Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html)
56+
- [NVIDIA Container Toolkit Installation Guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)
7557

76-
docker images
58+
Note: Ensure that the CUDA toolkit version is compatible with your driver and, if needed, update the Docker runtime to support GPU integration.
7759

78-
### 2. Using isolated processes
60+
## **Running NEBULA**
7961

80-
There is no need additional steps to build the core using isolated processes.
62+
Once the installation is finished, you can check if NEBULA is installed properly using:
8163

82-
## Running NEBULA
64+
<pre><code><span style="color: grey;">(nebula-dfl) </span><span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py --version</span></code></pre>
8365

8466
To run NEBULA, you can use the following command line:
8567

86-
python app/main.py [PARAMS]
68+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py</span></code></pre>
8769

88-
The first time you run the platform, the nebula-frontend docker image
89-
will be built. This process can take a few minutes.
70+
Note: The first run may build the nebula-frontend Docker image, which can take a few minutes.
9071

91-
You can show the PARAMS using:
72+
Display available parameters:
9273

93-
python app/main.py --help
74+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py --help</span></code></pre>
9475

95-
The frontend will be available at http://127.0.0.1:6060 (by default)
76+
By default, the frontend is available at http://127.0.0.1:6060. If the 6060 port is unavailable, a random port will be assigned automatically and prompted in the console.
9677

97-
To change the default port of the frontend, you can use the following
98-
command line:
78+
Also, you can define the specific port using the following command line:
9979

100-
python app/main.py --webport [PORT]
80+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py --webport [PORT]</span></code></pre>
10181

102-
To change the default port of the statistics endpoint, you can use the
103-
following command line:
82+
and the default port of the statistics endpoint:
10483

105-
python app/main.py --statsport [PORT]
84+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py --statsport [PORT]</span></code></pre>
10685

107-
## NEBULA Frontend
86+
## **NEBULA Frontend Credentials**
10887

109-
You can login with the following credentials:
88+
You can log in with the default credentials:
11089

11190
- User: admin
11291
- Password: admin
11392

114-
If not working the default credentials, send an email to [Enrique Tomás
115-
Martínez Beltrán](mailto:enriquetomas@um.es) to get the credentials.
93+
If these do not work, please contact Enrique Tomás Martínez Beltrán at [enriquetomas@um.es](mailto:enriquetomas@um.es).
11694

117-
## Stop NEBULA
95+
## **Stopping NEBULA**
11896

11997
To stop NEBULA, you can use the following command line:
12098

121-
python app/main.py --stop
99+
<pre><code><span style="color: grey;">(nebula-dfl)</span> <span style="color: blue;">user@host</span>:~$ <span style="color: green;">python app/main.py --stop</span></code></pre>
122100

123-
Be careful, this command will stop all the containers related to NEBULA:
124-
frontend, controller, and nodes.
101+
Be careful! This command will stop all the containers related to NEBULA:
102+
Frontend, Controller, and Nodes.
125103

126-
## Possible issues during the installation or execution
104+
## **Troubleshooting**
127105

128106
If frontend is not working, check the logs in app/logs/frontend.log
129107

130108
If any of the following errors appear, take a look at the docker logs of
131109
the nebula-frontend container:
132110

133-
docker logs nebula-frontend
111+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">docker logs user_nebula-frontend</span></code></pre>
134112

135113
------------------------------------------------------------------------
136114

@@ -139,7 +117,7 @@ from daemon: Pool overlaps with other one on this address space
139117

140118
Solution: Delete the docker network nebula_X
141119

142-
> docker network rm nebula_X
120+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">docker network rm nebula_X</span></code></pre>
143121

144122
------------------------------------------------------------------------
145123

@@ -148,7 +126,7 @@ unix:///var/run/docker.sock. Is the docker daemon running?
148126

149127
Solution: Start the docker daemon
150128

151-
> sudo dockerd
129+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">sudo dockerdX</span></code></pre>
152130

153131
Solution: Enable the following option in Docker Desktop
154132

@@ -163,13 +141,13 @@ docker daemon running?
163141

164142
Solution: Start the docker daemon
165143

166-
> sudo dockerd -H tcp://X.X.X.X:2375
144+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">sudo dockerd -H tcp://X.X.X.X:2375</span></code></pre>
167145

168146
------------------------------------------------------------------------
169147

170148
If frontend is not working, restart docker daemon
171149

172-
> sudo systemctl restart docker
150+
<pre><code><span style="color: blue;">user@host</span>:~$ <span style="color: green;">sudo systemctl restart docker</span></code></pre>
173151

174152
------------------------------------------------------------------------
175153

docs/_prebuilt/js/toc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
document.addEventListener('DOMContentLoaded', function() {
2+
if (window.location.pathname.includes("api")) {
3+
document.querySelector('.md-sidebar--primary').style.display = 'block';
4+
}
5+
});
52 KB
Loading
110 KB
Loading
173 KB
Loading

0 commit comments

Comments
 (0)