Skip to content

mindmill/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) 2024 Mind Consulting

Free for private use, easy commercial licensing available here