Restic REST-Server (Representational State Transfer Server) v0.14.0 – is a high performance HTTP server that implements restic’s REST backend API

Restic REST-Server  – compared to the SFTP backend the REST backend has better performance especially so if you can skip additional crypto overhead by using plain HTTP transport (restic already properly encrypts all data it sends so using HTTPS is mostly about authentication)

root@pve-rest-server-01:~/rest-server# wget https://github.com/restic/rest-server/releases/download/v0.14.0/rest-server_0.14.0_linux_amd64.tar.gz
root@pve-rest-server-01:~/rest-server#
root@pve-rest-server-01:~/rest-server# tar -xvf rest-server_0.14.0_linux_amd64.tar.gz
rest-server_0.14.0_linux_amd64/CHANGELOG.md
rest-server_0.14.0_linux_amd64/LICENSE
rest-server_0.14.0_linux_amd64/README.md
rest-server_0.14.0_linux_amd64/rest-Server
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64# ls -la
total 9316
drwxr-xr-x 2 root root 4096 Sep 25 08:31 .
drwxr-xr-x 3 root root 4096 Sep 25 08:31 ..
-rw-r–r– 1 root root 20926 May 31 2025 CHANGELOG.md
-rw-r–r– 1 root root 1421 May 31 2025 LICENSE
-rw-r–r– 1 root root 11634 May 31 2025 README.md
-rw-r–r– 1 root root 9486520 May 31 2025 rest-server
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64# chmod +x rest-Server
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64# ./rest-server –version
rest-server version rest-server 0.14.0 compiled with go1.24.3 on linux/amd64
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64#
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64# mv rest-server /usr/local/bin/
root@pve-rest-server-01:~/rest-server/rest-server_0.14.0_linux_amd64#
root@pve-rest-server-01:/usr/local/bin# ls -la
total 9276
drwxr-xr-x 2 root root 4096 Sep 25 08:40 .
drwxr-xr-x 11 root root 4096 Apr 29 17:23 ..
-rwxr-xr-x 1 root root 9486520 May 31 2025 rest-server
root@pve-rest-server-01:/usr/local/bin#
root@pve-rest-server-01:~#
root@pve-rest-server-01:~# mkdir -p /mnt/USB-Stick-extern
root@pve-rest-server-01:~#
root@pve-rest-server-01:~# rest-server –path /mnt/USB-Stick-extern –no-auth
Data directory: /mnt/USB-Stick-extern
Authentication disabled
Append only mode disabled
Private repositories disabled
Group accessible repos disabled
start server on [::]:8000
root@rpi-iot-jsho-rslsync-01:~# restic -r rest:http://root:'<password>’@192.168.1.194:8000 init
enter password for new repository:
enter password again:
created restic repository a552e9d06a at rest:http://root:***@192.168.1.194:8000/
Please note that knowledge of your password is required to access
the repository. Losing your password means that your data is
irrecoverably lost.
root@rpi-iot-jsho-rslsync-01:~#
root@rpi-iot-jsho-rslsync-01:~# restic -r rest:http://root:'<password>’@192.168.1.194:8000 backup /resilio-sync.data/USB-Stick
enter password for repository:

repository a552e9d0 opened (version 2, compression level auto)
created new cache in /root/.cache/restic
no parent snapshot found, will read all files
[0:00] 0 index files loaded
Files: 20843 new, 0 changed, 0 unmodified
Dirs: 700 new, 0 changed, 0 unmodified
Added to the repository: 6.432 GiB (4.491 GiB stored)
processed 20843 files, 7.377 GiB in 2:56:31
snapshot 1f211ad1 saved
root@rpi-iot-jsho-rslsync-01:~#
root@pve-rest-server-01: /etc/systemd/system# vi rest-server.service
[Unit]
Description=Rest Server
After=network.target
[Service]
ExecStart=/usr/local/bin/rest-server –path /mnt/USB-Stick-extern –no-auth –listen :8000
Restart=Always
User=root
Group=root
[Install]
WantedBy=multi-user.target
root@pve-rest-server-01:/etc/systemd/system# systemctl daemon-reload
root@pve-rest-server-01:/etc/systemd/system# systemctl enable rest-server
root@pve-rest-server-01:/etc/systemd/system# systemctl start rest-Server
root@pve-rest-server-01:/etc/systemd/system# systemctl status rest-Server
● rest-server.service – Rest Server
Loaded: loaded (/etc/systemd/system/rest-server.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-09-25 19:09:33 UTC; 5min ago
Invocation: 801c5f0a9f844645b340de947890924c
Main PID: 2846 (rest-server)
Tasks: 6 (limit: 16700)
Memory: 1.7M (peak: 1.9M)
CPU: 21ms
CGroup: /system.slice/rest-server.service
└─2846 /usr/local/bin/rest-server –path /mnt/USB-Stick-extern –no-auth –listen :8000
Sep 25 19:09:33 pve-rest-server-01 systemd[1]: Started rest-server.service – Rest Server.
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: Data directory: /mnt/USB-Stick-extern
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: Authentication disabled
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: Append only mode disabled
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: Private repositories disabled
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: Group accessible repos disabled
Sep 25 19:09:33 pve-rest-server-01 rest-server[2846]: start server on [::]:8000
root@pve-rest-server-01:/etc/systemd/system#

Leave a Reply

You must be logged in to post a comment.