Download Rest-Server und installieren
Im Github Repository den aktuellen Release suchen. Hier am Beispiel der aktuellen Version 0.13.0 (27.07.2024) Datei herunterladen
wget https://github.com/restic/rest-server/releases/download/v0.13.0/rest-server_0.13.0_linux_amd64.tar.gz
Die Datei entpacken
tar -xf rest-server_0.13.0_linux_amd64.tar.gz
Ins Verzeichnis wechseln
cd rest-server_0.13.0_linux_amd64
Wenn der Rest-Server läuft, dann muss man diesen erst mal stoppen.
systemctl stop rest-server
Danach kopiert man das File nach bin. Wer mag sichert vorher das alte File.
cp rest-server /usr/local/bin
Danach kann man den Rest-Server wieder starten.
systemctl start rest-server
Versionskontrolle
root@rest-server:~# rest-server -v
rest-server version rest-server 0.13.0 compiled with go1.22.5 on linux/amd64
Die Hilfe vom Rest-Server
root@rest-server:~# rest-server -h
Run a REST server for use with restic
Usage:
rest-server [flags]
Flags:
--append-only enable append only mode
--cpu-profile string write CPU profile to file
--debug output debug messages
-h, --help help for rest-server
--htpasswd-file string location of .htpasswd file (default: "<data directory>/.htpasswd)"
--listen string listen address (default ":8000")
--log filename write HTTP requests in the combined log format to the specified filename (use "-" for logging to stdout)
--max-size int the maximum size of the repository in bytes
--no-auth disable .htpasswd authentication
--no-verify-upload do not verify the integrity of uploaded data. DO NOT enable unless the rest-server runs on a very low-power device
--path string data directory (default "/tmp/restic")
--private-repos users can only access their private repo
--prometheus enable Prometheus metrics
--prometheus-no-auth disable auth for Prometheus /metrics endpoint
--tls turn on TLS support
--tls-cert string TLS certificate path
--tls-key string TLS key path
-v, --version version for rest-server
Systemd
Wer noch ein passendes systemd File benötigt.
[Unit]
Description=Rest Server
After=syslog.target
After=network.target
[Service]
Type=simple
User=rest-server
Group=rest-server
ExecStart=/usr/local/bin/rest-server --private-repos --tls --tls-cert /mnt/rest-server/<DOMAIN>/fullchain.pem --tls-key /mnt/rest-server/<DOMAIN>/key.pem --path /mnt/rest-server
Restart=always
RestartSec=5
# Optional security enhancements
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/mnt/rest-server
[Install]
WantedBy=multi-user.target