Skip to content

Distributed file storage system based on IPFS. Centralized controller.

Notifications You must be signed in to change notification settings

Ayana-chan/ipfs_storage_cruster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

Architecture:

Upload process:

Download process:

Crates Introduction

  • deserialize_form_style_query_parameter: A tiny tool to deserialize complex query param. Used in ipfs_pin_service_axum_api_framework which is not used.
  • ipfs_pin_service_axum_api_framework: API framework of IPFS pin service. Not used.
  • ipfs_node_wrapper: The core code of Wrapper. Almost only get_file API (in public handler) is used.
  • ipfs_node_wrapper_app: Wrapper APP. Bin crate.
  • ipfs_node_wrapper_client: A client to contact Wrapper's admin API. Almost not used yet.
  • ipfs_node_wrapper_structs: Data structures of Wrapper. Help build the client of Wrapper.
  • ipfs_storage_cruster_manager: The core code of Manager.
  • ipfs_storage_cruster_manager_app: Manager APP. Bin crate.
  • ipfs_storage_cruster_manager_entity: Database structures (ORM entities). Generated by sea-orm.
  • tiny_ipfs_client: A tiny IPFS client to access IPFS RPC and gateway (Turn on no_gateway feature to only access RPC).

Environment variables are read and logs are configured in bin crate.

How to Build and Deploy

Run make build-all at root directory of this project to build two docker image. It may take some time to download dependencies (Update xxx Index), but they won't be downloaded next time if the dependency tree is not changed.

Run docker compose up or docker-compose up to run project by docker compose (3 salve node). See Makefile for more information.

Modify APP_LOG in docker-compose.yml to change the level of the log filter.

About

Distributed file storage system based on IPFS. Centralized controller.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages