1
- # Installation
1
+ # ** Installation**
2
2
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 .
4
4
5
- ## Table of contents
5
+ ## ** Prerequisites **
6
6
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:
16
8
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/ )
25
14
15
+ ## ** Obtaining NEBULA**
26
16
27
17
You can obtain the source code from https://github.com/CyberDataLab/nebula
28
18
29
- Or, if you happen to have git configured, you can clone the repository:
19
+ Or clone the repository using git :
30
20
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 >
32
22
33
23
Now, you can move to the source directory:
34
24
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 >
42
26
43
- This command will install the required dependencies for the platform and open a shell to start the platform.
27
+ ### ** Installing NEBULA **
44
28
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 :
46
30
47
- make shell
31
+ < pre >< code >< span style = " color : blue ; " >user@host</ span >:~$ < span style = " color : green ; " > make install</ span ></ code ></ pre >
48
32
49
- ### Checking the installation
33
+ Next, activate the virtual environment:
50
34
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 >
53
36
54
- python app/main.py --version
37
+ If you forget this command, you can type:
55
38
56
- ## Building NEBULA core
39
+ < pre >< code >< span style = " color : blue ; " >user@host</ span >:~$ < span style = " color : green ; " >make shell</ span ></ code ></ pre >
57
40
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:
61
42
62
- ### 1. Using Docker containers
43
+ < pre >< code >< span style = " color : grey ; " >(nebula-dfl)</ span > < span style = " color : blue ; " >user@host</ span >:~$</ code ></ pre >
63
44
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)**
66
46
67
- docker build -t nebula-core .
47
+ For nodes equipped with ** NVIDIA GPUs ** , ensure the following prerequisites:
68
48
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.
71
52
72
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
53
+ Follow these guides for proper installation:
73
54
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 )
75
57
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.
77
59
78
- ### 2. Using isolated processes
60
+ ## ** Running NEBULA **
79
61
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:
81
63
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 >
83
65
84
66
To run NEBULA, you can use the following command line:
85
67
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 >
87
69
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.
90
71
91
- You can show the PARAMS using :
72
+ Display available parameters :
92
73
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 >
94
75
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.
96
77
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:
99
79
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 >
101
81
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:
104
83
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 >
106
85
107
- ## NEBULA Frontend
86
+ ## ** NEBULA Frontend Credentials **
108
87
109
- You can login with the following credentials:
88
+ You can log in with the default credentials:
110
89
111
90
- User: admin
112
91
- Password: admin
113
92
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 ) .
116
94
117
- ## Stop NEBULA
95
+ ## ** Stopping NEBULA**
118
96
119
97
To stop NEBULA, you can use the following command line:
120
98
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 >
122
100
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 .
125
103
126
- ## Possible issues during the installation or execution
104
+ ## ** Troubleshooting **
127
105
128
106
If frontend is not working, check the logs in app/logs/frontend.log
129
107
130
108
If any of the following errors appear, take a look at the docker logs of
131
109
the nebula-frontend container:
132
110
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 >
134
112
135
113
------------------------------------------------------------------------
136
114
@@ -139,7 +117,7 @@ from daemon: Pool overlaps with other one on this address space
139
117
140
118
Solution: Delete the docker network nebula_X
141
119
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 >
143
121
144
122
------------------------------------------------------------------------
145
123
@@ -148,7 +126,7 @@ unix:///var/run/docker.sock. Is the docker daemon running?
148
126
149
127
Solution: Start the docker daemon
150
128
151
- > sudo dockerd
129
+ < pre >< code >< span style = " color : blue ; " >user@host</ span >:~$ < span style = " color : green ; " > sudo dockerdX</ span ></ code ></ pre >
152
130
153
131
Solution: Enable the following option in Docker Desktop
154
132
@@ -163,13 +141,13 @@ docker daemon running?
163
141
164
142
Solution: Start the docker daemon
165
143
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 >
167
145
168
146
------------------------------------------------------------------------
169
147
170
148
If frontend is not working, restart docker daemon
171
149
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 >
173
151
174
152
------------------------------------------------------------------------
175
153
0 commit comments