Self-Hosted

# TuneVault Self-Hosted

Runs entirely on your infrastructure. No data leaves your network.

🔑 Get your free 30-day license key → ⬇️ Download Latest Release Read the Docs →
You'll need a license key to start TuneVault. Free 30-day self-hosted license · 1 connection · unlimited health checks · runs on your own infrastructure.
Your license key
``
1. Download the release with the button above (or the curl command below)
2. Set TUNEVAULT_LICENSE_KEY=<your key> in .env
3. Run bash setup.sh
Your Oracle credentials and health data stay inside your own network.

## What you need

🖥️
A separate Linux box — not your Oracle DB or EBS servers
TuneVault self-hosted runs on its own box. Don't install it on a database or EBS server — that risks port conflicts, resource contention, and PostgreSQL clashing with Oracle. Oracle Linux 8 (recommended; RHEL 8–9 also work) with 2 GB+ RAM and 10 GB+ disk is plenty.
🛰️
A lightweight agent on each Oracle / EBS server you monitor
The `oracle-proxy` agent (a small Python process) installs separately on each server, straight from the TuneVault UI. TuneVault detects it automatically once it's running.
🔒
Outbound network from your Oracle servers to TuneVault
Each agent dials out over HTTPS to the TuneVault server and binds to localhost only — no inbound ports are opened on your Oracle servers. TuneVault never reaches into your Oracle network, so it can sit in a DMZ, a management VM, or any internal host your Oracle servers can reach.
🔌
Alternative — Direct TCP (no agent)
If you skip the agent, TuneVault connects directly to your Oracle DB listener (default port 1521) instead. In that mode the TuneVault server needs outbound access to the database on that port.
Up and running in four steps
1

### Download

Download the release and unpack it on your Oracle Linux (or any Linux) host.

`curl -LO https://releases.tunevault.app/tunevault-selfhosted-v1.3.2.zip unzip tunevault-selfhosted-v1.3.2.zip cd tunevault`
2

### Configure

Copy the example env file and add your license key — get your free key with the button above. OpenAI/Anthropic keys are optional.

`cp .env.example .env # edit .env`
3

### Run

One command. setup.sh auto-detects Docker — or falls back to a direct Node.js + systemd install.

`bash setup.sh`
4

### Sign in

Open the URL setup.sh prints. Enter your email — with no email provider configured, your one-time sign-in link is printed to the server log (set `RESEND_API_KEY` in `.env` to get it by email instead).

`journalctl -u tunevault -f`

## Install options

`setup.sh` picks the right path automatically — you don't have to choose.

⚡
Option A — Direct install · recommended for Oracle Linux
Node.js 18+ only — no Docker needed. setup.sh installs Node.js + PostgreSQL if missing, runs migrations, and registers a `tunevault` systemd service.
🐳
Option B — Docker Compose
For containerized environments. Requires Docker + Docker Compose (install Docker). Brings up the app + a bundled PostgreSQL container.
🔑
Required — license key
A `TV-XXXXX` license from tunevault.app/license. OpenAI + Anthropic keys are optional — add them to enable AI health summaries and TuneBot; without them all monitoring/ops features still work.
📡
Telemetry — off by default, opt-in only
TuneVault sends nothing unless you opt in. Set `TELEMETRY_OPT_IN=true` in `.env` to send a single anonymous startup ping — just the TuneVault version, Node.js version, and platform. No PII, no credentials, no connection or database data — ever.
Need help getting connected? Read the self-hosted docs →
Questions about installation? Email kiran@tunevault.app — I'll help you get set up personally.
Comparing options? See TuneVault vs Oracle OEM →