title: 'SFTP'
icon: '/_assets/icons/ultraviolet-nas.svg'
banner: '/_assets/storage/ssh.jpg'
description: 'Store files over a remote connection using the SSH File Transfer Protocol.'
vendor: 'Wiki.js'
website: 'https://js.wiki'
assetDelivery:
  isStreamingSupported: false
  isDirectAccessSupported: false
  defaultStreamingEnabled: false
  defaultDirectAccessEnabled: false
contentTypes:
  defaultTypesEnabled: ['pages', 'images', 'documents', 'others', 'large']
  defaultLargeThreshold: '5MB'
versioning:
  isSupported: false
  defaultEnabled: false
sync: false
props:
  host:
    type: String
    title: Host
    default: ''
    hint: Hostname or IP of the remote SSH server.
    icon: dns
    order: 1
  port:
    type: Number
    title: Port
    default: 22
    hint: SSH port of the remote server.
    icon: ethernet-off
    order: 2
  authMode:
    type: String
    title: Authentication Method
    default: 'privateKey'
    hint: Whether to use Private Key or Password-based authentication. A private key is highly recommended for best security.
    icon: grand-master-key
    enum:
      - privateKey|Private Key
      - password|Password
    enumDisplay: buttons
    order: 3
  username:
    type: String
    title: Username
    default: ''
    hint: Username for authentication.
    icon: test-account
    order: 4
  privateKey:
    type: String
    title: Private Key Contents
    default: ''
    hint: Contents of the private key
    icon: key
    multiline: true
    sensitive: true
    order: 5
    if:
      - { key: 'authMode', eq: 'privateKey' }
  passphrase:
    type: String
    title: Private Key Passphrase
    default: ''
    hint: Passphrase if the private key is encrypted, leave empty otherwise
    icon: password
    sensitive: true
    order: 6
    if:
      - { key: 'authMode', eq: 'privateKey' }
  password:
    type: String
    title: Password
    default: ''
    hint: Password for authentication
    icon: password
    sensitive: true
    order: 6
    if:
      - { key: 'authMode', eq: 'password' }
  basePath:
    type: String
    title: Base Directory Path
    default: '/root/wiki'
    hint: Base directory where files will be transferred to. The path must already exists and be writable by the user.
    icon: symlink-directory
actions:
  exportAll:
    label: Export All DB Assets to Remote
    hint: Output all content from the DB to the remote SSH server, overwriting any existing data. If you enabled SFTP after content was created or you temporarily disabled it, you'll want to execute this action to add the missing content.
    icon: this-way-up

