Install with apt or dnf
The recommended install shape. The agent ships as a signed
.deb / .rpm from Restorable-operated
apt and rpm repositories. One bootstrap command adds the repo,
imports the GPG release key, and installs. Upgrades and rollbacks
ride the same apt / dnf you already
run; no bespoke self-update trust path.
When to pick this path
Your host is a small Linux VM that the agent can own: a dedicated
Scaleway DEV1-S, a Hetzner CX11, an OVH VPS, or any
comparable machine running Ubuntu 22.04 / 24.04, Debian 12, RHEL
9 family (Rocky / AlmaLinux / RHEL / CentOS Stream 9), or Amazon
Linux 2023. Anything outside this matrix: see
Manual install.
Run the installer
curl -fsSL https://get.restorable.app | sudo bash Or, combined with auto-attach if you have an auth key from the dashboard:
curl -fsSL https://get.restorable.app | sudo bash -s -- \
--auth-key=rsk_auth_…
Without an auth key, run sudo -u restorable restorable init
after install: it prints a code + dashboard URL, you approve,
the agent's poll completes.
See Manual install for what each step of that bootstrap does.
What the installer does
-
Parses
/etc/os-release. Picks the apt branch for Ubuntu / Debian, the dnf branch for the RHEL 9 family and Amazon Linux 2023. Anything else exits with a link to the manual-install page. -
Imports
get.restorable.app/pub/restorable-release.gpgviagpg --dearmorinto/usr/share/keyrings/restorable.gpg(apt) or the dnf keyring (dnf). -
Writes the repo file. On apt:
/etc/apt/sources.list.d/restorable.listwith the[signed-by=...]directive pinning the keyring. On dnf:/etc/yum.repos.d/restorable.repowithgpgcheck=1. -
Runs
apt-get install -y restorableordnf install -y restorable. -
If
--auth-key=…was supplied, runssudo -u restorable restorable init --auth-key=…to attach to the orchestrator and starts the systemd unit.
What the package installs
- Binary.
/usr/bin/restorable,root:root, mode0755. FHS/usr/bin(package-managed), not/usr/local/bin(admin-managed). - Systemd unit.
/lib/systemd/system/restorable.service. Customer overrides via systemd's drop-in directory/etc/systemd/system/restorable.service.d/. - Config templates.
/var/lib/restorable/config.yamland/var/lib/restorable/env, both markedconffile(deb) /%config(noreplace)(rpm). Upgrades never overwrite customer edits. Config and runtime state share one root; the systemd unit setsRESTORABLE_HOME=/var/lib/restorableso the agent resolves the install root from the env-twin. - System user + group.
restorable:restorable, shell/usr/sbin/nologin, home/var/lib/restorable. Preinstall script creates them if missing. - State tree.
/var/lib/restorable/mode0700, owned byrestorable. Subdirs (keys,blobs,receipts,events) are created byrestorable initon first attach.
Without --auth-key=… the package's installer
deliberately does not start the service. Fresh
installs run restorable init first (auth-key or
interactive), then the unit. With --auth-key=… the
installer starts the unit automatically. Upgrades of an
already-running agent try-restart (no-op when
stopped).
The hardened unit
The unit ships Podman-first: rootless, daemon-less, no privileged group membership. Properties worth knowing:
- Non-root. The service drops to
User=restorablebeforeExecStart. - Scoped writes.
ProtectSystem=strictmakes the root filesystem read-only from the service's view;ReadWritePaths=/var/lib/restorableis the one exception. - Narrow syscall surface.
SystemCallArchitectures=native,RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6,PrivateTmp=true. - Container runtime reachable. The package
Recommends: podman; apt/dnf installs Podman unless the customer already has Docker configured.
Score with
systemd-analyze security restorable.service.
Target the OK or good range.
Post-install, in one command
Attach with your auth key (the installer does this for you when
--auth-key=… is passed):
sudo -u restorable restorable init \
--orchestrator https://app.restorable.app \
--auth-key=rsk_auth_… If you omit --auth-key, init prints an
attach URL + short code; open the URL in the dashboard to
approve, the agent's poll completes when you do.
The installer auto-starts the systemd unit after a successful attach. To manage manually:
sudo systemctl enable --now restorable.service Then continue with Add a Postgres source (or the Mongo variant).
Updates
Upgrades go through the distro package manager:
sudo apt upgrade restorable
# or
sudo dnf upgrade restorable
Pair with unattended-upgrades or
dnf-automatic for hands-off patching on your
existing cadence. See
Updating the
agent for the full playbook including rollback.
Uninstall
See Uninstalling. The
short version: apt remove / dnf remove
stops the service and removes the binary while preserving
/var/lib/restorable; apt purge (or
manual cleanup on rpm) removes state.