Linux installation (NETMETRİK Server)
NETMETRİK Server is a lightweight measurement server consisting of a single executable and one configuration file. Installation is end-to-end automatic with a single-line command: system checks, registration, DNS verification, TLS certificate (Let's Encrypt), capacity tuning, the systemd service and health checks — all handled by the script.
Supported platforms: Linux (x86_64, aarch64), macOS and FreeBSD. For installation, curl or wget together with sha256sum/shasum is enough.
Installation
Get the install command from your application row
In the portal, open your application's row in the Servers list and click Get install command. The command contains a single-use install key valid for 24 hours.
Run the command on your server
As a root (or sudo-privileged) user:
curl -fsSL https://install.netmetrik.com/netmetrikserver.sh | sh -s -- \ install --lang tr --token <ANAHTAR>If
curlis not installed on your server (minimal Debian installs and Alpine usually ship without it), run the same install withwget:wget -q -O - https://install.netmetrik.com/netmetrikserver.sh | sh -s -- \ install --lang tr --token <ANAHTAR>On Alpine, HTTPS needs a certificate store:
apk add ca-certificates. Once the script is downloaded it uses whichever downloader the system has (curl,wgetorfetch) for the remaining downloads, and stops with a clear message at the first step if none is present.The script runs 7 steps end to end and shows each one on screen:
- System checks — tools, clock synchronization, ports 443/80, firewall (adding rules with your approval), disk, Let's Encrypt reachability,
- downloads the package and verifies its SHA-256 digest (install directory defaults to
/opt/netmetrik), - registers your application; writes the server identity to the
NetmetrikServer.propertiesfile, - verifies DNS — if the A record does not point to the server it stops with clear instructions, nothing is broken,
- proposes a capacity/core tuning based on your line (applies it with your approval; a separate approval for BBR),
- installs the systemd service (dedicated user, auto-start at boot) and starts it,
- obtains the TLS certificate automatically from Let's Encrypt and finishes with a health check: "✅ YOUR SERVER IS LIVE".
At the end, a summary of what was done is written to the screen and to the
kurulum-raporu.txtfile, and the raw log to thekurulum.logfile. For a fully automatic install with no prompts, add--force --accept-termsto the command (silent installs require explicitly accepting the terms of service).Verify the result
After installation you can re-run the health check at any time:
/opt/netmetrik/netmetrikserver.sh selftestWhen you open
https://alanadiniz/in a browser you should see the NetmetrikServer welcome page with a valid (green padlock) certificate.
Registering an already-installed server (re-adding)
If NetmetrikServer is already installed on the machine — for example you removed a server from the platform and are re-adding it with a new application — do not reinstall. Registration alone is enough; it binds the existing installation to your new application with the new key:
curl -fsSL https://install.netmetrik.com/netmetrikserver.sh | sh -s -- \
register --lang tr --token <KEY>If the management script from the previous installation is still on the machine, you can run it directly instead: /opt/netmetrik/netmetrikserver.sh register --token <KEY>. After a successful registration the script also offers to install and start the systemd service if it is not present. Note: a re-added server is a new recordon the platform — until this registration runs, the panel shows "no installation linked to this application yet" even though the software is installed, because the existing installation still belongs to the retired record.
server.tls.cert/server.tls.key paths (they take precedence); if nginx/Caddy/Cloudflare terminates TLS, the script detects this itself and, with your approval, switches to server.plainHTTP = true mode.Configuration keys
The most commonly used keys in NetmetrikServer.properties. Other keys (rate limiting, trusted proxies, origin list) are documented with comments in the file; the defaults are suitable for production.
| Key | Description |
|---|---|
server.hostname | Registered domain name — the script writes it automatically; do not change it by hand. |
server.controlPlaneToken | Heartbeat key unique to this server — the script writes it automatically; do not share it. |
server.listen | Listen address — the install sets it automatically (:443 for production TLS, :8080 behind a reverse proxy). |
server.autoTLS | Automatic certificate (Let's Encrypt) — default enabled; disabled if manual certificate paths are entered. |
server.acmeEmail | Email for certificate notifications (recommended, not required). |
server.socketBuffer | TCP buffer setting: auto (computed from your line, default) / off / a byte value. The concurrency ceiling is also derived automatically from the hardware. |
server.heartbeatInterval | Status signal interval, in seconds (default 30). |
server.logFile | Log file and its rotation frequency (server.logRotation). |
server.controlPlaneToken identifies this server only. Do not copy it to another machine; each server must obtain its own key from its own install command.Management commands
The install script is also the management tool. The commands locate the install directory themselves from the systemd registration; still, running them from within cd /opt/netmetrik is the cleanest approach:
| Command | Function |
|---|---|
/opt/netmetrik/netmetrikserver.sh status | Running status and version |
/opt/netmetrik/netmetrikserver.sh selftest | Health check: process + public HTTPS + certificate |
/opt/netmetrik/netmetrikserver.sh checkdns | Verifies the domain's A/AAAA record |
/opt/netmetrik/netmetrikserver.sh preflight | Re-runs the system checks |
/opt/netmetrik/netmetrikserver.sh tune | Capacity check + core tuning (re-runnable) |
/opt/netmetrik/netmetrikserver.sh restart | Restart (via systemd on a systemd install) |
/opt/netmetrik/netmetrikserver.sh update | Update to the latest version (automatic rollback if it fails) |
/opt/netmetrik/netmetrikserver.sh autoupdate-off | Disable automatic updates (on by default at install; re-enable: autoupdate-on) |
/opt/netmetrik/netmetrikserver.sh install | Reinstall (settings preserved; also brings the binary up to date) |
/opt/netmetrik/netmetrikserver.sh service-remove | Remove the systemd service (files stay in place) |
/opt/netmetrik/netmetrikserver.sh uninstall | Stop and fully remove (core tuning is reverted) |
Updating
Updates are automatic by default: installation enables a daily check at a random time, and if an update fails the previous version is restored automatically. You normally don't need to do anything. To check and update manually:
/opt/netmetrik/netmetrikserver.sh updateTo opt out, use --no-autoupdate during installation or run /opt/netmetrik/netmetrikserver.sh autoupdate-off afterwards (re-enable with autoupdate-on). Re-running the install command also updates the binary while preserving your settings.
Verification and logs
/opt/netmetrik/netmetrikserver.sh selftest— tests the process, public HTTPS reachability and the certificate in a single command.- In the portal Servers list, the Health column shows Running on the first signal.
- Logs: summary
kurulum-raporu.txt, raw install logkurulum.log, service logsjournalctl -u netmetrikserver.
kurulum.log and the troubleshooting section in the FAQ.