1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#cloud-config
# Bring up a fresh Ubuntu host that auto-builds and runs neve as a systemd
# service. Paste this as EC2 user-data (or pass via `cloud-init` elsewhere).
#
# Works on x86_64 and arm64 (e.g. t4g.*) — rustup picks the right toolchain.
# After boot, the service binds 0.0.0.0:8545 (see the write_files block below),
# so it is reachable on the instance's public IP: `curl http://<ip>:8545/health`.
# This intentionally leaves access control to the EC2 security group — scope the
# 8545 ingress rule to your IP if you don't want it world-readable. To keep it
# loopback-only instead, change --rpc-addr back to 127.0.0.1:8545 in neve.env.
#
# Build/provision progress is logged to /var/log/neve-bootstrap.log.
package_update: true
packages:
- git
- build-essential
- curl
- ca-certificates
users:
- default
- name: rkuris
groups: "users, adm, sudo"
shell: /usr/bin/bash
sudo: "ALL=(ALL) NOPASSWD:ALL"
lock_passwd: true
ssh_authorized_keys:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL2RVmfpoKYi0tJd2DhQEp8tB3m2PSuaYxIfnLwqt03u cardno:23_537_110 ron"
write_files:
- path: /etc/neve/neve.env
permissions: "0644"
content: |
NEVE_ARGS=--summary-period 1m --rpc-addr 0.0.0.0:8545
runcmd:
- git clone --depth 1 https://github.com/rkuris/neve.git /opt/neve
- bash /opt/neve/deploy/bootstrap.sh 2>&1 | tee /var/log/neve-bootstrap.log