You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Project N.O.M.A.D. is now installed on your device! Open a browser and navigate to `http://localhost:8080` (or `http://DEVICE_IP:8080`) to start exploring!
30
30
31
+
### Advanced Installation
32
+
For more control over the installation process, copy and paste the [Docker Compose template](https://raw.githubusercontent.com/Crosstalk-Solutions/project-nomad/refs/heads/main/install/management_compose.yml) into a `docker-compose.yml` file and customize it to your liking (be sure to replace any placeholders with your actual values). Then, run `docker compose up -d` to start the Command Center and its dependencies. Note: this method is recommended for advanced users only, as it requires familiarity with Docker and manual configuration before starting.
33
+
31
34
## How It Works
32
35
N.O.M.A.D. is a management UI ("Command Center") and API that orchestrates a collection of containerized tools and resources via [Docker](https://www.docker.com/). It handles installation, configuration, and updates for everything — so you don't have to.
Copy file name to clipboardExpand all lines: install/management_compose.yaml
+20-9Lines changed: 20 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -25,18 +25,24 @@ services:
25
25
- NODE_ENV=production
26
26
- PORT=8080
27
27
- LOG_LEVEL=info
28
-
- APP_KEY=replaceme # Needs to be at least 16 chars or will fail validation and container won't start!
29
-
- HOST=0.0.0.0 # Leave this as is so the admin server listens all interfaces within the container - this doesn't affect how you access it from the host, it's just for internal container networking
30
-
- URL=replaceme # Should be set to the URL you will access the admin interface at (e.g. http://localhost:8080 or http://192.168.1.x:8080)
28
+
# APP_KEY needs to be at least 16 chars or will fail validation and container won't start!
29
+
- APP_KEY=replaceme
30
+
# # Leave HOST as is so the admin server listens all interfaces within the container - this doesn't affect how you access it from the host, it's just for internal container networking
31
+
- HOST=0.0.0.0
32
+
# URL should be set to the URL you will access the admin interface at (e.g. http://localhost:8080 or http://192.168.1.x:8080)
33
+
- URL=replaceme
31
34
- DB_HOST=mysql
32
-
- DB_PORT=3306 # If you change the MySQL port, make sure to update this accordingly
35
+
# If you change the MySQL port, make sure to update this accordingly
36
+
- DB_PORT=3306
33
37
- DB_DATABASE=nomad
34
38
- DB_USER=nomad_user
35
-
- DB_PASSWORD=replaceme # Needs to match the MYSQL_PASSWORD in the mysql service!
39
+
# Needs to match the MYSQL_PASSWORD in the mysql service!
40
+
- DB_PASSWORD=replaceme
36
41
- DB_NAME=nomad
37
42
- DB_SSL=false
38
43
- REDIS_HOST=redis
39
-
- REDIS_PORT=6379 # If you change the Redis port, make sure to update this accordingly
44
+
# If you change the Redis port, make sure to update this accordingly
45
+
- REDIS_PORT=6379
40
46
depends_on:
41
47
mysql:
42
48
condition: service_healthy
@@ -48,7 +54,8 @@ services:
48
54
timeout: 10s
49
55
retries: 3
50
56
dozzle:
51
-
image: amir20/dozzle:v10.0 # Dozzle is optional, but note that the "Service Logs & Metrics" link in Settings points to it. We recommend including it unless you have a specific reason not to
57
+
# Dozzle is optional, but it's lightweight and allows for easily viewing container logs. We recommend including it unless you have a specific reason not to
58
+
image: amir20/dozzle:v10.0
52
59
container_name: nomad_dozzle
53
60
restart: unless-stopped
54
61
ports:
@@ -66,7 +73,8 @@ services:
66
73
- MYSQL_ROOT_PASSWORD=replaceme
67
74
- MYSQL_DATABASE=nomad
68
75
- MYSQL_USER=nomad_user
69
-
- MYSQL_PASSWORD=replaceme # Needs to match DB_PASSWORD in the admin service!
76
+
# Needs to match DB_PASSWORD in the admin service!
77
+
- MYSQL_PASSWORD=replaceme
70
78
volumes:
71
79
- /opt/project-nomad/mysql:/var/lib/mysql
72
80
healthcheck:
@@ -85,7 +93,8 @@ services:
85
93
interval: 30s
86
94
timeout: 10s
87
95
retries: 3
88
-
updater: # Updater & disk-collector are lightweight sidecar containers that run alongside the admin container to handle updates and host disk usage collection, respectively.
96
+
updater:
97
+
# Updater is a lightweight sidecar container that allows the admin container to be updated from within it's own UI
- /opt/project-nomad:/opt/project-nomad # Writable access required so the updater can set the correct image tag in compose.yml
96
105
- nomad-update-shared:/shared # Shared volume for communication with admin container
97
106
disk-collector:
107
+
# Disk Collector is a lightweight privileged container that collects disk usage information from the host system and shares it with the admin container so it can be displayed in the UI.
108
+
# It requires read-only access to the host filesystem and is designed to be as secure and limited in scope as possible while still providing the necessary functionality.
0 commit comments