Rest Server

一、安装

mkdir -p ${HOME}/{compose,appdata}/rest-server
vim ${HOME}/compose/rest-server/compose.yaml
services:
  rest-server:
    image: restic/rest-server
    container_name: rest_server
    ports:
      - 8000:8000
    volumes:
      - /home/k1rin/appdata/rest-server:/data

⚠️注意更改 compose.yaml 中的持久化地址,这里用不了 ${HOME} 是因为会将其扩展为 /root 而非 /home/k1rin

cd ${HOME}/compose/rest-server
docker compose pull
docker compose up -d

二、配置

2.1 创建 rest-server 用户

docker exec -it rest_server create_user [username] [password]

2.2 使用 Caddy 进行反向代理

sudoedit /etc/caddy/Caddyfile
rest.example.com {
        tls /home/acme/certs/example.com.fc.crt /home/acme/certs/example.com.pem
        reverse_proxy 172.17.0.1:8000
}
sudo caddy fmt --overwrite /etc/caddy/Caddyfile
sudo systemctl reload caddy

三、使用

设置如下环境变量:

RESTIC_REPOSITORY='rest:https://rest.example.com/[reponame]'
RESTIC_PASSWORD='1234567890'
RESTIC_REST_USERNAME='[username]'
RESTIC_REST_PASSWORD='[password]'

正常执行 restic 命令。

注意事项

data|index|keys|locks|snapshots 是保留字,不能作为仓库名称。