Paperclip SFTP is Secure File Transfer Protocol storage for Paperclip
gem 'paperclip-sftp', '~> 1.0.0'
class User < ActiveRecord::Base
has_attached_file :avatar,
storage: :sftp,
sftp_options: {
host: "sftp.example.com",
user: "user",
password: "password",
port: 22
}
end
You can define these options globally, enable this storage for specific environments, etc. Please see Paperclip github page for more details.
It is also possible to specify SSH key for passwordless connection.
class User < ActiveRecord::Base
has_attached_file :avatar,
storage: :sftp,
sftp_options: {
host: "sftp.example.com",
user: "user",
port: 22,
keys: "/path/to/id_rsa.pub"
}
end
All tests are live so in order to run them you need to setup local SFTP server. That will take at most 5 minutes on either MacOS or Linux. Connection is defined in test/test_helper.rb
if you need to change it.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request