mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-29 09:07:30 +08:00
feature (minio): integrate support for minio in the S3 backend - #62
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
<p align="center">
|
||||
A Dropbox-like file manager that let you manage your data anywhere it is located:<br>
|
||||
FTP • SFTP • WebDAV • Git • S3 <br>
|
||||
FTP • SFTP • WebDAV • Git • S3 • Minio <br>
|
||||
Dropbox • Google Drive
|
||||
</p>
|
||||
<p align="center">
|
||||
|
||||
@ -67,7 +67,7 @@ export class Form extends React.Component {
|
||||
if(credentials['webdav'] && credentials['webdav']['path']){
|
||||
this.setState({advanced_webdav: true});
|
||||
}
|
||||
if(credentials['s3'] && credentials['s3']['path']){
|
||||
if(credentials['s3'] && (credentials['s3']['path'] || credentials['s3']['endpoint'])){
|
||||
this.setState({advanced_s3: true});
|
||||
}
|
||||
if(credentials['git'] && (
|
||||
@ -304,6 +304,9 @@ export class Form extends React.Component {
|
||||
<NgIf cond={this.should_appear('s3', 'path')}>
|
||||
<Input type={this.input_type('s3', 'path')} name="path" placeholder="Path" ref={(input) => {this.state.refs.s3_path = input; }} autoComplete="new-password" />
|
||||
</NgIf>
|
||||
<NgIf cond={this.should_appear('s3', 'endpoint')}>
|
||||
<Input type={this.input_type('s3', 'endpoint')} name="endpoint" placeholder="Endpoint" ref={(input) => {this.state.refs.s3_endpoint = input; }} autoComplete="new-password" />
|
||||
</NgIf>
|
||||
</NgIf>
|
||||
<Button type="submit" theme="emphasis">CONNECT</Button>
|
||||
</NgIf>
|
||||
|
||||
@ -56,6 +56,7 @@ module.exports = {
|
||||
// access_key_id: 'my_access_key',
|
||||
// secret_access_key: 'my_secret_key',
|
||||
// advanced: false,
|
||||
// endpoint: 'http://127.0.0.1:9000', // eg: your minio instance
|
||||
// path: '/bucketname/'
|
||||
},
|
||||
dropbox: {label: 'Dropbox'},
|
||||
|
||||
@ -11,12 +11,18 @@ function decode(path){
|
||||
}
|
||||
|
||||
function connect(params){
|
||||
var s3 = new AWS.S3({
|
||||
let config = {
|
||||
apiVersion: '2006-03-01',
|
||||
accessKeyId: params.access_key_id,
|
||||
secretAccessKey: params.secret_access_key,
|
||||
sslEnabled: true
|
||||
});
|
||||
signatureVersion: 'v4',
|
||||
s3ForcePathStyle: true,
|
||||
//sslEnabled: true
|
||||
};
|
||||
if(params.endpoint){
|
||||
config.endpoint = new AWS.Endpoint(params.endpoint);
|
||||
}
|
||||
var s3 = new AWS.S3(config);
|
||||
return Promise.resolve(s3);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user