{{define "admin_storage.html"}}{{template "base" .}}{{end}} {{define "content"}} Operator console {{.Data.PageTitle}} Local storage is always active. Remote backends are proxied through Warpbox. {{if .Data.Error}}{{.Data.Error}}{{end}} {{range .Data.Storage}} {{if eq .Config.Type "local"}}{{template "icon-hard-drive" $}} {{else if eq .Config.Type "sftp"}}{{template "icon-database" $}} {{else if eq .Config.Type "smb"}}{{template "icon-folder" $}} {{else if eq .Config.Type "webdav"}}{{template "icon-cloud-sync" $}} {{else}}{{template "icon-cloud-upload" $}}{{end}} {{.Config.Name}} {{if eq .Config.Provider "contabo"}}Contabo{{else if eq .Config.Type "sftp"}}SFTP{{else if eq .Config.Type "smb"}}Samba{{else if eq .Config.Type "webdav"}}WebDAV{{else if eq .Config.Type "s3"}}S3{{else if eq .Config.Type "local"}}Local files{{else}}{{.Config.Type}}{{end}} {{if eq .Config.ID "local"}}Required {{else if .Config.Enabled}}Enabled {{else}}Disabled{{end}} {{if .UsageLabel}}{{.UsageLabel}}{{end}} Test {{if ne .Config.ID "local"}} Edit {{if .Config.Enabled}} Disable {{end}} Delete {{end}} {{/* View-mode summary */}} {{if eq .Config.Type "local"}} Path{{.Config.LocalPath}} {{else if or (eq .Config.Type "s3") (eq .Config.Provider "contabo")}} {{if .Config.Endpoint}}Endpoint{{.Config.Endpoint}}{{end}} {{if .Config.Bucket}}Bucket{{.Config.Bucket}}{{end}} {{if .Config.Region}}Region{{.Config.Region}}{{end}} {{if .Config.AccessKey}}Access key{{.Config.AccessKey}}{{end}} {{else if eq .Config.Type "sftp"}} {{if .Config.Host}}Host{{.Config.Host}}{{if .Config.Port}}:{{.Config.Port}}{{end}}{{end}} {{if .Config.Username}}Username{{.Config.Username}}{{end}} {{if .Config.RemotePath}}Remote path{{.Config.RemotePath}}{{end}} {{else if eq .Config.Type "smb"}} {{if .Config.Host}}Host{{if .Config.Domain}}{{.Config.Domain}}\{{end}}{{.Config.Username}}@{{.Config.Host}}/{{.Config.Share}}{{end}} {{if .Config.RemotePath}}Remote path{{.Config.RemotePath}}{{end}} {{else if eq .Config.Type "webdav"}} {{if .Config.Endpoint}}URL{{.Config.Endpoint}}{{end}} {{if .Config.Username}}Username{{.Config.Username}}{{end}} {{if .Config.RemotePath}}Remote path{{.Config.RemotePath}}{{end}} {{end}} {{if not (.Config.LastTestedAt.IsZero)}} Last test {{.Config.LastTestedAt.Format "Jan 2, 15:04"}} · {{if .Config.LastTestSuccess}}Passed{{else}}{{if .Config.LastTestError}}{{.Config.LastTestError}}{{else}}Failed{{end}}{{end}} {{end}} {{/* Edit-mode form — hidden via CSS until .is-editing */}} {{if ne .Config.ID "local"}} Storage kind S3 bucket Contabo Object Storage SFTP Samba WebDAV Name Endpoint Region Bucket Access key Secret key Use TLS Path-style lookup Host Port Share Domain Username Password Private key SSH host key{{.Config.HostKey}} WebDAV URL Remote path Save changes Cancel {{end}} {{end}} {{/* Add storage section */}} {{template "icon-plus-circle" .}} Add storage Choose a backend type {{template "icon-cloud-upload" .}} S3 Bucket Generic S3-compatible object storage {{template "icon-cloud-upload" .}} Contabo Object Storage Optimized settings for Contabo COS {{template "icon-database" .}} SFTP SSH file transfer to a server or NAS {{template "icon-folder" .}} Samba / SMB Windows share or network attached storage {{template "icon-cloud-sync" .}} WebDAV Nextcloud, ownCloud, or any WebDAV server {{template "icon-cloud-upload" .}} New storage backend S3 bucket Storage kind S3 bucket Contabo Object Storage SFTP Samba WebDAV Name Endpoint Region Bucket Access key Secret key Use TLS Path-style lookup Host Port Share Domain Username Password Private key SSH host key WebDAV URL Remote path Add storage Cancel {{end}}
Operator console
Local storage is always active. Remote backends are proxied through Warpbox.
{{.Data.Error}}
{{.Config.LocalPath}}
Choose a backend type