diff --git a/blueprints/rustfs/docker-compose.yml b/blueprints/rustfs/docker-compose.yml new file mode 100644 index 00000000..cbedbae6 --- /dev/null +++ b/blueprints/rustfs/docker-compose.yml @@ -0,0 +1,20 @@ +version: "3.8" + +services: + rustfs: + image: rustfs/rustfs:latest + volumes: + - rustfs-data:/data + environment: + - RUSTFS_ACCESS_KEY + - RUSTFS_SECRET_KEY + - RUSTFS_ADDRESS=0.0.0.0:9000 + - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001 + - RUSTFS_CONSOLE_ENABLE=true + - RUSTFS_CORS_ALLOWED_ORIGINS=* + - RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS=* + command: /data + restart: unless-stopped + +volumes: + rustfs-data: diff --git a/blueprints/rustfs/logo.svg b/blueprints/rustfs/logo.svg new file mode 100644 index 00000000..d5cf09f6 --- /dev/null +++ b/blueprints/rustfs/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/blueprints/rustfs/meta-entry.json b/blueprints/rustfs/meta-entry.json new file mode 100644 index 00000000..fc532473 --- /dev/null +++ b/blueprints/rustfs/meta-entry.json @@ -0,0 +1,18 @@ +{ + "id": "rustfs", + "name": "RustFS", + "version": "latest", + "description": "RustFS is a high-performance, S3-compatible distributed object storage system built in Rust. 2.3x faster than MinIO for small objects, with full S3 API compatibility.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/rustfs/rustfs", + "website": "https://rustfs.com/", + "docs": "https://docs.rustfs.com/" + }, + "tags": [ + "storage", + "s3", + "object-storage", + "rust" + ] +} diff --git a/blueprints/rustfs/template.toml b/blueprints/rustfs/template.toml new file mode 100644 index 00000000..8e6f96fb --- /dev/null +++ b/blueprints/rustfs/template.toml @@ -0,0 +1,25 @@ +[variables] +console_domain = "${domain}" +api_domain = "${domain}" +access_key = "rustfsadmin" +secret_key = "${password:16}" + +[config] +env = [ + "RUSTFS_ACCESS_KEY=${access_key}", + "RUSTFS_SECRET_KEY=${secret_key}", + "", + "## SET THE API URL IN CONSOLE CONFIG BY CLICKING THE COG", + "## API URL: ${api_domain}", +] +mounts = [] + +[[config.domains]] +serviceName = "rustfs" +port = 9001 +host = "${console_domain}" + +[[config.domains]] +serviceName = "rustfs" +port = 9000 +host = "${api_domain}" diff --git a/meta.json b/meta.json index a6dbd358..24d5fb18 100644 --- a/meta.json +++ b/meta.json @@ -4907,6 +4907,24 @@ "productivity" ] }, + { + "id": "rustfs", + "name": "RustFS", + "version": "latest", + "description": "RustFS is a high-performance, S3-compatible distributed object storage system built in Rust. 2.3x faster than MinIO for small objects, with full S3 API compatibility.", + "logo": "logo.svg", + "links": { + "github": "https://github.com/rustfs/rustfs", + "website": "https://rustfs.com/", + "docs": "https://docs.rustfs.com/" + }, + "tags": [ + "storage", + "s3", + "object-storage", + "rust" + ] + }, { "id": "rutorrent", "name": "ruTorrent",