Skip to content

divroll/ladon-s3-server

 
 

Repository files navigation

Build Status

Ladon S3 Server

Build your own S3 Server and keep your data safe!

The Ladon S3 Server is built using Java 8-13 and Maven

For > Java 17 look at the java17 branch.

Jetty Example

If you prefer to run it with Jetty have a look at the Jetty example

    mvn package && java -jar ladon-s3-server-jetty/target/ladon-s3-server-jetty-2.3.2.jar

Spring Boot:

    mvn package && java -jar ladon-s3-server-boot/target/ladon-s3-server-boot-2.3.2.jar

Or run Docker:

mvn package &&  docker run -i --network=host  mindconsulting/ladon:2.3.2

Example credentials

  AWSCredentials credentials = new BasicAWSCredentials(
                "rHUYeAk58Ilhg6iUEFtr",
                "IVimdW7BIQLq9PLyVpXzZUq8zS4nLfrsoiZSJanu");

Customize:

The core functions of S3 are mapped to a class called S3Repository. All you have to do is provide a bean of this type.

    @Bean
    S3Repository s3Repository() {
        return new YourCustomRepository();
    }

The request base path for the controller is configured with a property:

s3server.baseUrl=/api/s3

For a quick start there is an example for a file system storage added.

public class FSRepository {...}

If you want to use it, you have to specify the root directory where it will store the data. Default is: {user.home}/.s3server

s3server.fsrepo.root=${user.home}/.s3server

For other configuration options have a look at the application.properties

Supported so far is only access via REST API, no ACL, no policies, no torrent ....

To see what you can build with it have a look at Ladon Data Center Edition

License

Copyright (C) 2021 Mind Consulting

Free for private use, easy commercial licensing available here

About

S3 Java Api Implementation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.9%
  • Dockerfile 0.1%