# Quick start: On-Premise

> Install a package, configure hotkv.conf or hotkv.toml, and install a license.

URL: https://docs.hotkv.com/quickstart-onpremise/

HotKV On-Premise runs the same server as HotKV Cloud, on your own servers or
your own cloud account, under a license file. This walks through installing
a package, understanding the config file, and installing your license.
[Contact sales@hotkv.com](mailto:sales@hotkv.com?subject=HotKV%20On-Premise%20inquiry)
to get a license. When you buy one, your account team also sends you a
private download link for the packages. The server is not available as a public
download.

## 1. Install the package

HotKV Enterprise ships as Linux packages for x86_64 and ARM64. Download the
one for your platform from your private link, then install it:

```bash
# Debian / Ubuntu
sudo apt install ./hotkv-enterprise_*.deb

# RHEL / Rocky / Fedora
sudo dnf install ./hotkv-enterprise-*.rpm

sudo systemctl enable --now hotkv
hotkv-cli PING
```

The package runs HotKV as a systemd service under its own `hotkv` user,
with data in `/var/lib/hotkv`. To upgrade, install the newer package over
the old one; your edits to `/etc/hotkv/hotkv.conf` are kept.

## 2. Configuration file basics

HotKV reads either a traditional `hotkv.conf` or an equivalent `hotkv.toml`;
use one, not both. The package installs a commented
`/etc/hotkv/hotkv.conf`, which the `hotkv` service loads, and a TOML
example at `/etc/hotkv/hotkv.toml.example`. Edit `hotkv.conf` and restart
the service to apply your changes:

```bash
sudo systemctl restart hotkv
```

To use TOML instead, copy the example to `/etc/hotkv/hotkv.toml`, run
`sudo systemctl edit hotkv`, and point the service at the new file:

```ini
[Service]
ExecStart=
ExecStart=/usr/bin/hotkv --config /etc/hotkv/hotkv.toml
```

Outside systemd, start the server with the config file as its argument:

```bash
hotkv --config /etc/hotkv/hotkv.toml
```

Any setting can also be given on the command line as `--setting value`,
and wins over the file, as with Redis:

```bash
hotkv --config /etc/hotkv/hotkv.conf --port 6380 --maxmemory 4gb --appendonly yes
```

A minimal TOML config that accepts connections from other hosts sets the
network, a password, and persistence; everything else has a default.
HotKV refuses connections from other hosts while no password is set,
unless you turn protected mode off.

```toml
[network]
bind = "0.0.0.0"
port = 6379

[persistence]
dir = "/var/lib/hotkv"
appendonly = true

[security]
requirepass = "your-password-here"

[enterprise]
license_path = "/etc/hotkv/hotkv.license"
```

Once your license covers them, the AI and LLM commands are available
without further configuration. Replication, encryption at rest and the audit
log are switched on in their own config sections; see the
[AI features guide](https://docs.hotkv.com/ai-features/index.md), [Replication](https://docs.hotkv.com/operate/replication/index.md) and
[Security](https://docs.hotkv.com/security/index.md) for the feature-specific settings.

## 3. Get your hardware ID

Get your machine's hardware ID before requesting a license:

```bash
hotkv --hwid
```

You can also read it from a running server with `LICENSE.HWID`. Send the
output to your HotKV account team when you request or renew a license.

## 4. Install your license

1. Save the license file your HotKV account team sent you, for example
   `/etc/hotkv/hotkv.license`.
2. Point the server at it, either in `hotkv.conf`:

   ```
   license-path /etc/hotkv/hotkv.license
   ```

   or `hotkv.toml`:

   ```toml
   [enterprise]
   license_path = "/etc/hotkv/hotkv.license"
   ```

3. Restart, or if the server is already running, reload without a restart:

   ```
   > LICENSE.RELOAD
   +OK
   ```

`LICENSE.RELOAD` re-reads the configured path, or an explicit
`LICENSE.RELOAD /path/to/hotkv.license`; it also runs automatically at
startup. If the file cannot be used, the command answers an error.

## 5. Check your license status

```
> LICENSE.INFO
...
 5) "features"
 6) "replication, encryption-at-rest, audit-log, ..."
 7) "expires_at"
 8) "<expiry date>"
...
```

`LICENSE.INFO` shows the licensed features and the expiry date, and the
other fields it returns. RESP3 clients (`HELLO 3`) get it as a real map
instead of a flat array. Check a single feature with
`LICENSE.CHECK <feature>`, for example `LICENSE.CHECK replication`, which
answers `1` or `0`.

Enterprise and AI commands whose feature your license does not include
reply:

```
-NOLICENSE <feature> requires a HotKV license. Contact sales@hotkv.com
```

The core data store never needs a license: `GET`, `SET` and every other
core command work without one.

## Which license type fits

Your HotKV account team will tell you which license type fits your
deployment (a single machine, containers, or an air-gapped network) and
whether it needs outbound network access. Contact
[sales@hotkv.com](mailto:sales@hotkv.com).

## Next steps

- [AI features guide](https://docs.hotkv.com/ai-features/index.md): enable the AI/LLM feature set
  your license covers.
- [Security](https://docs.hotkv.com/security/index.md): TLS, ACL, encryption at rest, and the audit
  log.
- [Clustering](https://docs.hotkv.com/clustering/index.md): run more than one node.
- [Command reference](https://docs.hotkv.com/commands/index.md): the full command list.