Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
hermes-node-agent
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lisa
hermes-node-agent
Commits
31e0f15d
Commit
31e0f15d
authored
May 01, 2026
by
Lisa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Feature: Interactive installer config prompts (gateway, port, token, capabilities, sexec)
parent
b02c7a42
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
7 deletions
+48
-7
install-node.sh
deploy/linux/install-node.sh
+48
-7
No files found.
deploy/linux/install-node.sh
View file @
31e0f15d
...
@@ -64,23 +64,64 @@ rm -rf "$TMP"
...
@@ -64,23 +64,64 @@ rm -rf "$TMP"
echo
"[3/5] Config..."
echo
"[3/5] Config..."
if
[
!
-f
"
$CONFIG_DIR
/config.json"
]
;
then
if
[
!
-f
"
$CONFIG_DIR
/config.json"
]
;
then
echo
"[4/5] Creating config..."
echo
"[4/5] Configuring node..."
NODE_HOST
=
$(
hostname
)
echo
""
NODE_TOKEN
=
$(
python3
-c
"import secrets; print(secrets.token_hex(16))"
)
# Gather settings interactively
read
-p
"Gateway host (default: localhost): "
GATEWAY_HOST
GATEWAY_HOST
=
"
${
GATEWAY_HOST
:-
localhost
}
"
read
-p
"Gateway port (default: 8765): "
GATEWAY_PORT
GATEWAY_PORT
=
"
${
GATEWAY_PORT
:-
8765
}
"
read
-p
"Token (leave empty to generate): "
NODE_TOKEN
if
[
-z
"
$NODE_TOKEN
"
]
;
then
NODE_TOKEN
=
$(
python3
-c
"import secrets; print(secrets.token_hex(16))"
)
echo
" Generated token:
$NODE_TOKEN
"
fi
# Select capabilities
echo
""
echo
"Select capabilities:"
echo
" 1) exec only"
echo
" 2) exec + browser_control"
echo
" 3) exec + browser_control + computer_control"
read
-p
"Choice [1-3] (default: 1): "
CAP_CHOICE
case
"
${
CAP_CHOICE
:-
1
}
"
in
1
)
CAPABILITIES
=
'["exec"]'
;;
2
)
CAPABILITIES
=
'["exec", "browser_control"]'
;;
3
)
CAPABILITIES
=
'["exec", "browser_control", "computer_control"]'
;;
*
)
CAPABILITIES
=
'["exec"]'
;;
esac
# Ask about sexec
read
-p
"Enable sexec? (y/N): "
ENABLE_SEXEC
SEXEC_LINE
=
""
if
[[
"
$ENABLE_SEXEC
"
=
~ ^[Yy]
$
]]
;
then
SEXEC_LINE
=
' "sexec_path": "${HOME}/.config/hermes-node-agent/sexec/sexec.sh",'
echo
" sexec will be installed at:
$HOME
/.config/hermes-node-agent/sexec/sexec.sh"
fi
NODE_NAME
=
$(
hostname
)
# Build config
cat
>
"
$CONFIG_DIR
/config.json"
<<
END
cat
>
"
$CONFIG_DIR
/config.json"
<<
END
{
{
"gateway_url": "wss://
YOUR-GATEWAY-HOST:8765
",
"gateway_url": "wss://
${
GATEWAY_HOST
}
:
${
GATEWAY_PORT
}
",
"node_name": "
${
NODE_
HOST
}
",
"node_name": "
${
NODE_
NAME
}
",
"token": "
${
NODE_TOKEN
}
",
"token": "
${
NODE_TOKEN
}
",
"sexec_path": "
${
HOME
}
/.config/hermes-node-agent/sexec/sexec.sh",
${
SEXEC_LINE
}
"reconnect_interval": 5,
"reconnect_interval": 5,
"heartbeat_interval": 30,
"heartbeat_interval": 30,
"capabilities":
["exec"]
"capabilities":
${
CAPABILITIES
}
}
}
END
END
echo
""
echo
"✓ Config:
$CONFIG_DIR
/config.json"
echo
"✓ Config:
$CONFIG_DIR
/config.json"
else
else
echo
"[4/5] Config exists — skipping"
echo
"[4/5] Config exists — skipping"
echo
" Config:
$CONFIG_DIR
/config.json"
fi
fi
if
[
"
$RUN_AS_ROOT
"
=
true
]
;
then
if
[
"
$RUN_AS_ROOT
"
=
true
]
;
then
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment