Skip to content

Rest-Server v0.13.0 released

Restic
  • Release v0.13.0 des Rest-Servers ist da.

    Changelog

    • Chg #267: Update dependencies and require Go 1.18 or newer
    • Chg #273: Shut down cleanly on TERM and INT signals
    • Enh #271: Print listening address after start-up
    • Enh #272: Support listening on a unix socket

  • 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